En ocasiones se necesita acceder desde Navision a alguna base de datos de SQL Server. Vamos a ver cómo hacerlo.
Hay que tener en cuenta las siguientes consideraciones:- Este codigo utiliza .NET Interoperability para interfasar con componentes propios de Windows.
- Estos componentes se ejecutan en el NST, es decir, en el servidor de NAV, por lo tanto, es éste el que debe tener acceso a SQL Server.
- El control de transacciones va totalmente a parte del propio control de transacciones de NAV.
Declaración de variables:
SqlConnection : DotNet "System.Data.SqlClient.SqlConnection"
SqlCommand : DotNet "System.Data.SqlClient.SqlCommand"
SqlDataReader : DotNet "System.Data.SqlClient.SqlDataReader";
Codigo para abrir una conexión:
connString := 'Data Source=TheSQLsrv\AndInstance;Initial Catalog=TheBBDD;Integrated Security=false;User ID=TheUsername;Password=ThePassword';
SqlConnection := SqlConnection.SqlConnection(connString);
SqlConnection.Open();
Código para ejecutar un comando:
SQLstring := 'SELECT * FROM TheTableOrView ORDER BY TheOrderField';
SqlCommand := SqlConnection.CreateCommand();
SqlCommand.CommandText := SQLstring;
SqlDataReader := SqlCommand.ExecuteReader();
Codigo para leer un DataReader:
WHILE SqlDataReader.Read() DO BEGIN
myVar := SqlDataReader.Item(SomeField);
END;
Cerrar la conexión:
SqlConnection.Close();
fuente: www.dynamics.es