无法连接到数据源SSIS脚本任务

时间:2014-12-10 13:36:05

标签: ssis script-task

我似乎无法连接到我在脚本任务中的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;
    }

我收到以下异常

enter image description here

1 个答案:

答案 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;