我为 SSDT BI (SSIS) 创建了一个自定义连接管理器,它将使用 Oracle 的托管数据访问库 ( Oracle.ManagedDataAccess.dll ) 连接到 Oracle 数据库。
在我的开发机器上,这个连接管理器和与之配套的自定义“数据源”管道组件可以正常工作。当我将包部署到服务器并尝试运行它时,包总是会失败并出现“AccessViolationException”。
服务器正在运行带有 Sql Server 2014 的 Windows Server 2012R2
到目前为止,调试并没有给我太多信息。当我逐步执行我的代码时,我的空的默认构造函数被调用,但没有别的。一旦它退出构造函数,我就会得到异常。我的自定义类中没有其他方法被调用过。
这是转储到 Windows 事件日志的信息。
应用程序:ISServerExec.exe 框架版本:v4.0.30319 描述:进程因未处理的异常而终止。异常信息:System.AccessViolationException 堆栈:位于 Microsoft.SqlServer.Dts.Runtime 的 Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.LoadPackageFromXML(System.Object, Boolean, Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSEvents100)。 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。