2013-04-03 5 views
3

У меня есть проблемы с подключением к ODBC, используемого в качестве пакетного задания: при выполнении, у меня есть следующее сообщение об ошибке:динамика AX пакетное задание через ODBC

«В ODBC операции failed.Unable для подключения к базе данных Invalid соединение Строка атрибута Trusted_Connection Unabe создать объект «OdbcConnection» "

Я пытаюсь подключиться к базе данных Access, я использую следующий код:

LoginProperty     loginProperty; 
OdbcConnection    odbcConnection; 
; 
loginProperty = new LoginProperty(); 
loginProperty.setDSN("MyDSN"); 
loginProperty.setDatabase("MyDatabase"); 

odbcConnection = new OdbcConnection(loginProperty); 

при отладке, то CR пепел на odbcConnection = новый OdbcConnection (loginProperty). Я тестировал один и тот же код в задании при выполнении локального клиента, не было никаких проблем, и он работал нормально (без определения пароля для входа в код или DSN). Мой DSN, похоже, в порядке на AOS, я использую AX 2009 без SP1, я видел несколько примеров, где был логин/пароль, определенный в объекте loginProperty, методы setUserName() и setPassword() недоступны в моей версии AX loginProperty объект. Мой класс выполняется на стороне сервера (как любое пакетное задание).

Есть ли какая-то определенная настройка для подключения к источнику данных ODBC посредством пакетной работы?

любые идеи или предложения?

спасибо за вашу помощь

Edit: AOS работает на сервере Windows 2003 32 бит, ODBC протестирована на нем, отлично работает, но не работает в AX через пакетное задание

ответ

3

Скорее всего, вам нужно будет 32-разрядное соединение DSN для вашего AX. Я бы создал обе версии на сервере AOS.

Подробнее см. here.

1

Это может быть вызвано из-за разрешений. «доверенное соединение» относится к тому факту, что вы подключаетесь к базе данных через пользователя , зарегистрированного на текущий сеанс. Когда вы запускаете Job из AX-клиента, это выполняется с пользователем, который запускает текущий клиент AX (тот, который регистрируется в активном сеансе); Когда код выполняется с сервера в пакетном задании, код выполняется через пользователя , который запускает службу окон AOS.

Имеет ли этот пользователь разрешения для чтения/записи/доступа к файлу доступа и каталогу?

1

Если вы используете 64-битную машину, используйте C: \ Windows \ SysWOW64 \ odbca32.exe для создания источника данных. Проверьте, под каким идентификатором запускается AOS, войдите в систему с этим идентификатором и убедитесь, что вы можете «видеть» источник данных. Также убедитесь, что учетная запись AOS имеет доступ к каталогу/файлам (при использовании файлового odbc)

Смежные вопросы