Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Migracion VFP a SQL Server

Estas en el tema de Migracion VFP a SQL Server en el foro de SQL Server en Foros del Web. Hola, tengo un problema al querer migrar de Visual Fox a SQL Server una tabla con Muchos Campos, al ejecutar el SQLEXEC de VFP me ...
  #1 (permalink)  
Antiguo 07/09/2009, 17:18
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Migracion VFP a SQL Server

Hola, tengo un problema al querer migrar de Visual Fox a SQL Server una tabla con Muchos Campos, al ejecutar el SQLEXEC de VFP me da error de "cadena demasiado larga", el codigo es el siguiente:

=comando( "insert into kilosdetalle (id,tipo,edaddesde,edadhasta,sexo,ganadesde,ganaha sta,semestre,distadesde,distahasta,kime01,kime02,k ime03,kime04,kime05,kime06,kime07,kime08,kime09,ki me10,kime11,kime12,descahembras,descaedad,recagana das) values (";
+allt(str(0))+","+allt(str(tipo))+","+allt(str(ed) )+","+allt(str(eh))+","+allt(str(sx))+","+allt(str (gd))+","+allt(str(gh))+","+allt(str(sm))+","+allt (str(dd))+","+allt(str(dh))+",";
+allt(str(km01))+","+allt(str(km02))+","+allt(str( km03))+","+allt(str(km04))+","+allt(str(km05))+"," +allt(str(km06))+",";
+allt(str(km07))+","+allt(str(km08))+","+allt(str( km09))+","+allt(str(km10))+","+allt(str(km11))+"," +allt(str(km12))+",";
+allt(str(deshem))+","+allt(str(desedad))+","+allt (str(recgan))+ ")" )

la funcion comando es:
************************************************** *******
FUNCTION Comando
************************************************** *******
lpara x1,x2
local Xres
if type("x2")<>"C"
Xres=sqlexec(SQLConexion,x1)
endif
if type("x2")="C"
Xres=sqlexec(SQLConexion,x1,x2)
endif
IF Xres<=0
WAIT WINDOW "Error en Sqlexec - "+allt(x1)
ENDIF
Return
************************************************** *******
LES AGRADECERIA A ALGUIEN QUE ME PUEDA AYUDAR
  #2 (permalink)  
Antiguo 09/09/2009, 07:38
Avatar de gustavoh10  
Fecha de Ingreso: diciembre-2005
Ubicación: ARGENTINA
Mensajes: 196
Antigüedad: 18 años, 4 meses
Puntos: 3
Respuesta: Migracion VFP a SQL Server

se esta conectando efectivamente a la DB?

podes postear el string de conexión?

El error que te esta dando me parece imposible ya q yo le mando al sqlexec como 2000 llamadas a un store procedure concatenadas en un string y jamas tuve ese error

podes probar de imprimir en un messagebox el codigo del insert que estas armando y mira si esta bien armado, que no tengas problemas con las comillas y caracteres de escape

Otra cosa que podes probar es armar el insert no con los valores de las variables, sino con literales y probar.

Saludos!
  #3 (permalink)  
Antiguo 09/09/2009, 14:57
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: Migracion VFP a SQL Server

Pasa que el campo character que le pasaba a la funcion era de mas de 256 bytes, tuve que achicarlo cambiando los nombres de los campos y funciona perfectamente.
Es esta la unica forma??, si mañana tengo que hacer una tabla mucho mas grande no se como haria??
Igualmente muchas Gracias
  #4 (permalink)  
Antiguo 09/09/2009, 18:00
Avatar de gustavoh10  
Fecha de Ingreso: diciembre-2005
Ubicación: ARGENTINA
Mensajes: 196
Antigüedad: 18 años, 4 meses
Puntos: 3
Respuesta: Migracion VFP a SQL Server

Cita:
Iniciado por betodaniel61 Ver Mensaje
Pasa que el campo character que le pasaba a la funcion era de mas de 256 bytes, tuve que achicarlo cambiando los nombres de los campos y funciona perfectamente.
Es esta la unica forma??, si mañana tengo que hacer una tabla mucho mas grande no se como haria??
Igualmente muchas Gracias
Te vuelvo a repetir, no creo que sea un problema de largo del string
podes revisar esta URL.

Que nombre de campos acortaste para que te funcione? los nombre de los campos de la tabla?
Probaste de imprimir el sql para ver si esta bien formateado.

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.