AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.10.2012, 11:12   #1  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
RunBaseBatch with Odbc
Добрый день.

Задача состоит в правильном запуске пакетного задания. В пакетном задании необходимо периодически запускать класс который загружает данные из Access.
Для устновки соединения использую ODBC connection(x32).

При запуске класса вручную все срабатывает в рабочем порядке. При использовании покаетного задания выдает следующую ошибку:
"Операция ODBC прервана из-за ошибки.
Не удается пройти авторизацию при подключении к базе данных."
Может у кого-нибудь возникала такая ситуация и есть ли решения?

Извиняюсь если данная тему была уже поднята ранее.
Старый 18.10.2012, 11:36   #2  
kaw is offline
kaw
Участник
 
122 / 35 (2) +++
Регистрация: 23.03.2004
Адрес: Новосибирск
попробуйте в начале метода добавить:

X++:
new ExecutePermission().assert();
За это сообщение автора поблагодарили: sparco (1).
Старый 18.10.2012, 11:36   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,325 / 3548 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Решение в этой теме пробовали? Или не подошло? (Если у Вас х64 сервер)
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: sparco (1).
Старый 18.10.2012, 11:36   #4  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
batch job исполняется на сервере из под аккаунта, под кототорым AOS работает

Последний раз редактировалось lvan; 18.10.2012 в 11:39.
За это сообщение автора поблагодарили: sparco (0).
Старый 19.10.2012, 10:01   #5  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Цитата:
Сообщение от kaw Посмотреть сообщение
попробуйте в начале метода добавить:

X++:
new ExecutePermission().assert();
Попробовал использовать в методе, который просто соединяет с odbc, чтобы проверить будет ли работать. Попытка не удалась.
Старый 19.10.2012, 10:02   #6  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Решение в этой теме пробовали? Или не подошло? (Если у Вас х64 сервер)
И так использую SysWOW64\odbcad32.exe .Не работает.
Старый 19.10.2012, 10:04   #7  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Цитата:
Сообщение от lvan Посмотреть сообщение
batch job исполняется на сервере из под аккаунта, под кототорым AOS работает
используется системный dns, поэтому скорее всего не имеет значение под кем происходит соединение.
Старый 19.10.2012, 15:05   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от sparco Посмотреть сообщение
используется системный dns, поэтому скорее всего не имеет значение под кем происходит соединение.
Вообще-то, при работе с Axapta есть 3 слоя: SQL-сервер - AOS - клиентская машина. Теоретически, все 3 слоя могут быть физически расположены на одном компьютере, но на практике, как правило, они располагаются на 3 разных компьютерах.

Так вот, когда Вы запускаете класс "вручную", то Ваш класс, скорее всего, запускается "на клиенте". Точнее надо смотреть свойтство RunOn класса. Но поскольку по умолчанию это свойство имеет значение "Called From", то, думаю, все-таки на клиенте.

При запуске на клиенте Вы устанавливаете ODBC-соединение между клиетским компьютером и компьютером, на котором установлен Access.

При запуске через пакетное задание запуск выполняется "на сервере". В данном случае, это означает на том компьютере, где физически расположен AOS. Это значит, что используется DNS уже не клиентского компьютера, на котором у Вас "все в порядке", а DNS, того компьютера, на котором расположен AOS. Физически другой компьютер.

Соответственно, Вам надо проверять соединение со стороны AOS. Вполне возможно, что на AOS по другому настроено DNS. Может быть, вообще к другой базе Access.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: sparco (1).
Старый 19.10.2012, 15:34   #9  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Владимир Максимов, Спасибо.
Дело в том что к нас все запускается на одной машине.
Старый 19.10.2012, 16:06   #10  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от sparco Посмотреть сообщение
Дело в том что к нас все запускается на одной машине.
Запускается или находится? С точки зрения любого клиента Axapta все "запускается" именно на его компьютере, но физически это может быть не так.

У Вас AOS физически расположен (инсталирован) на том же компьютере на котором Вы запускали класс "вручную"?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 19.10.2012, 16:11   #11  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от sparco Посмотреть сообщение
используется системный dns, поэтому скорее всего не имеет значение под кем происходит соединение.
Кстати, а как настроена аутентификация в DNS? Там логин и пароль указаны или Windows-аутентификация? Я, правда, не в курсе, возможно ли такое в соединении с Access.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 19.10.2012, 16:28   #12  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
работаем не через windows-аутентификацию, пароль и логин вводим уже непосредственно в аксапте в коде.

AOS физически расположен на том же компьютере на котором и запускал класс вручную.
Старый 19.10.2012, 20:13   #13  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от sparco Посмотреть сообщение
Добрый день.

Задача состоит в правильном запуске пакетного задания. В пакетном задании необходимо периодически запускать класс который загружает данные из Access.
Для устновки соединения использую ODBC connection(x32).

При запуске класса вручную все срабатывает в рабочем порядке. При использовании покаетного задания выдает следующую ошибку:
"Операция ODBC прервана из-за ошибки.
Не удается пройти авторизацию при подключении к базе данных."
Может у кого-нибудь возникала такая ситуация и есть ли решения?

Извиняюсь если данная тему была уже поднята ранее.
Axapta - какая версия?

Цитата:
Сообщение от sparco Посмотреть сообщение
работаем не через windows-аутентификацию, пароль и логин вводим уже непосредственно в аксапте в коде.

AOS физически расположен на том же компьютере на котором и запускал класс вручную.
Зайдите на этот комп под тем же пользователем, под которым AOS запускается. Запустите задачу не в пакете. Получите ту же ошибку. Далее - отладчик вам в помощь.
__________________
Best Regards,
Roman
За это сообщение автора поблагодарили: sparco (1).
Старый 19.10.2012, 22:00   #14  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Axapta 2009.

Спасибо за совет, но зашел, запустил. ошибку не выдает.
Дело в том что ошибка возникает когда пытаюсь создать объект класс OdbcConnection.
В частности при пакетном залании выдает вот такую ошибку
Операция ODBC прервана из-за ошибки.
Не удается пройти авторизацию при подключении к базе данных.

[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
Объект "OdbcConnection" не может быть создан

Последний раз редактировалось sparco; 19.10.2012 в 22:10.
Старый 19.10.2012, 23:40   #15  
sasa2001 is offline
sasa2001
Участник
 
1 / 10 (1) +
Регистрация: 26.02.2009
Судя по тому что у вас есть SysWOW64, у вас x64 OS
Я бы начал с того что прописал DNS
и тут %windir%\system32\odbcad32.exe
и тут %windir%\SysWOW64\odbcad32.exe
Вы написали что используете SysWOW64\odbcad32.exe - это для 32-битного приложения.
Тогда при запуске вручную, если ваш код выполняется на клиенте в 32-битном приложение все должно работать, но при пакетном режиме на сервере в 64-битном приложение по логике работать не должно.
Старый 19.10.2012, 23:47   #16  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от sparco Посмотреть сообщение
.. зашел, запустил. ошибку не выдает..
Точно под тем пользователем зашли, от имени которого AOS запущен (Services - AOS - Properties - Logon - пользователь или Local system) ?
__________________
Best Regards,
Roman
За это сообщение автора поблагодарили: sparco (1).
Старый 24.10.2012, 11:25   #17  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
RVS, Может быть я зашел не так. хотел бы вас попросить как именно необходимо произвести это действие "Services - AOS - Properties - Logon - пользователь или Local system".
Старый 24.10.2012, 12:09   #18  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от sparco Посмотреть сообщение
RVS, Может быть я зашел не так. хотел бы вас попросить как именно необходимо произвести это действие "Services - AOS - Properties - Logon - пользователь или Local system".
Это не действие, это место, где пользователя, под которым AOS запущен, найти.

На компе, где AOS запущен - My Computer - Manage - находим Services, в них находим AOS - Properties - закладка Logon
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 04.02.2016 в 09:52.
За это сообщение автора поблагодарили: Poleax (1), sparco (1).
Старый 24.10.2012, 13:23   #19  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Спасибо.
Скорее всего мы друг друга не понимаем. Дело в том что я нашел где он выдает ошибку, он не может создать ообъект класс OdbcConnection, как писал выше. Но почему он не может его создать, и что именно необходимо сделать посмотреть не удается, так как это системный класс.
Спасибо за неравнодушие, RVS!
Старый 24.10.2012, 13:34   #20  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Может, на машине, где рождается ODBCConnection настроить его в винде?
За это сообщение автора поблагодарили: sparco (1).
Теги
odbc, oracle, runbasebatch

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Update ошибка в ODBC Oracle Link DAX: Программирование 2 03.12.2010 14:58
DeniZone: ODBC with FoxPro Blog bot DAX Blogs 0 14.06.2009 12:05
PatrickChua: Change the combobox options in RunbaseBatch class Blog bot DAX Blogs 0 04.05.2009 14:05
axaptapedia: RunBaseBatch Blog bot DAX Blogs 0 04.04.2009 22:05
axaptapedia: RunBaseBatch Blog bot DAX Blogs 0 31.03.2009 06:06

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:50.