Instala
desde Fox el Driver ODBC de MySQL
Por la Redacción de FoxPress
El Driver ODBC de MySQL lo tienes disponible con su
intalar para Windows en http://dev.mysql.com/downloads/connector/odbc/3.51.html
Ejecutándo
ese instalador, tus aplicaciones en Fox ya podrán acceder a esta Base de Datos.
¿Qué
necesidad tenemos de construirnos o instalar el Driver por otro medio? Casi
siempre, el problema puede venir del deseo de crear un solo paquete de
instalación junto con tus programas (no tenerle que decir al cliente que tiene
que realizar dos intalaciones).
Para eso
lo primero es mirar qué ficheros instala, dónde los deja y que claves introduce
en el registry el instalador ‘normal’ para poder después realizar tu la misma
función.
Los
ficheros son:
MyODBC3.dll
MyODBC3.lib
Que se
instalan en el caso de un Windows 2000 en:
C:\Winnt\system32\
Las claves
del registry que introduce son:
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL
ODBC 3.51 Driver]
"UsageCount"=dword:00000001
"Driver"="C:\\WINNT\\system32\\myodbc3.dll"
"Setup"="C:\\WINNT\\system32\\myodbc3.dll"
y
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs]
"C:\\WINNT\\system32\\myodbc3.lib"=dword:00000001
"C:\\WINNT\\system32\\myodbc3.dll"=dword:00000001
Con esto ya tienes todo. Estas claves las puedes
incorporar a tu instalador preferido y ya lo tienes.
Deberás preocuparte de que tu instalador te las
ponga. La forma más cómoda es exportar la clave y añadírsela al instalador.
Unicamente te tienes que preocupar de que quizás no se instale en máquinas con
el directorio de Windows llamado WINNT y deberás hacer que tu instalador de
controle mediante una variable ese directorio.
El
siguiente paso es configurarlo y para eso puedes usar el siguiente código:
#DEFINE
ODBC_ADD_DSN 1
#DEFINE
ODBC_CONFIG_DSN 2
#DEFINE
ODBC_REMOVE_DSN 3
#DEFINE
ODBC_ADD_SYS_DSN 4
#DEFINE
ODBC_CONFIG_SYS_DSN 5
#DEFINE
ODBC_REMOVE_SYS_DSN 6
#DEFINE
ODBC_REMOVE_DEFAULT_DSN 7
DECLARE
INTEGER SQLConfigDataSource in odbccp32.DLL ;
INTEGER hwndParent, INTEGER fRequest,
;
STRING @lpszDriver, STRING
@lpszAttributes
lcAttributes
= "DSN=test" + CHR(0) + ;
"Server=(local)" + CHR(0) + ;
"database=PruebaFox1" +
CHR(0) + ;
"Protocol=2" + CHR(0) + ;
"Server=192.168.1.1" + CHR(0)
+ ;
"UID=LOLO" + CHR(0) + ;
"Role=" + CHR(0) + ;
"Vendor=" + CHR(0) + ;
"CharacterSet=" + CHR(0) + ;
"Database=" + CHR(0) + ;
"Description=" + CHR(0) + ;
"ReadOnly=0" + CHR(0) + ;
"PWD=mio"
lnReturn
= SQLConfigDataSource( 0, ODBC_ADD_SYS_DSN,;
" MySQL ODBC 3.51 Driver" + CHR(0),;
lcAttributes )
IF
lnReturn>0
WAIT WINDOW "Dado de Alta"
ELSE
WAIT WINDOW "Falló la Alta"
ENDIF
Si
quieres introducir datos concretos deberás modificar/adaptar a tus necesidades
la cadena lcAtributes

Si abres el configurador del driver, quedaría de la
forma que se muestra en la página anterior. Como puedes ver y es una de las
cosas que más me gustan de este driver es que puedes poner una IP remota con lo
que podrías tener tu base de datos en un sitio y las aplicaciones cliente en
otro.
FoxPress – Septiembre de
2004