martes, 10 de agosto de 2010

Ejecutar directamente sentencias T-SQL desde Dynamics AX

Hola, bueno no es muy recomendable hacer esto, pero es un camino más que nos podria servir para resolver algún problema:

Vamos a crear un metodo en la clase Global:
server static void DAXExecuteSQL(str _sql)
{
str ddl = '';
SqlStatementExecutePermission ssep;
Statement statement;
Connection connection;
;

ddl = _sql;

connection = new Connection();
connection.ttsbegin();

ssep = new SqlStatementExecutePermission(ddl);
ssep.assert();
statement = connection.createStatement(ResultSetType::Dynamic, ResultSetConcurrency::Updatable);

// BP deviation documented
statement.executeUpdate(ddl);
connection.ttscommit();
}

Luego para utilizar este metodo, tenemos que poner esto:
DAXExecuteSQL('Cualquier Consulta T-SQL');

Saludos.

No hay comentarios:

Publicar un comentario