我将以下代码写入SSIS脚本任务以连接到我的sql数据库:
ConnectionManager cm; System.Data.sqlClient.sqlConnection sqlConn; System.Data.sqlClient.sqlCommand sqlComm; cm = Dts.Connections["QUAHILSQ03"]; sqlConn = (System.Data.sqlClient.sqlConnection)cm.AcquireConnection(Dts.Transaction);
不过这一行:
sqlConn = (System.Data.sqlClient.sqlConnection)cm.AcquireConnection(Dts.Transaction);
返回以下异常:
{“无法将类型为’System .__ ComObject’的COM对象强制转换为类类型’System.Data.sqlClient.sqlConnection’.表示COM组件的类型的实例不能转换为不代表COM组件的类型;但它们可以是只要底层的COM组件支持对接口的IID的QueryInterface调用,就转换为接口.“} System.Exception {System.InvalidCastException}
解决方法
非常简单的修复:我创建了QUAHILSQ03连接管理器作为OLE DB连接.只需将其更改为ADO.NET,我的代码运行正常.