SSIS 2014 - карта NFS

Мы переносим SSIS с SQL 2008 на SQL2014.

  • Старая ОС: WINDOWS 2008 R2 SP1
  • Новая ОС: WINDOWS 2012 R2

Я использую Выполнить задачу процесса для сопоставления общего ресурса NFS с диском.

  • Исполняемый файл: C: \ Windows \ System32 \ net.exe
  • Аргументы: используйте Q:: / vol /

Когда я выполните эту команду в обычном CMD (64-битном), тогда она сработает.

Когда я запускаю ее из SSIS, она выходит из строя с кодом ошибки «2».

После некоторого рытья я обнаружил, что когда я запускаю «чистое использование» из 32-битной CMD или 32-битной оболочки PowerShell, которая также не работает.

Таким образом, похоже, что она работает только с 64-битной.

Я поискал в Google и проверил SSIS, и флаг «Run64BitRuntime» установлен на «True». Также на новом компьютере установлена ​​«Служба интеграции».

NFS-клиент, конечно же, также установлен.

Я не могу найти разницы между пакетом на старом сервере и пакетом на новом сервере, как мы копировали весь проект с одного сервера на другой.

Я надеюсь, что кто-нибудь поможет мне найти решение. команда "net use" не требуется в решении.

Если есть другой, возможно, лучший способ доступа к общему ресурсу NFS, я попробую его.

0
задан 26 November 2015 в 11:25
1 ответ

Я нашел обходной путь.

В SSIS «Выполнить задачу процесса»:

  • Исполняемый файл: C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe
  • Аргументы: C: \ path \ to \ script \ CreateMapping.ps1

В «CreateMapping.ps1»:

& (join-path ($pshome -replace "syswow64", "sysnative") powershell.exe) -Command { net use Q: <IP>:/vol/.... }

Что он на самом деле делает:

  1. Запускает сценарий из SSIS в среде PowerShell.
  2. ] Откройте новый сеанс Powershell, но сделайте новый 64-битным
  3. Запустите команду "Net use" из 64-битной версии.

Также я прочитал некоторые другие команды для выполнения 64-битной Powershell из 32-битной Powershell, но это была единственная тот, который работал у меня.

0
ответ дан 5 December 2019 в 11:33

Теги

Похожие вопросы