我似乎无法连接到我在脚本任务中的SSIS包中设置的数据库连接。这是我的代码,它是OleDB连接。
public void Main()
{
// TODO: Add your code here
OleDbConnection myOleDbConnection = new OleDbConnection();
myOleDbConnection = (OleDbConnection)(Dts.Connections["Connection"].AcquireConnection(Dts.Transaction) as OleDbConnection);
MessageBox.Show(myOleDbConnection.ConnectionString, "OleDB Connection");
Dts.TaskResult = (int)ScriptResults.Success;
}
我收到以下异常
答案 0 :(得分:0)
连接管理器的AcquireConnection()方法返回一个非托管对象,在Oledb
的情况下,它返回本机COM object
。因此,如果可能,请在您的方案中使用Ado.net connection
。
如果你想坚持Oledb,那么这是一个解决方法。
ConnectionManager cm = Dts.Connections["Connection"];
IDTSConnectionManagerDatabaseParameters100 cmParams = cm.InnerObject as
IDTSConnectionManagerDatabaseParameters100;
OleDbConnection myOleDbConnection = cmParams.GetConnectionForSchema() as OleDbConnection;