lunes, septiembre 24, 2007

VFP: Ejecutar un script SQL por código

Hoy me encontré con una pregunta en foro de programadores de VFP, sobre como hacer para ejecutar un script SQL desde VFP.

Me topé con este problema hace ya unos cuantos años, y recuerdo que fue muy frustrante darme cuenta que el comando SQLEXEC() no estaba diseñado para ejecutar varias instrucciones sino mas bien una sola.

En aquel tiempo se me ocurrió que dado que en un script SQL todas las instrucciones se terminan con un comando GO, se podría utilizar este comando como un "separador", a fin de aplicar un "parsing" al script SQL y usar SQLEXEC() para ejecutar cada instrucción individualmente.

El código pueden copiarlo desde el artículo original en mi website:
Como ejecutar un script SQL desde VFP

10 comentarios:

Anónimo dijo...

hola victor tienes el enlace roto script con vfp

Anónimo dijo...

This is great info to know.

Ivan dijo...

hubiera estado bien que funcione el link, que pena

Victor Espina dijo...

Ya esta corregido el enlace. Mis disculpas por el problema.

Treebusoft dijo...

Hola victor me sale este mensaje

Variable CRLF no existe

cuando corro el procedimiento para ejecutar un script SQL POR CODIGO

GRACIAS POR TODO

Victor Espina dijo...

Prueba a colocar esta linea al inicio de tu programa:

#DEFINE CRLF CHR(13) + CHR(10)

Victor Espina dijo...

Prueba a colocar esta linea al inicio de tu programa:

#DEFINE CRLF CHR(13) + CHR(10)

Anónimo dijo...

Hola Victor, el enlace sigue roto,
el link no funciona, dice Fatal error: Cannot redeclare
si fueras tan amable de corregirlo.

Victor Espina dijo...

El link ya esta corregido y el articulo restaurado (algun bot lo habia sobreescrito). En todo caso, ese Wiki ya no esta activo, asi que te dejo el link al mismo articulo pero en mi wiki actual llamado CodeWiki:

http://www.victorespina.com.ve/wiki/index.php?title=Como_ejecutar_un_script_SQL_desde_VFP

Anónimo dijo...

hola amigo victor

he estoy tratando d usar tu programa como una funcion, pero este no ejecuta mi script d sql q es de 345 lineas, corregi la linea del CRLF y este no contine nada del codigo de script, has hecho alguna mejora o simplificado este como tal ?

saludos

Eduardo - Venezuela