Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas

martes, 9 de noviembre de 2010

Herramientas para analizar el rendimiento de Dynamics Nav

El equipo de MS Dynamics ha creado una serie de herramientas para analizar y solucionar posibles problemas en sus soluciones de negocio Dynamics. Están centradas en el rendimiento del motor SQL y se basan sobre todo en el DMV de SQL Server.

Las he probado y son muy útiles para problemas de bloqueo ó uso de claves activas, lo podéis descargar del siguiente enlace:

PD: Evidentemente no funciona con bbdd nativas, solo SQL en sus versiones 2005 a 2008


jueves, 14 de octubre de 2010

Conectar Dynamics Nav con BBDD externas

Muchas veces necesitamos conectar Dynamics Nav con bbdd externas para extraer o modificar datos. Podemos usar librerías externas o webservices. Pero si es algo sencillo podemos ejecutar directamente el código desde Dynamics Nav e interactuar con cualquier base de datos externa.

Con ADO.NET, un programa puede leer, insertar, editar, o borrar, la información contenida en diferentes tablas dentro de la base de datos. Además, se puede manipular la propia base de datos para crear nuevas tablas, como también alterar o eliminar las ya existentes, entre otras cosas.

En el siguiente link está la documentación oficial de ADO.NET:

También os pongo un ejemplo de código CAL de como conectarse a una bbdd externa:

ADOConn@1100240000 : Automation Microsoft ActiveX Data Objects 2.8 Library'.Connection";
ADOrs@1100240001 : Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Recordset";
ConnStr@1100240002 : Text[200];
AnzCount@1100240003 : Text[30];
OpenMethod@1100240004 : Integer;
LockMethod@1100240005 : Integer;
Name@1100240006 : Text[200];
Str@1100240007 : Text[200];


// ODBC-Connector
CLEAR(ADOConn);
CLEAR(ADOrs);

OpenMethod := 3; // 1=adOpenKeyset; 2=adOpenDynamic; 3= adOpenStatic
LockMethod := 2; // 1=dLockreadonly; 2=adLockPessimistic; 3=adLockOptimistic; 4=adLockBatchOptimistic
CREATE(ADOConn);
ConnStr := 'PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source= c:\pruebas.mdb';

ADOConn.Open(ConnStr);
CREATE(ADOrs);

ADOrs.Open('Select * from Tabla_Prueba WHERE ID = "Id_prueba"',ADOConn,OpenMethod,LockMethod); //ejecuta la sentencia

IF NOT ADOrs.EOF THEN BEGIN //Sí no es vacío
ADOrs.MoveFirst; //Se queda apuntado al primer registro de la tabla
Name := ADOrs.Fields.Item('Referencia').Value;
Message(Name);
END;

// Close odbc connector
ADOrs.Close;
ADOConn.Close;

CLEAR(ADOrs);
CLEAR(ADOConn);