Есть интересная штука связаная с ней. CREATE ASSEMBLY FROM деректива позваляет загрузить набор таких функции на C# в SQL сервер из dll. Т.е. после FROM следует абсалютный путь к dll с этими функциями. Но у нас возникла загвоздка с тем что скрипт установки базы запускаеться на боксе приложения, а база находиться на другой машине, соответственно sql server не может получить доступ к этой dll. Вообщем самый рабочий и оригиналльный способ придумали наши товарищи из поднебесной, после FROM они вставляют непосредственно бинарный код dll. Вообщем отжиг ещё тот, но лучше и надёжнее ничего лично я придумать не смог. А вот тут CREATE ASSEMBLY using assembly binary есть код на с#, как dll побыстрому преобразовать в такую вот бинарную строку.
- public string GetAssemblyBits(string assemblyPath)
- {
- StringBuilder builder = new StringBuilder();
- builder.Append("0x");
- using (FileStream stream = new FileStream(assemblyPath,
- FileMode.Open, FileAccess.Read, FileShare.Read))
- {
- int currentByte = stream.ReadByte();
- while (currentByte > -1)
- {
- builder.Append(currentByte.ToString("X2", CultureInfo.InvariantCulture));
- currentByte = stream.ReadByte();
- }
- }
- return builder.ToString();
- }
обосраться!
ОтветитьУдалить