2014-12-10 2 views
0

Я не могу подключиться к соединению с базой данных, которое было настроено в пакете SSIS внутри задачи сценария. Вот мой код, это соединение OleDB.Не удается подключиться к источнику данных Задача сценария SSIS

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

+5

@EricHauenstein Я полностью верю, что SSIS содержит все возможные сообщения об ошибках, которые когда-либо разрабатывались. –

+0

Извинения, я выяснил вопрос – psycho

+0

@KyleHale Так как он включает в себя уровень изоляции транзакций «Хаос», я склонен верить вам. Psycho, изображение по-прежнему не загружается для вас. –

ответ

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; 
+0

По какой-то причине я получаю null для cmParams. Любые идеи, почему? –

Смежные вопросы