Ответ 1
Сделаем некоторые предположения здесь, но я собираюсь предположить, что это проблема с 32 и 64 бит. Чтобы проверить, попробуйте эти две команды из командной строки (Windows Key, R, cmd.exe или Start, Run, cmd.exe)
"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
"C:\Program Files\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
Первый будет запускать ваш пакет в 32-битном режиме, а второй - в режиме 64 бит. Это будет иметь значение, так как ваши драйверы и любые созданные вами DSN будут отображаться только в мире с 32/64 бит.
Фиксация SSDT
Как только вы определили, какая из них вам понадобится, возможно, 32-разрядная версия, вам нужно будет убедиться, что ваш проект использует подходящее время выполнения. Щелкните правой кнопкой мыши на своем проекте и выберите "Свойства", а затем перейдите на вкладку "Отладка" в разделе "Свойства конфигурации".
После инвертирования значения Run64BitRuntime я предполагаю, что ваш пакет будет работать из SSDT.
Исправление агента SQL
Вам нужно будет отредактировать существующее задание SQL-агента, чтобы изменить сложность шага задания. Это будет отображаться на вкладке "Конфигурация", а затем на вкладке "Дополнительно". Установите/снимите отметку с 32-разрядной среды выполнения.
Ложь и обман
Наблюдатели могут видеть, что dtexec предлагает опцию /X86
. Не верьте. Единственный способ получить правильную бит-версию - это явно вызвать правильный файл dtexec.exe. Документация даже говорит о многом, но никто не читает документацию.
Этот параметр используется только агентом SQL Server. Этот параметр игнорируется если вы запустите утилиту dtexec в командной строке.