Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при создании CLR сборки на MS SQL Server 2012 / 4 сообщений из 4, страница 1 из 1
25.09.2018, 13:55
    #39707684
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании CLR сборки на MS SQL Server 2012
Здравствуйте, у меня есть 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
25.09.2018, 14:54
    #39707735
Const123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании CLR сборки на MS SQL Server 2012
ASukhov1986,
А из бинарной сборки собирается?
А еще проверь окружение компилятора, может он какие-то депенденси в итоговом коде не находит, впрочем, если dll получилась, то это уже хорошо.
...
Рейтинг: 0 / 0
25.09.2018, 15:24
    #39707759
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при создании CLR сборки на MS SQL Server 2012
ASukhov1986,

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

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


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