|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Написал библиотеку, которая делает soap-запрос и возвращает данные в mssql в виде таблицы. Сначала wsdl был кривой, запрос приходилось делать через вебреквест, отправляя постом xml-текст, ответ дербанить через XmlDocument, но все работало. Потом wsdl починили, библиотека сократилась до нескольких строк, но create assembly работать перестало и начало выдавать ошибку Assembly 'SOAP1C' references assembly system.runtime.serialization и т.д. Эксперимента ради скопировал system.runtime.serialization.dll к SOAP1C.dll, но serialization потащила свои собственные зависимости. Скопировал SOAP1C в папку ко фреймворку, все в итоге обломилось на библиотеке, заголовок которой mssql не смог разобрать. Однако здесь http://www.t-sql.ru/post/SMSCLR.aspx автор тоже делает soap-клиента к mssql (только у него web reference, а у меня service reference), и у него проблем нет. Что же я делаю не правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 15:27 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Полный текст ошибки авторAssembly 'SOAP1C' 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 15:30 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
AntonariyЧто же я делаю не правильно? всякую каку на сервер тащишь ЗЫ это моё личное мнение - нехер на сервер всякие java и clr тащить ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 15:45 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Antonariy, Для CLR по SOAP нужно 2 библиотеки. Основная деплоится автоматически, serialization - надо подтягивать вручную. Но не в папку к фреймворку, а к самой сборке Под рукой нет сервера с CLR, но по памяти примерно так: Стать на каталог Assemblies - добавить библиотеку, выбрать serialization из папки с релизом С свойствах проекта должна стоять галочка "Генерировать serialization " ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 17:24 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Генерировал, но она сама ссылается на runtime.serialization авторСтать на каталог Assemblies - добавить библиотеку, выбрать serialization из папки с релизом С свойствах проекта должна стоять галочка "Генерировать serialization " это непонятно. генерировал serialization как указано в ссылке, да и в принципе не ясно, зачем она нужна, на нее же даже ссылок нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 20:47 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Antonariyавтор тоже делает soap-клиента к mssql (только у него web reference, а у меня service reference), и у него проблем нет. Что же я делаю не правильно? Service reference в CLR-сборках для SQL Server не надо использовать. Смотрим сюда: https://msdn.microsoft.com/en-us/library/ms403279.aspx. Это список системных сборок, которые загружаются автоматически. Ищем там System.Runtime.Serialization.dll... и не находим. Поэтому если мы хотим использовать эту сборку, то её (и все зависимые сборки) тоже необходимо опубликовать в БД с помощью CREATE ASSEMBLY..., но при установке любого обновления windows update, которые меняют сборки .net есть шанс, что все сломается и придется обновлять эти системные сборки в БД. Так что используйте Web Reference и будет все хорошо. Antonariyэто непонятно. генерировал serialization как указано в ссылке, да и в принципе не ясно, зачем она нужна, на нее же даже ссылок нет. Сборка XmlSerializers нужна, так как для сериализации и десериализации Web Reference использует класс XmlSerializer, который налету генерирует временные сборки. Что в процессе SQL Server не работает. Поэтому нужны предварительно скомпилированные классы для сериализации/десериализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 09:44 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Antonariyкоторая делает soap-запрос и возвращает данные в mssql в виде таблицы. Код: c# 1.
Если организовать по такой схеме, то можно использовать полноценный .Net Framework в процессе MSSQL. Такое работает с MSSQL2000 + .Net2. На других версиях не проверял. зы: Как советовали выше, лучше бросить заниматься мутотой и перейти на 3-х звенку. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 10:06 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
VAlexeyAntonariyавтор тоже делает soap-клиента к mssql (только у него web reference, а у меня service reference), и у него проблем нет. Что же я делаю не правильно? Service reference в CLR-сборках для SQL Server не надо использовать. Смотрим сюда: https://msdn.microsoft.com/en-us/library/ms403279.aspx. Это список системных сборок, которые загружаются автоматически. Ищем там System.Runtime.Serialization.dll... и не находим. Поэтому если мы хотим использовать эту сборку, то её (и все зависимые сборки) тоже необходимо опубликовать в БД с помощью CREATE ASSEMBLY..., но при установке любого обновления windows update, которые меняют сборки .net есть шанс, что все сломается и придется обновлять эти системные сборки в БД. Так что используйте Web Reference и будет все хорошо.Понял. Тут проблема лишь в том, что сервис, к которому я обращаюсь, не воспринимает запросы, сформированные через Web Reference, ошибку выдает. VAlexeyAntonariyэто непонятно. генерировал serialization как указано в ссылке, да и в принципе не ясно, зачем она нужна, на нее же даже ссылок нет. Сборка XmlSerializers нужна, так как для сериализации и десериализации Web Reference использует класс XmlSerializer, который налету генерирует временные сборки. Что в процессе SQL Server не работает. Поэтому нужны предварительно скомпилированные классы для сериализации/десериализации.А как ее использовать в проекте? Скомпилировать и подключить вместо XmlSerializer? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 10:31 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
AntonariyА как ее использовать в проекте? Скомпилировать и подключить вместо XmlSerializer? Нет. Если используется конструктор XmlSerializer с 1 параметром, то сборка XmlSerializers загружается автоматически. Reference на нее не требуется. В случае CLR сборок, сборка XmlSerializers должна быть опубликована так же как и основная сборка (CREATE ASSEBLY имясборки.XmlSerializers FROM '<путь к файлy>') после публикации основной сборки. AntonariyПонял. Тут проблема лишь в том, что сервис, к которому я обращаюсь, не воспринимает запросы, сформированные через Web Reference, ошибку выдает. Либо полностью отказаться вызывать из SQL, либо использовать промежуточный веб-сервис, который будет дергать в нужном формате. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:41 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
VAlexeyЛибо полностью отказаться вызывать из SQL, либо использовать промежуточный веб-сервис, который будет дергать в нужном формате.Либо использовать простой веб реквест, как я и делаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:54 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
Antonariy, Примерно так как тут написано Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 13:36 |
|
Clr-хранимка тащит вагон зависимостей.
|
|||
---|---|---|---|
#18+
VAlexeyAntonariyА как ее использовать в проекте? Скомпилировать и подключить вместо XmlSerializer? Нет. Если используется конструктор XmlSerializer с 1 параметромНе понял. С каким набором параметров не вызывай, он сам находится в System.Xml.Serialization, и негодная зависимость от нее тащится в любом случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 17:10 |
|
|
start [/forum/topic.php?fid=20&msg=39324216&tid=1400298]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 260ms |
total: | 392ms |
0 / 0 |