powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при создании CLR сборки на MS SQL Server 2012
4 сообщений из 4, страница 1 из 1
Ошибка при создании CLR сборки на MS SQL Server 2012
    #39707684
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, у меня есть dll, написанная на C#, содержит следующие классы:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
namespace DbServices
{
    public class JsonType
    {
        public string Key { get; set; }
        public string Value { get; set; }

    }
}



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
using System.Collections.Generic;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using Newtonsoft.Json;

namespace DbServices
{
    public class UserDefinedFunctions
    {

        /// <summary>
        /// Метод конвертирования JSON строки в строго типизированную коллекцию
        /// </summary>
        /// <param name="jsonSource">Json строка. Шаблон строки: [{"Key": "Key_Value1", "Value": "Value_Value1"},{"Key": "Key_Value2", "Value": "Value_Value2"},...]</param>
        /// <returns></returns>
        [SqlFunction(FillRowMethodName = "FillRow")]
        public IEnumerable<JsonType> JsonDeserializeObject(string jsonSource)
        {
            return JsonConvert.DeserializeObject<JsonType[]>(jsonSource);
        }

        //Этот служебный метод нужен для получения одной строки набора данных и приведения её
        public static void FillRow(JsonType row, out SqlString key,out SqlString value )
        {
            key = row.Key;
            value = row.Value;
        }

    }
}



На MS SQL Server выполняю следующие действия:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
sys.sp_configure @configname = 'show advanced options', -- varchar(35)
    @configvalue = 1 
-- int
    GO
RECONFIGURE
    GO
sys.sp_configure @configname = 'clr enabled', -- varchar(35)
    @configvalue = 1 
-- int
    GO
RECONFIGURE
    GO
USE DBExamples;
    GO
ALTER DATABASE DBExamples SET TRUSTWORTHY ON
    GO
USE DBExamples;
    GO
CREATE ASSEMBLY ClrDbServices AUTHORIZATION dbo FROM 'c:\ExampleProgramms\MS SQL SERVER\SQLCLR\Utils\Utils\bin\Release\DbServices.dll'
WITH PERMISSION_SET = UNSAFE




Последняя команды выполняется с ошибкой:
Сообщение 10301, уровень 16, состояние 1, строка 1
Assembly 'DbServices' references assembly 'system.runtime.serialization, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089.', which is not present in the current database. SQL Server attempted to locate and automatically load the referenced assembly from the same location where referring assembly came from, but that operation has failed (reason: 2(Не удается найти указанный файл.)). Please load the referenced assembly into the current database and retry your request.

Вопрос: Как устранить данную ошибку?
P.S.
Библиотеку Newtonsoft.Json.dll я загружал через NuGet.
...
Рейтинг: 0 / 0
Ошибка при создании CLR сборки на MS SQL Server 2012
    #39707735
Const123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,
А из бинарной сборки собирается?
А еще проверь окружение компилятора, может он какие-то депенденси в итоговом коде не находит, впрочем, если dll получилась, то это уже хорошо.
...
Рейтинг: 0 / 0
Ошибка при создании CLR сборки на MS SQL Server 2012
    #39707759
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASukhov1986,

оно вам ругается что в вашей сборке есть ссылка на сборку сериализации. ее тоже необходимо загрузить.
...
Рейтинг: 0 / 0
Ошибка при создании CLR сборки на MS SQL Server 2012
    #39707764
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ffASukhov1986,

оно вам ругается что в вашей сборке есть ссылка на сборку сериализации. ее тоже необходимо загрузить.
Автор темы - гуглите по "CREATE ASSEMBLY System_Runtime_Serialization".
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при создании CLR сборки на MS SQL Server 2012
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]