понедельник, 12 марта 2012 г.

some stuff with SMO and Integration Services.

И вот наступил следующий этап моих странствований по чудному и полному тайн миру SMO библиотек. Поставил я себе задачу, которая заключается в удаленном управлении сервером(управление  базами данных, создании таблиц и так далее), но как всегда есть одно маленькое НО. На машине на которой устанавливается приложение не установлен SQL Server.
Сразу небольшая оговорка ВСЕ ниже перечисленные dll все таки придется где то взять на сколько мне известно все эти dll - ки можно использовать для коммерческого использования.
Поясню. В referances прицеплены все необходимые dll и они же и используются(сразу дабы отсечь умников, которые бы сказали ну так ты их прицепил а вот используешь совсем не те).
Вот список этих dll
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SmoExtended

Так что тут все в норме. Так запустив приложение натыкаемся на такую вот ошибку
The Integration Services component is not installed  or you do not have permission to use it.
Ошибка понятна и прозрачна. Возникает из за того что при вызове метода TransferData() идет загрузка такой вот штуки Microsoft.SqlServer.DtsTransferProvider, Microsoft.SQLServer.DTSRuntimeWrap.dll,
Microsoft.SQLServer.ManagedDTS.dll  и еще несколько других dll которые регестрятся в GAC при установке Integration Services.
 И вот вы потратив пару десятков минут и прицепив все необходимые dll получаете, что то вроде
этого:


 "An Integration Services class cannot be found. Make sure that Integration Services is
  correctly installed on the computer that is running the application. Also, make sure that the 64-bit version
  of Integration Services is installed if you are running a 64-bit application. "



Integration Services НАДО СТАВИТЬ. Что с моей точки зрения немного не удобно для разработчиков. Проблему можно попробовать решить при помощи выполнения удаленных Package - ей, что не совсем то, что хотелось. В следующем посте расскажу каким образом будем выкручиваться из сложившихся, сжимающих нас рамок.  

Комментариев нет:

Отправить комментарий