Не найдено имя источника данных и не указан драйвер по умолчанию ". Не удалось получить соединение" DestinationConnectionOLEDB " - PullRequest
2 голосов
/ 23 мая 2019

Я создал пакет служб SSIS для импорта Excel в SQL.Я установил строку подключения и путь к файлу Excel по выражению.

После этого я пытаюсь вызвать пакет из приложения WPF c # по

Microsoft.SqlServer.Dts.Runtime.DTSExecResult и передать значение строки подключения и Excelдорожка.Мой код, как показано ниже

Application app = new Application();
Package package = null;
//Load the SSIS Package which will be executed
package = app.LoadPackage("D:\\EMS-Docs\\new\\SSIS\\SSISProject\\obj\\Development\\Package2.dtsx", null);
//Pass the varibles into SSIS Package

//Microsoft.SqlServer.Dts.Runtime.Variables myVars = package.Variables;

package.Variables["User::EXLPath"].Value = "D:\\EMS-Docs\\SSIS\\PRACTICAL_1901_LOT-2.xls";
package.Variables["User::SQLConn"].Value = GlobalClass.TransactionalDBConnectionString;


//Execute the SSIS Package and store the Execution Result
Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute();

Ошибка

Код ошибки SSIS DTS_E_OLEDBERROR.Произошла ошибка OLE DB.Код ошибки: 0x80004005.Доступна запись OLE DB.Источник: «Поставщик Microsoft OLE DB для драйверов ODBC». Результат: 0x80004005 Описание: «[Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию».Не удалось получить соединение "DestinationConnectionOLEDB".Возможно, соединение настроено неправильно или у вас нет необходимых разрешений для этого соединения.

1 Ответ

1 голос
/ 24 мая 2019

Причина ошибки

Основная ошибка:

"[Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию"

Это означает, что основная проблема связана с диспетчером соединений или строкой соединения.

Возможные решения

  1. Убедитесь, что вы установили диспетчер соединений и задачи потока данных.Delay Validation свойство для True
  2. Убедитесь, что вы передаете допустимое значение строки подключения, выполнив пакет из Visual Studio с тем же значением переменной.
  3. Убедитесь, что режим приложения(32-битная / 64-битная) идентична версии драйвера ODBC.Например: если у вас установлен 32-битный драйвер ODBC, убедитесь, что вы запускаете приложение в 32-битном режиме
  4. Если вы подключаетесь к SQL Server, вы можете использовать собственный клиент SQL или Microsoft OLEDB Provider дляSQL Server вместо поставщика ODBC

Дополнительная информация

Кроме того, вы можете обратиться к следующей статье базы знаний для получения дополнительной информации о возможных причинах / решениях ошибок:

...