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