2 de enero de 2006

Inserción Masiva de Registros de VFP a MySQL

Aquí una pequeña rutina al vapor para insertar un cursor a una tabla de MySQL de forma ágil y rápida.
CREATE CURSOR csrTEMPORAL(campo1 C(100), campo2 C(100), cAMPO3 C(100), CAMPO7 C(100))
FOR I = 1 TO 150
  INSERT INTO csrTEMPORAL VALUES(CDOW(DATE()+i),CDOW(DATE()+i+1),CDOW(DATE()+2),CDOW(DATE()+3))
ENDFOR
cDataSource = "Test"
cUserName = "root"
cPassword  = "root"
ConnectionString = [DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=] + ;
  cDataSource + [;USER=] + cUserName + [;PASSWORD=] + cPassword + [;OPTION=3;]
nConexion  = SQLSTRINGCONNECT( ConnectionString )
SELECT csrTEMPORAL
lcComando = ""
SCAN
  lcComando = lcComando + [("] + ALLTRIM(csrTEMPORAL.CAMPO1) + [","] + ;
    ALLTRIM(csrTEMPORAL.CAMPO2) + [","] + ALLTRIM(csrTEMPORAL.CAMPO3) + ;
    [","] + ALLTRIM(csrTEMPORAL.CAMPO7) + ["),]
ENDSCAN
lcComando = [INSERT INTO TEMPORAL (CAMPO1, CAMPO2, CAMPO3, CAMPO7) VALUES ] + ;
  SUBSTR(lcComando,1,LEN(lcComando)-1)
? lcComando
lnSegundos = SECONDS()
x = SQLEXEC(nConexion ,lcComando)
MESSAGEBOX(SECONDS()-lnSegundos)
x = SQLEXEC(nConexion, "SELECT * FROM TEMPORAL", "csrTemporalSQL")
x = SQLDISCONNECT(0)
Lic. J. Enrique Ramos Menchaca
Guadalajara, Jalisco, México

No hay comentarios. :

Publicar un comentario