|
![]() |
#1 |
Участник
|
если я не ошибаюсь взаимодействие с SQL сервером идет через посредника - AOS-а, у которого и так все права есть на базу.
Предположим создам я эту табличку в AX, а как сделать так чтобы этот скрипт при вызове формы обновлял её результатами скрипта? |
|
![]() |
#2 |
Участник
|
Есть класс Connection который позволяет выполнять прямой sql http://erpkb.info/axapta/доступковнешнимбазам - там примеры с доступом к другим базам но можно так же и со своей.
Я бы сделал временную табличку и скидывал данные туда. |
|
![]() |
#3 |
Administrator
|
Ну вот по ссылке - есть класс ODBCConnection и UserConnection. ODBCConnection позволяет подключиться под другим пользователем (см пример по ссылке).
UserConnection позволяет не заниматься авторизацией и выполнять все от имени текущего пользователя. Цитата:
Сообщение от belugin
![]() Есть класс Connection который позволяет выполнять прямой sql http://erpkb.info/axapta/доступковнешнимбазам - там примеры с доступом к другим базам но можно так же и со своей.
Я бы сделал временную табличку и скидывал данные туда. Т.е. решать вопрос прав надо на уровне АХ, а не SQL
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: YoungPadawan (1). |
![]() |
#4 |
Участник
|
Цитата:
Сообщение от sukhanchik
![]() Ну вот по ссылке - есть класс ODBCConnection и UserConnection. ODBCConnection позволяет подключиться под другим пользователем (см пример по ссылке).
UserConnection позволяет не заниматься авторизацией и выполнять все от имени текущего пользователя. В таком виде вполне возможно решить исходную задачу. Т.е. решать вопрос прав надо на уровне АХ, а не SQL |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
![]() |
#5 |
Участник
|
Цитата:
Сообщение от YoungPadawan
![]() Спасибо. Нужно было просто лучше погуглить. Я не увидел методов setUser() и setPassword() в классе LoginProperty и подумал что в АХ2009 эту возможность убрали. А на самом деле строка подключения формируется по другому https://community.dynamics.com/ax/f/33/t/146719
![]() |
|
![]() |
#6 |
Участник
|
Цитата:
Мы можем и с пользователем SQL подключаться, устанавливая строку подключения методом setOther, например, так: X++: advParms = 'DRIVER=SQL Server' + '; DATABASE=' + _database + '; SERVER=' + _server + (_port ? ',' + _port : '') + '; UID=' + _userId + '; PWD=' + _password; loginProperty .setOther(advParms); |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от Raven Melancholic
![]() Не обязательно.
Мы можем и с пользователем SQL подключаться, устанавливая строку подключения методом setOther, например, так: X++: advParms = 'DRIVER=SQL Server' + '; DATABASE=' + _database + '; SERVER=' + _server + (_port ? ',' + _port : '') + '; UID=' + _userId + '; PWD=' + _password; loginProperty .setOther(advParms); Или Вы ответили это к тому что можно использовать ODBCConnection + LoginProperty для подключения НЕ под текущим пользователем, а не использовать CCADOConnection? А пользователя SQL нужно создавать в любом случае? |
|
![]() |
#8 |
Administrator
|
Цитата:
Он и не будет обновлять. Это будете делать Вы по кнопке "Обновить" (по аналогии с формой активных пользователей). А в коде по нажатию кнопки - потребуется написать код, который вызовет сей скрипт, построчно выберет данные (см класс Statement и метод executeQuery) и запишет в таблицу, которая будет уже отображаться на форме (т.е. сначала удалит все записи из таблицы, а затем добавит результаты отработки скрипта)
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#9 |
Участник
|
В АХ 4.0 имеется Администрирование/Запросы/База данных/Блокировки пользователей базы данных которая работает к сожалению лишь с SQL Server 2000, но быть может рассмотреть эту форму поближе и на ее основе и сделать желаемую форму со скриптом
|
|
![]() |
#10 |
Участник
|
Насколько я помню, мы в свое время заставили её работать из DAX4 и с 2008 сервером. Если правильно помню, обращения там идут к объектам, которые считаются устаревшими, поэтому просто так недоступны и требовалось давать какие-то расширенные права.
|
|
![]() |
#11 |
Участник
|
Возможно ли обойтись без выдачи доп. прав AOS? Может есть возможность сделать запрос под правами другого пользователя?
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|