Я создал настраиваемый диспетчер соединений для SSDT BI (SSIS), который будет подключаться к базе данных Oracle, используя библиотеку доступа к данным Oracle (Oracle.ManagedDataAccess.dll).SSDT BI Менеджер пользовательских подключений AccessViolationException
На моей машине разработки этот диспетчер соединений и компонент конвейера «источник данных», который идет с ним, будут работать нормально. Когда я развертываю пакет на сервере и пытаюсь его запустить, пакет всегда будет работать с «AccessViolationException».
Сервер работает под управлением Windows Server 2012R2 с Sql Server 2014
До сих пор, отладка не дает мне много информации. Когда я ступаю по моему коду, мой пустой конструктор по умолчанию получает вызов, но ничего больше. Как только он выйдет из конструктора, я получаю исключение. Никакие другие методы внутри моего пользовательского класса никогда не называются.
Вот информация, которая сбрасывается в журнал событий Windows.
Применение: ISServerExec.exe Framework версии: v4.0.30319 Описание: Процесс был прекращен из-за необработанного исключения. Exception Информация: System.AccessViolationException Stack: в Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.LoadPackageFromXML (System.Object, Boolean, Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSEvents100) в Microsoft.SqlServer. Dts.Runtime.Wrapper.IDTSPackagePersist100.LoadPackageFromXML (System.Object, Boolean, Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSEvents100) в Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML (System.String, Microsoft.SqlServer. Dts.Runtime.IDTSEvents) в Microsoft.SqlServer.Dts.Runtime.Project.LoadPackage (Microsoft.SqlServer.Dts.Runtime.IProjectStorage, Microsoft.SqlServer.Dts.Runtime.Package, System.String, Microsoft.SqlServer.Dts. Runtime.IDTSEvents) в Microsoft.SqlServer.Dts.Runtime.PackageItem.Load (Microsoft.SqlServer. Dts.Runtime.IDTSEvents) в Microsoft.SqlServer.Dts.Runtime.PackageItem.LoadPackage (Microsoft.SqlServer.Dts.Runtime.IDTSEvents) в Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ISServerExecutionEvents.LoadPackage (Microsoft.SqlServer. Dts.Runtime.PackageItem) на Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ProjectOperator.StartPackage() в Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ProjectOperator.PerformOperation() в Microsoft.SqlServer.IntegrationServices.Server. ISServerExec.ExecuteMain.Main (System.String [])
Я дал учетную запись службы, используемую для запуска всех пакетов .dtsx, полного доступа администратора к серверу и по-прежнему имеет такую же проблему. Есть ли вероятность, что вы сможете точно узнать, что изменилось? – nitedmn
Я спросил своего администратора базы данных, он ответил: «DLL не была зарегистрирована на хостинге SQL Server. Была установлена собственная установка для исходной системы, к которой обращался код C#». –
Вам это помогло? –