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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.05.2007, 15:56   #1  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
А есть ли документация о том, как подключаться к другим базам?
В стандартной аксапте не нашла описания того, как можно подключаться и манипулировать данными на другом сервере SQL (подключаться не Аксапте из Аксапты). Есть ли документация по описанию методов или прочего?
Старый 31.05.2007, 16:04   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Например, можно глумиться посредством ODBC или ADO:
* класс Connection (System Documentation \Classes \Connection) и его расширения: OdbcConnection, UserConnection
* классы CCADO*
Старый 31.05.2007, 16:04   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Например создать соединение через ODBC. И делать запрос. Ниже пример классика. В котором выберается какая база и делается запрос. Какая-то простая выборка.
Вложения
Тип файла: xpo TNR_ODBC.xpo (5.6 Кб, 641 просмотров)
Старый 31.05.2007, 16:07   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
В стандартной аксапте не нашла описания того, как можно подключаться и манипулировать данными на другом сервере SQL (подключаться не Аксапте из Аксапты). Есть ли документация по описанию методов или прочего?
я не понимаю что вас интересуе? Просто взять и модифицировать данные в SQL сервере из Axapta?
Старый 31.05.2007, 16:11   #5  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
X++:
CCADOConnection         connection = new CCADOConnection();
    CCADOCommand            command = new CCADOCommand();
    CCADORecordSet          recordSet;
    CCADORecordSet          recordSetLine;
    CCADOFields             fields;
    CCADOFields             fieldsLine;
    ;

    try
    {
        connection.open("Строка подключения");
        command.activeConnection(connection);
        command.commandText("SQL операторы");
        recordSet = command.execute();

        while (!recordSet.EOF())
        {
            fields = recordSet.fields();

            info(fields.itemIdx(0).value());
            
            recordSet.moveNext();
        }
    }
    catch(Exception::Error)
    {
        throw error("Обработка прекращена.");
    }
Старый 31.05.2007, 17:37   #6  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Я воспользовалась и этим примером.
SQL мониторинг + прямой запрос к SQL
Все хорошо, но в нем мне надо указывать sa и пароль к нему, а как сделать так , чтоб он реагировал на account win, те. в зависимости от пользователя, вошедшего сеть.
Старый 31.05.2007, 17:43   #7  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Все хорошо, но в нем мне надо указывать sa и пароль к нему, а как сделать так , чтоб он реагировал на account win, те. в зависимости от пользователя, вошедшего сеть.
Как то странно будет получаться пользователь имеет доступ к выполнению какой либо функции а прав на подключения не буде, как то не правильно это не по людски
Старый 31.05.2007, 17:47   #8  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
я ограничу доступ к формированию отчета, использующего подключение на уровне Аксапта, вот и все.
Старый 31.05.2007, 17:50   #9  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
я ограничу доступ к формированию отчета, использующего подключение на уровне Аксапта, вот и все.
в таком случае стоит настроить один источник данных в нем прописать логин и пароль, и хранить его в форме параметров. Т.е. ваша проблема отпадает
Цитата:
Все хорошо, но в нем мне надо указывать sa и пароль к нему, а как сделать так , чтоб он реагировал на account win, те. в зависимости от пользователя, вошедшего сеть.
Старый 31.05.2007, 17:51   #10  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
А вообще идея следующая, есть 20 баз.
Есть 3 пользователя.
Эти пользователи должны получать смешанный отчет из данных аксапта и 20баз.
Как тогда правильно это дело реализовать?
Просто настроить источник для 20 баз - это много. А скоро еще больше будет. (И потом я плохо понимаю, где тогда надо odbc настраивать, на сервере каждой базы, на аос, аха или где?)

Последний раз редактировалось Arahnid; 31.05.2007 в 17:53.
Старый 31.05.2007, 18:04   #11  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Ну помойму в форме настройки подключений можно ясно указать windows аунтификация, получив строку подключения вам останится в ней менять только названия серверов

X++:
COM DataLinks = new COM("DataLinks");
    // вызываем окно настройки OLEDB-соединения
    Connection.ConnectionString(strConnectionString);
    DataLinks.PromptEdit(Conn);
Старый 31.05.2007, 18:10   #12  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
X++:
{
    ODBCConnection odbc ;
    Statement      statement;
    ResultSet      res;
    str            queryText;
    FolioConnectionParameters_NV    folioConnectionParameters   =   FolioConnectionParameters_NV::find();
    LoginProperty                   loginProperty;
    ;
    loginProperty    = new LoginProperty();
    loginProperty.setUsername(folioConnectionParameters.UserName);
    loginProperty.setPassword(folioConnectionParameters.UserPassword);
    loginProperty.setServer  (folioConnectionParameters.ServerName);
    loginProperty.setDatabase(folioConnectionParameters.Database);
    odbc =  new ODBCConnection(loginProperty);
    if(odbc)
    {
        statement       = odbc.createStatement();
        queryText   = strfmt("SELECT * FROM SCL_ARTC");
        odbc.ttsbegin();
        res = statement.executeQuery(queryText);
        res.next();
        info(strfmt("%1 %2", res.getString(1), res.getString(2)));
        odbc.ttscommit();
    }
}
используя этот пример, как в него вписать win аутентификацию.
Старый 31.05.2007, 18:11   #13  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от Arahnid Посмотреть сообщение
А вообще идея следующая, есть 20 баз.
Есть 3 пользователя.
Эти пользователи должны получать смешанный отчет из данных аксапта и 20баз.
Как тогда правильно это дело реализовать?
Просто настроить источник для 20 баз - это много. А скоро еще больше будет. (И потом я плохо понимаю, где тогда надо odbc настраивать, на сервере каждой базы, на аос, аха или где?)
Слить все базу в одну средствами сервера и сверху водрузить систему отчетности)
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 31.05.2007, 18:16   #14  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
win аутентификацию нада указать в на SQL сервере
Старый 31.05.2007, 18:19   #15  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
используя этот пример, как в него вписать win аутентификацию.
именно этим способом что вы пробуете не знаю, я предпочтаю работать с ADO чего и вам советую как ни как технология ODBC уже старушка. Если вздумаете работать с ADO смагу проконсльтировать
Старый 31.05.2007, 18:26   #16  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Тогда такой вопрос, уже более точный.
20 баз на разных серверах.
Где надо прописать ODBC, на каком сервере?
Какие настройки там лучше сделать, если в СКУЛЬ программе каждый пользователь входит под своим имененем и на это имя заведен пользователь в базе SQL\..\Logins?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Есть ли у кого-нибудь такая штучечка? miklenew DAX: Программирование 54 01.06.2015 12:09
Документация по ценообразованию AlexeyBP DAX: Администрирование 0 28.11.2008 14:41
Нельзя изменить изменено другим пользователем miklenew DAX: Программирование 15 20.11.2008 16:13
Есть ли таблица соответствий ID -объекта - Имя объекта в Аксапта? coja DAX: Администрирование 5 26.04.2005 15:25
Есть ли планирование движения денежных средств? dd DAX: Функционал 5 10.06.2004 15:57

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

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

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