CitectSCADA DataBase

Para cambiar de sistema Gestor de Base de Datos, para este artículo he seleccionado PostgreSQL, así hemos visto SQL Server , MySQL , Oracle donde hay un servidor que se esta ejecutando y vamos ha acceder remotamente.

Primer paso, la instalación de su correspondiente Driver Open Database Connectivity (ODBC) para poder acceder.

 

Ya podemos configurar el nuevo Data Source

 

 

En la siguiente imagen, aparece la configuración de dos Data Sources, uno para la base de Datos PostgreSQL y para MySQL . Posteriormente la explicación.

 

Consultando la documentación de CitecSCADA 2018, estos son los métodos que podemos emplear:

 

Y muy importante, debes saber que CitectSCADA tiene su propio lenguaje Cicode para la programación de Scripts y además cuenta con CicodeVBA Visual Basic for Application.

Cicode al ser un lenguaje propietario, dispone de las funciones que podemos utilizar, y para base de datos estan son algunas de sus funciones.

 

Pasamos a la creación de una nueva función y con la ayuda de la documentación así quedaria. PostgreSQL tiene una peculiaridad, en la definición de las sentencias SQL , los campos y nombres de las tablas van entre comillas y esto en Cicode es un problema.

 

Este es el mensaje de error al intentar ejecutar el código que hemos visto.

He probado con varias opciones, pero por el momento, no tengo solución.

 

Si habilitamos el debugger, cuando ejecutamos la función SQLGetRecordset, obtenemos el siguiente error, esto es debido a la consulta que estamos pasando.

Ese ha sido el motivo de posteriormente hacer las pruebas con MySQL

 

Y esta ha sido mi sorpresa, cuando he cambiado a MySQL y he habilitado el debugger, podemos observar:

SQLConnect := Ok!

SQLGetRecordset:= Ok!

SQLRowCount := Ok!

SQLGetField := NoK! (Devuelve el string sin valor)

No se si será un bug o estoy haciendo algo incorrectamente, si tienes la solución, por favor, compartela para actualizar.

 

Como ya hemos comentado que disponemos de CicodeVBA, ahora vamos a crear las funciones para conectarnos a la Base de Datos, pero con este lenguaje.

Esta serian las funciones y el resultado ha sido perfecto, funciona perfectamente.

 

 

Hemos asociado las funciones que hemos visto o procedimentos a varios botones para comprobar su funcionamiento, si vas a llamar a código CicodeVBA, debes utilizar previamente la funcion CiVBA

 

Sin embargo con el código Cicode, se llama a la función directamente.

 

CONCLUSION: Si vas a trabajar con Base de Datos, es mejor utilizar el lenguaje CicodeVBA

Descargate el texto del Código

04-06-2019

Todas las marcas comerciales, softwares, logos son propiedad de sus respectivos titulares.