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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.01.2019, 13:28   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ну вот по ссылке - есть класс ODBCConnection и UserConnection. ODBCConnection позволяет подключиться под другим пользователем (см пример по ссылке).
UserConnection позволяет не заниматься авторизацией и выполнять все от имени текущего пользователя.

Цитата:
Сообщение от belugin Посмотреть сообщение
Есть класс Connection который позволяет выполнять прямой sql http://erpkb.info/axapta/доступковнешнимбазам - там примеры с доступом к другим базам но можно так же и со своей.

Я бы сделал временную табличку и скидывал данные туда.
В таком виде вполне возможно решить исходную задачу.
Т.е. решать вопрос прав надо на уровне АХ, а не SQL
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: YoungPadawan (1).
Старый 16.01.2019, 16:19   #2  
YoungPadawan is offline
YoungPadawan
Участник
 
21 / 23 (1) +++
Регистрация: 04.01.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Ну вот по ссылке - есть класс ODBCConnection и UserConnection. ODBCConnection позволяет подключиться под другим пользователем (см пример по ссылке).
UserConnection позволяет не заниматься авторизацией и выполнять все от имени текущего пользователя.



В таком виде вполне возможно решить исходную задачу.
Т.е. решать вопрос прав надо на уровне АХ, а не SQL
Спасибо. Нужно было просто лучше погуглить. Я не увидел методов setUser() и setPassword() в классе LoginProperty и подумал что в АХ2009 эту возможность убрали. А на самом деле строка подключения формируется по другому https://community.dynamics.com/ax/f/33/t/146719
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 22.01.2019, 14:56   #3  
YoungPadawan is offline
YoungPadawan
Участник
 
21 / 23 (1) +++
Регистрация: 04.01.2017
Цитата:
Сообщение от YoungPadawan Посмотреть сообщение
Спасибо. Нужно было просто лучше погуглить. Я не увидел методов setUser() и setPassword() в классе LoginProperty и подумал что в АХ2009 эту возможность убрали. А на самом деле строка подключения формируется по другому https://community.dynamics.com/ax/f/33/t/146719
Дополню свой ответ. Пользователь на сервере должен быть с проверкой подлинности SQL Server, а не Windows. Может кому-то это очевидно, а я не этом застопорился
Старый 22.01.2019, 15:32   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от YoungPadawan Посмотреть сообщение
Дополню свой ответ. Пользователь на сервере должен быть с проверкой подлинности SQL Server, а не Windows. Может кому-то это очевидно, а я не этом застопорился
Не обязательно.
Мы можем и с пользователем SQL подключаться, устанавливая строку подключения методом setOther, например, так:
X++:
advParms    = 'DRIVER=SQL Server'
                        + '; DATABASE=' + _database
                        + '; SERVER='   + _server + (_port ? ',' + _port : '')
                        + '; UID='      + _userId
                        + '; PWD='      + _password;

loginProperty .setOther(advParms);
Старый 24.01.2019, 10:37   #5  
YoungPadawan is offline
YoungPadawan
Участник
 
21 / 23 (1) +++
Регистрация: 04.01.2017
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Не обязательно.
Мы можем и с пользователем SQL подключаться, устанавливая строку подключения методом setOther, например, так:
X++:
advParms    = 'DRIVER=SQL Server'
                        + '; DATABASE=' + _database
                        + '; SERVER='   + _server + (_port ? ',' + _port : '')
                        + '; UID='      + _userId
                        + '; PWD='      + _password;

loginProperty .setOther(advParms);
А разве я так и не написал что пользователь должен быть SQL, а не Windows?
Или Вы ответили это к тому что можно использовать ODBCConnection + LoginProperty для подключения НЕ под текущим пользователем, а не использовать CCADOConnection?
А пользователя SQL нужно создавать в любом случае?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Квест: Подружим Dynamics Ax 2009 Sp1 RU7 c SharePoint Foundation 2010 Blog bot DAX Blogs 4 16.10.2017 17:50
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1A [Introduction and SQL Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
ax-erp: Creating SSRS-Reports in Dynamics AX 2012 – What’s no longer possible in AX-reports Blog bot DAX Blogs 0 18.07.2012 12:11
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05

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

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

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