Saudações a todos!
O Microsoft Dynamics AX dispõe de várias formas de integração.
Entre elas, existe a opção de utilizar o . NET Framework diretamente no código X++, instanciando objetos dos namespaces desejados para ler os dados diretamente da base através do ADO.Net.
A discussão sobre integração surgiu originalmente no fórum MSDN, onde existe um tópico aberto sobre importação de dados para o DAX pelos variados meios, seja AIF, Excel table (que não é recomendável para Itens, vide tópico).
Vale lembrar que a participação de todos os profissionais do ramo nesse fórum é essencial para que possamos construir uma base de conhecimento, com uma "cara" mais prática, fortalecendo nossas referências no mercado.
Voltando ao assunto principal:
O método de acesso é realizado através do .Net framework.
As referências devem ser adicionadas no node References do AOT.
Ex. System.Data / System.Data.resources / System.Data.SqlXml e assim por diante.
static void MeuJob(Args _args)
{
System.Data.OleDb.OleDbConnection connection;
System.Data.OleDb.OleDbCommand command;
System.Data.OleDb.OleDbDataReader dr;
str id;
str nome;
str c;
str strSql;
c = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Dados.xls;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
// O parametro HDR determina se a primeira linha contem os nomes de colunas
// "IMEX=1;" lê os dados como texto.
connection = new System.Data.OleDb.OleDbConnection();
connection.set_ConnectionString(c);
connection.Open();
strSql = "SELECT * FROM [MinhaTabela$]";
//MinhaTabela corresponde ao nome da Planilha seguido por $ e entre []s.
command = new System.Data.OleDb.OleDbCommand(strSql, connection);
dr = command.ExecuteReader();
while (dr.Read())
{
id = dr.get_Item(0);
nome = dr.get_Item(1);
info(strfmt("%1 - %2",id,nome));
}
dr.Close();
}
Caso haja qualquer outra fonte de dados suportada pelos NameSpaces System.Data.* , seja Sql, OleDB ou ODBC, é só procurar o meio de conectar.
Uma fonte interessante é o site www.connectionstrings.com que comporta uma lista com as strings de conexão, bem como suas variações para quase todos os SGBDs disponíveis no mercado.
Aproveitando a época, eu gostaria de deixar um Feliz Natal e um Ótimo 2008 a todos que prestigiam nossa casa e compartilham as idéias.
Um abraço!
2 comentários:
Muito bom o artigo.
Eu gostaria de saber onde encontrar conceitos sobre os objetos(views,jobs,etc) do AX, pois estou começando a desenvolver agora e me seria muito útil.
abraços.
Douglas Barreto
Fenix Consultoria
Douglas, veja o Post sobre o livro Inside Microsoft Dynamics AX
(http://axaptabrasil.blogspot.com/2008/04/ebook-grtis-disponvel-para-download.html)
E também não deixe de visitar o blog com frequência, pois sempre que conseguimos um tempo, disponibilizamos material aqui para enriquecer a comunidade DAX no Brasil!
Abraço!
Postar um comentário