Мы переносим SSIS с SQL 2008 на SQL2014.
Я использую Выполнить задачу процесса
для сопоставления общего ресурса NFS с диском.
Когда я выполните эту команду в обычном CMD (64-битном), тогда она сработает.
Когда я запускаю ее из SSIS, она выходит из строя с кодом ошибки «2».
После некоторого рытья я обнаружил, что когда я запускаю «чистое использование» из 32-битной CMD или 32-битной оболочки PowerShell, которая также не работает.
Таким образом, похоже, что она работает только с 64-битной.
Я поискал в Google и проверил SSIS, и флаг «Run64BitRuntime» установлен на «True». Также на новом компьютере установлена «Служба интеграции».
NFS-клиент, конечно же, также установлен.
Я не могу найти разницы между пакетом на старом сервере и пакетом на новом сервере, как мы копировали весь проект с одного сервера на другой.
Я надеюсь, что кто-нибудь поможет мне найти решение. команда "net use" не требуется в решении.
Если есть другой, возможно, лучший способ доступа к общему ресурсу NFS, я попробую его.
Я нашел обходной путь.
В SSIS «Выполнить задачу процесса»:
В «CreateMapping.ps1»:
& (join-path ($pshome -replace "syswow64", "sysnative") powershell.exe) -Command { net use Q: <IP>:/vol/.... }
Что он на самом деле делает:
Также я прочитал некоторые другие команды для выполнения 64-битной Powershell из 32-битной Powershell, но это была единственная тот, который работал у меня.