D365/AX7:Connect To An External SQL Database Using X++

Requirement

Connect To An External SQL Database Using X++.

Sample Code

[code language = “cpp”]using System.Data.SqlClient;
class ACX
{
public static void main(Args _args)
{
SqlConnection conn = new SqlConnection(“Server=myIP; Database=myDatabase; User Id=username; Password=password; Min Pool Size = 5; Max Pool Size=100; “);
str sqlL = @”SELECT * FROM Master_Item”;
str update = “UPDATE master_item SET productcode = @newvalue WHERE productcode = @key”;
SqlCommand command = new SqlCommand(sqlL, conn);
SqlCommand updateCmd = new SqlCommand(update, conn); System.Data.SqlClient.SqlDataReader reader; System.Data.SqlClient.SqlParameterCollection parameterCollection; new InteropPermission( InteropKind::ClrInterop ).assert();
try
{
conn.Open();
try
{
reader = command.ExecuteReader();
while (reader.Read())
{
str prdcode = reader.get_Item(“ProductCode”);
info(prdcode);
//parameterCollection = command.get_Parameters();
//parameterCollection.AddWithValue(“@DATAAREAID”, “CEE”);
//if (needToUpdate)
//update=”UPDATE master_item SET productcode = ‘” + newvalue + “‘ WHERE productcode = ‘” + prdcode + “‘”;
//updateCmd.CommandText=update
//updateCmd.ExecuteNonQuery();
}
reader.Dispose();
}
catch
{
reader.Dispose();
}
catch(Exception::CLRError)
{
reader.Dispose();
}
conn.Dispose();
}
catch
{
conn.Dispose();
}
catch(Exception::CLRError)
{
conn.Dispose();
}
command.Dispose();
CodeAccessPermission::revertAssert();
}
}
[/code]

 

 

Leave a Reply