Download Conexión MySQL

Document related concepts

Data Source Name wikipedia , lookup

Open Database Connectivity wikipedia , lookup

MySQL wikipedia , lookup

Navicat wikipedia , lookup

Mecanismos de almacenamiento (MySQL) wikipedia , lookup

Transcript
vMySQL
Este componente permite la conexión usando ODBC con servidores MySQL. Ha sido probado en
entornos windows con la versión 5.1
El objeto del mismo es encapsular la conexión usando las instrucciones nativas de velneo para la
conexión a bases de datos externas
Afortunadamente v7 nos permite diferentes técnicas para realizar esta tarea: (con conexiones
TPC/IP, vModApache usando JSON, XML...) sin embargo, nuestro planteamiento claro es que
cuando más sencillo, menos siglas y menos sistemas intermedios existan menos posibilidad de
error y más sencillez en su configuración e instalación.
Esta openApp está fuertemente orientada hacia MySQL, sin embargo con muy pocos cambios
funcionará perfectamente contra cualquier origen de datos ODBC.
Requisitos Previos
Sin embargo no todo va a ser tan fácil, para poder intercambiar datos con tu base de datos MySQL
vas a necesitar dos cosas
•
Que el servidor acepte conexiones y sepamos los datos necesarios para conectar
•
El driver ODBC instalado y configurado en tu ordenador
Conexión con el servidor
Necesitamos conocer los siguientes datos:
•
URL (IP) del servido
•
Puerto (normalmente es el 3306)
•
Nombre de usuario
•
Contraseña
•
Nombre de la Base de datos (dentro del servidor)
vMySQL
1/5
Por otro lado el servidor tiene que aceptar conexiones remotas desde tu ip, recuerda que
trataremos de conectarnos desde el ordenador dónde se ejecute el vClient (no desde el servidor).
Driver ODBC
Hay que descargarse el driver, la dirección de MySQL es:
http://dev.mysql.com/downloads/connector/odbc/
Ojo a pesar de que tu sistema pueda ser de 64 bits, hay que descargarse el driver de 32 bits (v7 no
es de 64 bits). En el momento de escribir esta información la versión es la 5.1.11
Cuando ODBC se conecta con un servidor externo lo hace o bien usando un DSN del sistema o bien
a través de una cadena de conexión. Esta openApp es capaz de construir la cadena de conexión
DSN de sistema
De cualquier manera a veces es cómodo tener un DSN en el sistema. De esta manera se puede
conectar desde varias aplicaciones instaladas en vuestro ordenador y en cada conexión solo os
pedirá usuario y contraseña.
Los pasos para configurar los drivers de 32-bits son los siguientes:
•
Lanzamos el gestor ODBC de 32 Bits (si estamos en una máquina de 64 bits ejecutamos :
%WINDIR%\SysWOW64\odbcad32.exe)
Después “Click” en agregar y seleccionamos MySQL ODBC 5.1
vMySQL
2/5
A partir de aquí los datos necesarios para la conexión
Una vez definido el DSN desde nuestra aplicación velneo tenemos un formulario dónde debemos
indicarle el nombre del DSN (puedes aplicarlo a un punto de inserción de vDiseño para poder ser
lanzado desde la opción de menú configurar)
vMySQL
3/5
Cadena de conexión
El plan B es generar desde v7 la cadena de configuración, para ello contamos con un formulario
para la creación y testeo de la misma:
Damos de alta los valores de servidor (url o IP), usuario y password así como base de datos y
opción que contiene los flags de la conexión (puedes ver las posibilidades en
dev.mysql.com/doc/refman/5.0/en/connector-odbc-configuration-connection-parameters.html), el
propio MySQL sugiere la opción 35 para access que funciona muy bien en v7
Desde el botón “Genera DSN” que nos creará la cadena de conexión y a continuación con “Test
DSN” podemos ver si la misma es correcta.
Con esto ya estamos conectados a la base de datos y se conectará sin necesidad de hacer DNS en
el sistema operativo (simplemente tenemos que tener instalado el driver ODBC)
Interacción con la base de datos
Para la interactuar con la base de datos hemos previsto dos mecanismos uno sincronizado y otro
asíncrono
•
El asíncrono se basa en enviar sentencias SQL aisladas a la base de datos, esperar su
resultado y almacenar todo en la tabla SQL (grabamos la sentencia, el resultado y los datos
de fecha/hora). Mediante este sistema el usuario deberá ejecutar una acción para lanzar las
consultas.
•
El sincronizado está pensado para interconectar en tiempo real las tablas mediante eventos
lanzados con posterioridad a la modificación o al alta de un registro en la base de datos.
Cuando se ejecutan estos procesos de forma automática con velneo podemos lanzar una
tabla a una cola de sentencias SQL para sincronizar los datos. De esta manera las tablas de
la base de datos remotas se mantienen constantemente actualizadas tras cualquier cambio.
vMySQL
4/5
Este mecanismo es muy potente ya que es transparente para el usuario, las tablas se
sincronizan de forma transparente.
Funciones
En la caja de datos cuenta con varias funciones y constantes para gestionar las conexiones y la
conversión de los tipos más frecuentes
•
MYSQL_FECHA_VELNEO_DESDE_MYSQL: Genera un tipo de dato de dato “Fecha” de
velneo a partir de un campo fecha de MySQL (normalmente su formato es AAAA-MM-DD)
•
MYSQL_FECHA: Genera un tipo de dato de dato “Fecha” de mysql a partir de un campo
fecha de velneo (genera una cadena en formato AAAA-MM-DD)
•
MYSQL_TEXTO: Mete las comillas necesarias para que las sentencias no den error y sea
más fácil la codificación
•
ODBC_ESTADO_CONEXION: Devuelve el estado de la conexión con la base de datos y nos
informa si el sistema tiene correctamente configurados todos los datos necesarios, nos
devuelve una de las constantes definidas. (No hay DSN, no hay usuario, no hay password,
conexión correcta o conexión incorrecta)
•
ODBC_TEST_CONEXION: Prueba una la conexión con la base de datos y nos informa del
resultado de la misma, nos devuelve una de las constantes definidas. (No hay DSN, no hay
usuario, no hay password, conexión correcta o conexión incorrecta)
•
COLA_SQL: inserta una sentencia a la cola SQL para la conexión sincronizada
•
STRIP_TAG: quita todos los tag html de la cadena pasada (para limpiar campos rtf)
(c) Copyright:
Fernando Maltrana, 2012- ticmedia.es
[email protected]
"Como autor de la aplicación que cedo a Velneo, S.A., para su inclusión en el catálogo Velneo Open Apps, declaro expresamente que dispongo de la
titularidad de los derechos de explotación de las aplicaciones / soluciones cedidas, exonerando expresamente a VELNEO de cualquier responsabilidad
derivada de reclamaciones sobre la titularidad de los derechos de explotación de las aplicaciones / soluciones presentadas"
vMySQL
5/5