Listing out Published SQL Servers in AX

Recently, I had a requirement where I had to populate list of SQL Servers in a table in AX and all this had to be done from within AX.

I couldn’t find any support directly in AX, so I decided to use .Net classes for this purpose.

Here is a job that can help you achieve the same.


static void getListOfSQLServers(Args _args)
    System.Data.Sql.SqlDataSourceEnumerator dataEnum;
    System.Data.DataTable                   dataTable;
    System.Data.DataRowCollection           collection;
    System.Data.DataRow                     row;
    System.Object                           serverObj, instanceObj;

    int sqlCount, i;
    str   serverName, instanceName;

    dataEnum = System.Data.Sql.SqlDataSourceEnumerator::get_Instance();
    dataTable = dataEnum.GetDataSources();
    collection = dataTable.get_Rows();
    sqlCount = collection.get_Count();

    for (i = 0; i < sqlCount; i++)
        row = collection.get_Item(i);
        serverObj = row.get_Item("ServerName");
        instanceObj = row.get_Item("InstanceName");

        serverName = serverObj.ToString();
        instanceName = instanceObj.ToString();

        if (instanceName)
            info(strfmt("%1\\%2", serverName, instanceName));

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s