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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.11.2008, 02:07   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
Connection from AX to an External Database
Источник: http://alexvoy.blogspot.com/2008/11/...-database.html
==============

There are a few options. We can create an ODBC connection on a local machine or just to connect directly without creating ODBC record.


For exmaple, we want to check whether some records exist in an external table. We should create a OdbcConnection with appropriate LoginProperty and permit to execute a SQL statement by means of SqlStatementExecutePermission class. 


X++:
server boolean checkExternalDB()
    {
    //connection parameters
        #define.ExternalTableName("CustTable")
        #define.ExternalFieldName("AccountNum")
        #define.ExternalSQLServerName("SRVAXSQL2005")
        #define.ExternalSQLDBName("DAXdb401_Standard_DEV")
        LoginProperty LP = new LoginProperty();
        OdbcConnection myConnection;
        SqlStatementExecutePermission permission;
        Statement myStatement;
        str sqlStmt = "";
        ResultSet myResult;
        boolean ret = true;
        ;

        LP.setServer(#ExternalSQLServerName);
        LP.setDatabase(#ExternalSQLDBName);
        try
        {
            myConnection = new OdbcConnection(LP);
        }
        catch
        {
            info("Check connection parameters. "+funcName());
            ret = checkFailed(strfmt("External DB Connection error in: %1"), #ExternalSQLDBName);
        }

        myStatement = myConnection.createStatement();
    //anything you want to get from the external table
        sqlStmt = "SELECT count (RecId) FROM "+#ExternalTableName+ " where "+#ExternalFieldName + " = '" + this.AccountNum+"'";

        permission = new SqlStatementExecutePermission(sqlStmt);
        permission.assert();

        myResult = myStatement.executeQuery(sqlStmt);
        while (MyResult.next())
        {
            if (MyResult.getInt(1) > 0)
            {
                //yes, records exist in the external table
                ret = checkFailed(strfmt("@LBA53"+"\n"+funcName(), strfmt("[%1].[%2].[%3]", #ExternalSQLServerName, #ExternalSQLDBName, #ExternalTableName)));
                break;
            }
        }

        CodeAccessPermission::revertAssert();

        return ret;
    }
Источник: http://alexvoy.blogspot.com/2008/11/...-database.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
msdynamicsax: Upgrading a database from Ax 4.0 SP1 to Ax 2009 Blog bot DAX Blogs 1 13.08.2008 14:02
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
C# and AX Development: Using ADO for interfacing AX with an external database Blog bot DAX Blogs 0 05.08.2008 05:18
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Consuming External Web Services (Dynamics AX 4) Blog bot DAX Blogs 0 19.02.2008 06:41

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

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

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