FoxPro/Visual FoxPro - Insercion Datos Foxpro en Sql Server

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 33 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Insercion Datos Foxpro en Sql Server

Publicado por Alejandro (1 intervención) el 04/09/2019 20:56:47
Que tal espero se encuentren bien, tengo la siguiente duda, soy primerizo en esto de FoxPro, no entiendo casi nada, lo que pasa es que tengo que mudar tablas de FoxPro a Sql server, pero esto debe ser constante ya que el ERP de la empresa esta con esta tecnología y aun lo utilizan.

Logre llevarme una tabla completa (con pocos registros y pocas columnas) a SQL, mi problema esta en que quiero hacerlo con tablas mucho mas grandes pero por alguna razón me manda un error de Command contains unrecognized phrase/keyword, por lo que he leído se debe a las tantas columnas que tiene. Intente concatenar.

1
2
3
4
5
6
7
8
9
10
*-- Open DBF file
USE c:\winmagi\data\fcstmod.dbf ALIAS fcstmod
SQLEXEC(lnHandle,"TRUNCATE TABLE FCSTMOD")
SCAN ALL
  lnResult = SQLEXEC(lnHandle, "INSERT INTO dbo.FCSTMOD"+;
  "VALUES (?DEFAULT,?DESC,?MODEL,?PCT1,?PCT10,?PCT11,?PCT12,?PCT2,?PCT3,?PCT4,?PCT5,?PCT6,?PCT7,?PCT8,?PCT9)")
  IF lnResult < 0
    *-- Process SQL error here
  ENDIF
ENDSCAN

pero de esta forma ya no funciona mi inserción, no me manda error pero no inserta nada.

Este mismo código lo hice pero sin concatenar, es decir todo en una sola linea, de esta forma todo bien.

Me gustaría saber si alguno ha pasado por esto y como lo ha solucionado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Insercion Datos Foxpro en Sql Server

Publicado por Leonardo Daniel A. (497 intervenciones) el 05/09/2019 03:11:50
Siempre crea tu sentencia SQL en una variable

_sentencia = "tu sql" + bla bla bla

y luego has un Wait window _sentencia o un ? _setencia y luego un cancel para que termines el programa esto con el fin de que verifiques si se formo correctamente tu sentencia SQL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Insercion Datos Foxpro en Sql Server

Publicado por Fdez (81 intervenciones) el 05/09/2019 18:29:58
Muy importante, cuando concatenas se ve aparentemente bien tu sentencia pero... si observas las instrucciones que muestras: Falta un espacio antes de VALUES y considero que esto ya sería propio de la Sintaxis de la instrucción SQL

lnResult = SQLEXEC(lnHandle, "INSERT INTO dbo.FCSTMOD"+;

" VALUES (?DEFAULT,?DESC,?MODEL,?PCT1,?PCT10,?PCT11,?PCT12,?PCT2,?PCT3,?PCT4,?PCT5,?PCT6,?PCT7,?PCT8,?PCT9)")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Insercion Datos Foxpro en Sql Server

Publicado por jose camilo (805 intervenciones) el 07/09/2019 13:00:35
sucede que tu insert esta incompleto mira el siguiente ejemplo

SQLEXEC(JJsystem2009, "INSERT INTO Cuenta (Cuenta,Detalle,Grupo606,Status,Usuario) VALUES (?M.Cuenta,?m.detalle,?m.grupo606,?m.Status,?WUsuario)")

si notas necesitas tanto los campos como los valores que vas a insertar, solo esas subiendo los valores, debes tomar en cuenta las fecha, Sql te marca un error si una fecha esta en blanco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar