Manual de VFP y MysQL
I - Conexión con MySQL utilizando MyODBC
INTRODUCCIÓN
Hoy Marzo 3 del 2004 no se me ocurre nada ya veremos más adelante
HERRAMIENTAS UTILIZADAS:
A excepción del VFP, el software utilizado se puede encontrar en www.mysql.org
•
•
•
VFP 7.0
MySQL 4.0.17
MySQL Connector / ODBC 3.51
COMO INSTALAR MYSQL SERVER Y MYSQL CONNECTOR (DRIVER ODBC)
Existe una grancantidad de documentación acerca del tema por lo que no lo tocaré.
EMPEZANDO POR EL PRINCIPIO, LA CONEXIÓN
Crear un Data Source Name (DSN)…
Para crearlo de forma manual pueden consultar el sitio de Raúl Licona (no recuerdo el
link, pero en el foro de VFP lo pueden obtener).
A mí me interesa mostrar cómo crearlo por medio de código, por lo que entrando en
materia…para crear DSN se usa la funcióndel API SQLConfigDataSource que es
usada para agregar, modificar o borrar un DSN dinámicamente.
La sintaxis de la función en C:
BOOL SQLConfigDataSource(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes);
Los parámetros
hwndParent: es el handle de la ventana pariente, si se pasa un valor no nulo entonces
mostrará la ventana de diálogo, pero como queremoshacerlo transparente al usuario el
valor de este parámetro será 0 (cero).
Denny Infante Juárez
denny_infante@hotmail.com
Manual de VFP y MysQL
I - Conexión con MySQL utilizando MyODBC
fRequest: este parámetro indica a la función que es lo que queremos hacer.
Dependiendo del valor pasado a la función será la acción que realizará la función, los
posibles valores pueden ser uno de lossiguientes:
Valor
ODBC_ADD_DSN
ODBC_CONFIG_DSN
ODBC_REMOVE_DSN
ODBC_ADD_SYS_DSN
ODBC_CONFIG_SYS_DSN
ODBC_REMOVE_SYS_DSN
Descripción
Agrega un nuevo DSN de usuario
Configura (modifica) un DSN de usuario
existente
Elimina un DSN de usuario existente
Agrega un nuevo DSN de sistema
Configura (modifica) un DSN de sistema
existente
Elimina un DSN de sistema existente
lpszDriver: Esteparámetro indica cual es el driver de ODBC que se utilizará para realizar
la conexión con la base de datos.
En nuestro caso para indicarle que utilice el ODBC para MySQL el valor del parámetro
será “MySQL ODBC 3.51 Driver”, recuerden que el valor de la cadena de texto depende
del driver instalado.
lpszAttributes: este parámetro define los atributos (o propiedades) de la conexión, comoson el nombre del servidor, la base de datos con la que se desea conectar, nombre de
usuario etc; cada una de las palabras claves debe ser separada por un CHR(0).
De las palabras claves utilizadas en el parámetro la única requerida es SERVER, que es el
Host o IP del servidor.
Las palabras claves necesarias para definir completamente una conexión con MySQL
mediante ODBC son:
Palabra claveDSN
Description
DATABASE
SERVER
UID
PWD
Denny Infante Juárez
denny_infante@hotmail.com
Descripción
Nombre del DSN
Descripción del DSN
Nombre de la base de datos a conectarse en el
servidor
Host/IP del servidor
Nombre de usuario
Password del usuario
Manual de VFP y MysQL
I - Conexión con MySQL utilizando MyODBC
La cadena mínima válida sería, según la documentación es:“SERVER=localhost” pero
tengo una duda, cómo voy a identificar el DSN, pienso que además de la palabra clave
SERVER debemos utilizar también DSN.
En conclusión, los valores de los parámetros para crear un DSN de usuario serían:
hwndParent = 0
fRequest = ODBC_ADD_DSN
lpszDriver = “MySQL ODBC 3.51 Driver”
lpszAttributes = “SERVER=localhost”
Una cadena de atributos que defina completamente laconexión:
lpszAttributes = “DSN=ConexionVFPMySQL” + CHR(0) +;
“Description=Conexión con MySQL usando ODBC” + CHR(0) +;
“DATABASE=test” + CHR(0) +;
“SERVER=localhost” + CHR(0) +;
“UID=root” + CHR(0) +;
“PWD=password”
Un ejemplo completo para crear un DSN de usuario
DECLARE Integer SQLConfigDataSource in odbccp32.dll;
Integer, Integer, String, String
#DEFINE ODBC_ADD_DSN
1
hwndParent =...
Regístrate para leer el documento completo.