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));
else
info(serverName);
}
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.