Saudações a todos! { System.Data.OleDb.OleDbConnection connection; 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. strSql = "SELECT * FROM [MinhaTabela$]"; //MinhaTabela corresponde ao nome da Planilha seguido por $ e entre []s. command = new System.Data.OleDb.OleDbCommand(strSql, connection); 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!
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.OleDbCommand command;
System.Data.OleDb.OleDbDataReader dr;
str id;
str nome;
str c;
str strSql;
connection = new System.Data.OleDb.OleDbConnection();
connection.set_ConnectionString(c);
connection.Open();
dr = command.ExecuteReader();
while (dr.Read())
{
id = dr.get_Item(0);
nome = dr.get_Item(1);
info(strfmt("%1 - %2",id,nome));
}
dr.Close();
}
quinta-feira, 20 de dezembro de 2007
X++ - Excel via OleDB direto no AX
Assinar:
Postar comentários (Atom)
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