Файл Windows Bat, запущенный из Autosys — не удалось загрузить sqljdbc_auth.dll

#windows #batch-file #autosys

#Windows #пакетный файл #autosys

Вопрос:

У меня есть вопрос, и мне интересно, могли бы вы, ребята, помочь.. Вот подробности —

Поток программы -> Задание Autosys -> Задание Windows .bat по сетевому пути -> Внутренние вызовы Java-программы вместе с несколькими другими компонентами

Когда .bat запускается через задание Autosys, он выдает предупреждение ниже и выполняет частичную обработку и завершает работу без каких-либо сбоев (я предполагаю, что внутренний код может не иметь хорошей обработки ошибок .. но, к сожалению, у меня нет доступа к просмотру / изменению того же самого). Однако, когда я вхожу в это окно Windows и запускаю файл .bat из командной строки, он работает как шарм и не выдает ошибок.

Предупреждение в журналах — «ПРЕДУПРЕЖДЕНИЕ: не удалось загрузить sqljdbc_auth.dll «

Что я пробовал — я попытался создать файл оболочки bat на диске Windows C (не сетевой путь, в котором находится фактический .bat) и поместил sqljdbc_auth.dll в этой пользовательской папке. Задание отправлено в SU после частичной обработки.

Ценю вашу помощь.

Большое спасибо, Радж

Ответ №1:

Я подозреваю, что есть path ошибка. Попробуйте echo %path% непосредственно перед вызовом вашего пакета, даже просто запустить

 echo %path%>alogfile
call yourbatch
  

и если отображаемый path не включает каталог, в котором ваш .dll находится, добавьте ее в path перед вызовом yourbatch.

Вполне может быть, что your logon включает требуемый каталог как часть your определяемого пользователем path , а имя пользователя, под которым выполняется задание, не включает каталог.

Или вы могли бы попробовать переместить DLL куда-нибудь вроде system32 , который должен быть общим для всех.

(Windows должна использовать стандартный алгоритм сканирования пути, чтобы найти любую требуемую DLL, которая не вызывается по полному пути)