Что приводит к сбою задания MLOAD в Windows Server 2003, когда он работает в Windows 7 x64 Professional?
Я создал задание MLOAD с помощью OleLoad на моем компьютере с Windows 7 x64 Professional. Он загружает данные из Oracle 11g в Teradata 14. Все отлично работает, когда я запускаю его локально. Когда я копирую его на удаленный компьютер с Windows Server 2003 с пакетом обновления 2 (SP2) и запускаю его, происходит сбой с кодом ошибки 12 и этим сообщением:
**** 07:30:57 UTY4203 Попытка доступа к входным данным вне диапазона в поле 'LOCATION_CODE', файл 'myjob.amj', номер записи '1'. **** 07:30:57 UTY4023 Предупреждение модуля доступа "33" получено во время Операция "PreserveRestartInfo": "Имя атрибута не распознано прикрепленным AM"
Я открыл свой файл.amj на удаленной машине, чтобы посмотреть, как он будет выглядеть, если я восстановлю его с помощью пользовательского интерфейса OleLoad. После сравнения двух файлов.amj в Beyond Compare я с удивлением увидел, что новый.amj сильно отличается. VARCHAR(214) изменяется на FLOAT, VARCHAR(30) изменяется на VARCHAR(10) и т. Д.
Все сборки TTU 14 на удаленном компьютере соответствуют тому, что я установил локально. Единственное отличие, которое я заметил, - версия Oracle DLL, которую использует OleLoad. Вот что говорит OleLoad на моей машине, когда я нажимаю на Connection Info
для моего соединения с Oracle:
Provider
Name: OraOLEDB11.dll
Version: 11.2.0.1.0
DBMS
Name: Oracle
Version: 11.2.0.3.0
И на машине с Windows Server 2003:
Provider
Name: OraOLEDB.dll
Version: 9.0.1.0.1
DBMS
Name: Oracle
Version: 11g
Теперь, перед тем, как кто-нибудь скажет: "Ну, да! Это твоя проблема!", Я добавлю, что это принесет мне много горя, если мне придется установить новую версию Oracle на мою локальную машину, потому что у меня есть тонна Файлы MLOAD, которые я создал для личных утилит (помощник загружает, если вам нужно, когда бизнесу нужен специальный отчет). Я не могу обновить то, что находится на удаленном сервере, потому что я рискну нарушить все другие задания MLOAD, которые там выполняются.
Я просто хотел упомянуть все это в случае, если это было уместно, но я надеюсь, что это на самом деле не проблема, и что есть способ, которым я могу заставить мой текущий файл работать без необходимости что-либо удалять / переустанавливать / обновлять.
1 ответ
Я считаю, что теория, предложенная в конце моего ОП, была подтверждена. Мне удалось найти машину, на которой был установлен клиент Oracle 11, и перенести туда мои рабочие места. Они работали безупречно, поэтому это, безусловно, проблема с клиентом Oracle 9 против 11.