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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2013, 14:57   #1  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
DSN настроен на клиенте, код тоже выполняется на клиенте?
попробуйте классический пример:

X++:
    LoginProperty loginProperty;
    OdbcConnection odbcConnection;
    
    ;

    // Set the information on the ODBC.
    loginProperty = new LoginProperty();
    loginProperty.setDSN("dsnName");
    loginProperty.setDatabase("databaseName");

    //Create a connection to external database.
    odbcConnection = new OdbcConnection(loginProperty);

Последний раз редактировалось handy-comp; 25.09.2013 в 15:01.
Старый 25.09.2013, 15:10   #2  
eastmouse is offline
eastmouse
Участник
 
10 / 13 (1) ++
Регистрация: 02.03.2009
Адрес: Казань
Цитата:
Сообщение от handy-comp Посмотреть сообщение
DSN настроен на клиенте, код тоже выполняется на клиенте?
попробуйте классический пример:
Все на клиенте, в вашем примере будет использоваться аутентификация Windows, а мне нужно подключиться с аутентификацией SQL.
Старый 25.09.2013, 15:13   #3  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Цитата:
Сообщение от eastmouse Посмотреть сообщение
Все на клиенте, в вашем примере будет использоваться аутентификация Windows, а мне нужно подключиться с аутентификацией SQL.
Вы в настройках DSN указали способ прохождения проверки, логин пароль там же настроили?
Старый 25.09.2013, 15:25   #4  
eastmouse is offline
eastmouse
Участник
 
10 / 13 (1) ++
Регистрация: 02.03.2009
Адрес: Казань
Цитата:
Сообщение от handy-comp Посмотреть сообщение
Вы в настройках DSN указали способ прохождения проверки, логин пароль там же настроили?
Да.
Плюс в коде в строке подключения:

X++:
sConnection = strfmt("MultiSubnetFailover=No;"+
                              "Trusted_Connection=No;"+ // Аут. SQL
                              "DSN=%1;"+
                              "Uid=%2;"+ // пользователь
                              "Pwd=%3", // пароль
                               tbl.DSN, tbl.Usr, tbl.Pwd);
Старый 25.09.2013, 15:29   #5  
eastmouse is offline
eastmouse
Участник
 
10 / 13 (1) ++
Регистрация: 02.03.2009
Адрес: Казань
Решил проблему
На АОС-е настроили DSN для 64 и 32 версий (Win. Serv 64 используется)
Класс перевел в серверный.
Все заработало.
Спасибо всем за ответы.
Старый 25.09.2013, 15:56   #6  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Что заработало конечно хорошо, только так и не понял почему если в настройках DSN прямо указано использовать SQL проверку и настроены логи пароль, у вас все равно использовалась Windows аутентификация.
Старый 26.09.2013, 10:05   #7  
eastmouse is offline
eastmouse
Участник
 
10 / 13 (1) ++
Регистрация: 02.03.2009
Адрес: Казань
Цитата:
Сообщение от handy-comp Посмотреть сообщение
Что заработало конечно хорошо, только так и не понял почему если в настройках DSN прямо указано использовать SQL проверку и настроены логи пароль, у вас все равно использовалась Windows аутентификация.
Вот этого я тоже так и не понял.
Старый 09.06.2015, 10:57   #8  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от handy-comp Посмотреть сообщение
Что заработало конечно хорошо, только так и не понял почему если в настройках DSN прямо указано использовать SQL проверку и настроены логи пароль, у вас все равно использовалась Windows аутентификация.
Цитата:
Resolution
Problem was escalated to escalation engineers where we confirmed the behavior of the application.
In AX 4.0 for the LoginProperty class, we had two properties on this class – setUsername & setPassword – these were the properties you used if you wanted to change the login, see link below…
http://msdn.microsoft.com/en-us/libr...(v=ax.10).aspx

In AX 2009 onwards, these were removed for security reasons – see link below, they setUsername and setPassword are no longer valid properties.
http://msdn.microsoft.com/en-us/libr...(v=ax.50).aspx

I have looked at the kernel code, and in AX 4.0 and before if you specified the setUsername and setPassword then the kernel would use these to create the ODBC connection. If they were not specified, then they would use the login for the AX AOS service (or with AX 3.0 or before the client login in two tier mode).

So as it is no longer possible to set these properties from AX 2009 onwards, the kernel will always use the login for the AOS service. So even if you try and set these in the “setOther” property on the LoginProperty class, they are ignored as in the connection string we create in the kernel code is always using trusted authentication of the AOS Service account – so these additional properties are ignored.
утащено отсюда
__________________
-ТСЯ или -ТЬСЯ ?
Теги
ax2012, odbc, odbcconnection

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Локальная функциональность для компании в DAX2012 Мирослав Лянцевич DAX: Функционал 2 20.02.2013 13:37
Проблемы с кэшированием inventSum в DAX2012 fed DAX: Администрирование 20 19.11.2012 17:56
Как дость max, min через odbcConnection miklenew DAX: Программирование 2 10.09.2008 14:09
ODBCConnection lyolea84 DAX: Программирование 10 28.02.2008 17:00
ODBCConnection Execute Select gb DAX in English 6 07.08.2005 00:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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