Ax 2012′de kodla farklı bir SQL’e bağlanıp veri çekmek
Merhaba
Yeni projemde yapmakta olduğum bir entegrasyon işi için farklı bir sql server’a bağlanıp veri almam gerekiyordu. Yaptığım çalışmayı sizlerle paylaşıyorum.
İlk iş bir ODBC bağlantısı kurmak. Bağlantıyı ister AOS’a isterseniz Client makineye kurabilirsiniz. Ancak AOS’ta olması daha mantıklı. Administrative Tools / Data Sources (ODBC) ‘a tıklayarak bağlanmak istediğiniz Sql için Data Source Name (DSN) oluşturmalısınız. Oluşturduğumuz DSN’i kodda kullanacağız.
static public void fd_ConnectSQLthrougODBC(Args _args) { LoginProperty loginProperty; OdbcConnection odbcConnection; Statement statement; ResultSet resultSet; str sql; SqlStatementExecutePermission perm; FDTransferCardTable transferCardTable; ; loginProperty = new LoginProperty(); loginProperty.setDSN("CASC"); //Tanımladığımız DSN loginProperty.setDatabase("SWHSystem"); odbcConnection = new OdbcConnection(loginProperty); if (odbcConnection) { sql = "SELECT * FROM Personnel "; perm = new SqlStatementExecutePermission(sql); perm.assert(); statement = odbcConnection.createStatement(); resultSet = statement.executeQuery(sql); while (resultSet.next()) { transferCardTable.clear(); transferCardTable.ObjectID = resultSet.getString(1); transferCardTable.Name = resultSet.getString(2); transferCardTable.Protected = str2num(resultSet.getString(6)); transferCardTable.PartitionID = resultSet.getString(7); transferCardTable.LastName = resultSet.getString(10); transferCardTable.FirstName = resultSet.getString(11); transferCardTable.MiddleName = resultSet.getString(12); transferCardTable.PersonnelTypeID = resultSet.getString(13); transferCardTable.Template = resultSet.getString(14); transferCardTable.Temporary = str2num(resultSet.getString(15)); transferCardTable.Disabled = str2num(resultSet.getString(22)); transferCardTable.Text1 = resultSet.getString(27); transferCardTable.Text12 = resultSet.getString(38); transferCardTable.insert(); } resultSet.close(); statement.close(); } else { error("ODBC ile veritabanına bağlantı kurulamadı."); } }
Selamlar.