SQL to DBF

You can share your experience with HMG. Share with some screenshots/project details so that others will also be benefited.

Moderator: Rathinagiri

User avatar
fchirico
Posts: 324
Joined: Sat Aug 23, 2008 11:27 pm
Location: Argentina

SQL to DBF

Post by fchirico » Fri Mar 12, 2010 3:33 pm

...::: 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.
Attachments
sqltodbf_FORO.zip
(67.2 KiB) Downloaded 391 times
Saludos, Fernando Chirico.

User avatar
Rathinagiri
Posts: 5172
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Has thanked: 136 times
Been thanked: 131 times
Contact:

Post by Rathinagiri » Fri Mar 12, 2010 3:43 pm

Fantastic Fernando!
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.

User avatar
Vanguarda
Posts: 543
Joined: Wed Feb 11, 2009 10:56 am
Location: Americana - SP
Contact:

Post by Vanguarda » Fri Mar 12, 2010 7:51 pm

Wow, very nice.

Fantastic and useful. Thanks for share.

My best regards,
--
Paulo Sérgio Durço (Vanguarda)


http://hmglights.wordpress.com/

User avatar
luisvasquezcl
Posts: 1032
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Has thanked: 11 times
Been thanked: 14 times
Contact:

Post by luisvasquezcl » Fri Mar 12, 2010 11:47 pm

Excelente Fernando, una herramienta muy útil.
Veo que estas inspirado . :D
Saludos cordiales,
Luis Vasquez

User avatar
fchirico
Posts: 324
Joined: Sat Aug 23, 2008 11:27 pm
Location: Argentina

Post by fchirico » Sat Mar 13, 2010 12:49 am

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!!
Saludos, Fernando Chirico.

User avatar
Steed
Posts: 301
Joined: Sat Dec 12, 2009 3:40 pm
Been thanked: 2 times

Post by Steed » Mon Mar 15, 2010 7:58 pm

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

User avatar
fchirico
Posts: 324
Joined: Sat Aug 23, 2008 11:27 pm
Location: Argentina

Post by fchirico » Mon Mar 15, 2010 8:10 pm

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,
Saludos, Fernando Chirico.

User avatar
Steed
Posts: 301
Joined: Sat Dec 12, 2009 3:40 pm
Been thanked: 2 times

Post by Steed » Mon Mar 15, 2010 10:00 pm

Fernando,


6: Float

regards,

Ed

User avatar
luisvasquezcl
Posts: 1032
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Has thanked: 11 times
Been thanked: 14 times
Contact:

Post by luisvasquezcl » Tue Mar 16, 2010 2:51 am

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

User avatar
fchirico
Posts: 324
Joined: Sat Aug 23, 2008 11:27 pm
Location: Argentina

Post by fchirico » Tue Mar 16, 2010 3:26 pm

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.
Attachments
sqltodbf_FORO.zip
(67.21 KiB) Downloaded 251 times
Saludos, Fernando Chirico.

Post Reply