Page 2 of 2
Re: SQL to DBF
Posted: Tue Mar 16, 2010 3:29 pm
by fchirico
luisvasquezcl wrote: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
Gracias Luis!
Estuve mirando, pero los tipos de datos de Access no coinciden con los de MS-SQL.
Una pregunta... que es el tipo de datos "F" ?
Lo ví aquí:
"ELSEIF rs:fields(cTemp):Type = adDouble
cType = 'F'"
Re: SQL to DBF
Posted: Tue Mar 16, 2010 4:19 pm
by Steed
Ok Gracias
Re: SQL to DBF
Posted: Wed Mar 17, 2010 1:23 am
by luisvasquezcl
Hola Fernando,
la F es para float... indicando que va con decimales el valor (eso es para uso interno del browseado ... "que manera de perder el tiempo con ese control ....8)")
IMHO, No sé si los tipos de datos definidos para Ado puedan ser distintos que para mssql... puede que falten algunos tipos pero no que sean distintos.
De todas formas, la recuperación de datos a través de ado es distinto que con odbc... algunos datos dan problemas, sobre todo los numéricos. no sé por qué pero los devuelve como texto.
Con ado trabajas directo con oledb y conversas en forma nativa con la base de datos , por lo que con seguridad podrás obtener los datos correctos y mucho más ràpido.
Otra característica de Ado es que puedes acceder a muchas bases de datos o archivos con solo cambiar el string de conexion... asi de facil; dale una mirada a ADORDD allí podras ver que puedes conectar a Oracle, MSSql, MySql, Dbf, Paradox, txt, xls, claro que es sólo para windows, no como odbc que es universal, pero no estamos en el tema de la multiplataforma sino en la multiconexion 8))).
Saludos cordiales,
Luis Vasquez
Re: SQL to DBF
Posted: Wed Mar 17, 2010 3:30 am
by fchirico
luisvasquezcl wrote:Hola Fernando,
la F es para float... indicando que va con decimales el valor (eso es para uso interno del browseado ... "que manera de perder el tiempo con ese control ....8)")
Ok, gracias!
IMHO, No sé si los tipos de datos definidos para Ado puedan ser distintos que para mssql... puede que falten algunos tipos pero no que sean distintos.
Me refiero a que el número de tipo de dato no es lo mismo, por ejemplo en TODBC() el tipo de dato NUMERIC es 2 y en tu .CH no recuerdo cual pero no es NUMERIC.
De todas formas, la recuperación de datos a través de ado es distinto que con odbc... algunos datos dan problemas, sobre todo los numéricos. no sé por qué pero los devuelve como texto.
Con ado trabajas directo con oledb y conversas en forma nativa con la base de datos , por lo que con seguridad podrás obtener los datos correctos y mucho más ràpido.
Otra característica de Ado es que puedes acceder a muchas bases de datos o archivos con solo cambiar el string de conexion... asi de facil; dale una mirada a ADORDD allí podras ver que puedes conectar a Oracle, MSSql, MySql, Dbf, Paradox, txt, xls, claro que es sólo para windows, no como odbc que es universal, pero no estamos en el tema de la multiplataforma sino en la multiconexion 8)))
Gracias por los consejos, miraré ADORDD!!
Re: SQL to DBF
Posted: Wed Mar 17, 2010 4:13 am
by swapan
Excellent Fernando & Thanks a lot for sharing!
It can develop into a very useful tool when such an issue of data exporting comes......
Re: SQL to DBF
Posted: Thu Mar 18, 2010 2:52 am
by luisvasquezcl
Hola Fernando.
me da la impresion que todbc trata de simplificar las cosas tratando los datos como uno solo en el caso de los numéricos.
el tema es que hay varios tipos de datos numéricos y estan definidos en el .ch.
Todos sabemos que en las bases de datos los tipos de datos son muchos más que los que usamos en los dbf por lo que corresponde definir y usar lo que es realmente y no lo que quisieramos que fuera. uuffff, que me salió filosófico ....
bueno, fuera de bromas, la clase todbc no creo que esté terminada y además no supera estos simples problemas como los tipos de datos que es básico.... por eso no la recomiendo.
saludos cordiales,
luis vasquez.
Re: SQL to DBF
Posted: Thu Mar 18, 2010 12:13 pm
by fchirico
luisvasquezcl wrote:Hola Fernando.
me da la impresion que todbc trata de simplificar las cosas tratando los datos como uno solo en el caso de los numéricos.
luis vasquez.
Luis, gracias por tus aclaraciones.
No estoy de acurdo con esta afirmación, ya que otros campos numéricos como INT, DECIMAL, y NUMERIC los trata sin problemas.
Quizá TODBC() no sea el ideal, lo evaluaré, pero me pareció
muyyyy rápida , fíjate en mi primer post que menciono que RECUPERO casi 1 millón de registros ( 957.000 ) y luego los IMPORTO a un DBF en 32 segundos.
Estoy tratando de contactarme con el autor de la clase TODBC (Felipe G. Coury , pero no doy con él, aunque los mails no los devuelve, signo de que la casilla existe ) para ver si puede actualizar "su clase". De lo contrario deberé buscar otra forma de leer los datos.
Te aclaro que en mi aplicación la conección a la base SQL no es ODBC, es nativa de SQL.
Solo uso TODBC() para recuperar la estructura y contenido de los campos, y también para crear la conección pero no la hago por medio de un DSN sino de "SQL Native Client"
Un abrazo!
Re: SQL to DBF
Posted: Thu Mar 18, 2010 12:54 pm
by luisvasquezcl
Hola Fernando.
Hice pruebas con todbc hace algunos años y no me gustó por los problemas que comentabamos con los tipos de dato y por la velocidad que para recuperar una tabla que tengo de prueba con un poco más de 11 mil registros en Access se demoraba bastante.
De todas formas me interesaba darte mi opinión sobre la clase todbc, lamentablemente no se ha actualizado siendo que es una herramienta tremendamente útil ya que hay muchas bases de datos que no tienen drivers oledb pero sí para odbc; ojalá puedas contactarte con el creador de la clase y pueda actualizarla ya que como te mencionaba antes, es importante para la conexión a bases de datos modernas.
Me gustó que se haya extendido este hilo de conversación ya que nos sirve para ir aprendiendo y viendo como evoluciona el lenguaje y las herramientas.
bueno, no me alargo más ya que más parece un testamento que un comentario

...
saludos cordiales,
Luis Vasquez.