Page 1 of 2

SQL to DBF

Posted: Fri Mar 12, 2010 3:33 pm
by fchirico
...::: SPANISH :::...

Bueno...

Despues de mucho trabajo he desarrollado una aplicación que se las dejo aquí, la cual importa datos de una base MS-SQL a una DBF (por medio de una sentencia TRANSQ-SQL ejecutada a gusto por el usuario) y muestra el resultado en un GRID.

Si necesitan trabajar la DBF al salir de la aplicación los resultados del GRID quedan en una DBF denominada _DATADIC.

Lo he probado con 957258 registros y funciona muy rápido, el acceso a la base MS-SQL lo hago a traves de "SQL Native Client".

Los resultados se pueden exportar a un EXCEL ( utilidad que he tomado de SUDIP con pequeñas modificaciones desde "viewtopic.php?f=15&t=284" ).

Los tipos de datos de MS-SQL son respetados al migrar a DBF, con exepción del tipo de dato BIGINT, que no sé por qué motivo la clase TODBC() toma este dato como CARACTER en vez de NUMERICO.

Los tipos de datos que están soportados por ahora son:

INT
BIGINT
DECIMAL
VARCHAR
DATETIME
NVARCHAR
CHAR
BIT
NUMERIC

Un pequeño problema se presenta cuando el nombre del campo de la tabla MS-SQL supera los 15 permitidos en xBASE, este lo trunca.

Bueno espero que lo disfruten.



...::: ENGLISH :::...

Well ...

After much work I have developed an application that I leave here, which imports data from a database MS-SQL to DBF (by a TRANSQ-SQL statement executed at ease by the user) and displays the result in a GRID .

If you need to work the DBF to exit the application of GRID results are in a DBF called _DATADIC.

I have tried it with 957,258 records and works very quickly, the access to the database MS-SQL I do through "SQL Native Client".

Results can be exported to an EXCEL (utility that I have taken of Sudip with slight modifications from "viewtopic.php?f=15&t=284").

The data types of MS-SQL are respected when migrating to DBF, with Exception of the data type BIGINT, I do not know why the class TODBC () takes this as a character instead of NUMERIC.

The data types that are supported for now are:

INT
BIGINT
DECIMAL
VARCHAR
DATETIME
NVARCHAR
CHAR
BIT
NUMERIC

A small problem arises when the field name of the MS-SQL table exceeds 15 xBASE permitted, this is truncated.

Well I hope you enjoy.

Re: SQL to DBF

Posted: Fri Mar 12, 2010 3:43 pm
by Rathinagiri
Fantastic Fernando!

Re: SQL to DBF

Posted: Fri Mar 12, 2010 7:51 pm
by Vanguarda
Wow, very nice.

Fantastic and useful. Thanks for share.

My best regards,

Re: SQL to DBF

Posted: Fri Mar 12, 2010 11:47 pm
by luisvasquezcl
Excelente Fernando, una herramienta muy útil.
Veo que estas inspirado . :D
Saludos cordiales,
Luis Vasquez

Re: SQL to DBF

Posted: Sat Mar 13, 2010 12:49 am
by fchirico
luisvasquezcl wrote:Excelente Fernando, una herramienta muy útil.
Veo que estas inspirado . :D
Saludos cordiales,
Luis Vasquez
Ja Ja!!! :D :lol:

En realidad son dos aplicaciones que las empecé hace 2 meses, pero con las vacaciones y sumado a el poco tiempo que me dá mi trabajo no podía terminarlos.
Pero en estas ultimas dos semanas le pude dedicar el tiempo sufuciente.

Gracias Luis!!

Re: SQL to DBF

Posted: Mon Mar 15, 2010 7:58 pm
by Steed
Fernando,

Al probar la herramienta me arroja error con el tipo de dato 6
faltaria incluirlo en tu funcion cTipoDato


Gracias,

Ed


Fernando

When I try your tool, it show error with the data type 6, could you include these kind of data type


Regards,

Ed

Re: SQL to DBF

Posted: Mon Mar 15, 2010 8:10 pm
by fchirico
Steed wrote:Fernando,

Al probar la herramienta me arroja error con el tipo de dato 6
faltaria incluirlo en tu funcion cTipoDato
Ed
Por favor, fíjate en el diseño de la tabla de tu base SQL cuál es el tipo que no esté en la lista que menciono y pásamelo así lo agrego:

4 int
-5 bigint
3 decimal
12 varchar
11 datetime
-9 nvarchar
1 char
-7 bit
2 numeric

ya que no tengo un diccionario de datos para esto, lo fuí probando a mano.

Saludos,

Re: SQL to DBF

Posted: Mon Mar 15, 2010 10:00 pm
by Steed
Fernando,


6: Float

regards,

Ed

Re: SQL to DBF

Posted: Tue Mar 16, 2010 2:51 am
by luisvasquezcl
Hola Fernando.
en este mismo foro encontraras el demo que hice browseado.
allí hay un archivo que se llama adodb.ch que contiene las definiciones de tipos de datos.
espero te sea de utilidad.
saludos cordiales,
luis vasquez

Re: SQL to DBF

Posted: Tue Mar 16, 2010 3:26 pm
by fchirico
Steed wrote:Fernando,


6: Float

regards,

Ed
Ed:

Agregué el campo FLOAT, pero si tiene decimales la clase TODBC() no me los reconoce, solo trae la parte entera.

Le he enviado un mail al creador de la classe para que me ayude a resolver el problema. Algo similar ocurre con el tipo de datos BIGINT.

Te dejo la aplicación corregida.