Conexión ODBC

Tengo una aplicación desarrollada en VB6 con SP5 y trabajo en ADO, que hace uso de tablas .DBF y para poder hacer la conceccion emplee el ODBC con un nombre conexión POR en "DSN de usuario". Mi pregunta es :es posible realizar la conexión ODBC automática, es decir sin la necesidad de realizar la conexión ODBC en capa PC que empleara el sistemas. Y de ser así serian tan amables de enviar un ejemplo al correo sgt:
[email protected]

2 respuestas

Respuesta
1
Si realizas conexión ODBC a la base de datos tendrás que crear una conexión en cada máquina cliente que se vaya a conectar a tu aplicación. Si no deseas hacer esto, puedes manejar la conexión a la base de datos desde tu aplicación usando ADO.
Básicamente es muy parecido a lo que haces ahora (he respondido a tu pregunta de filtro ODBC y me refiro al código que allí tenias) solo que en vez de colocar en el string de conexión "Provider=[nombre_coneccion_ODBC]", colocas el nombre del driver específico para la base de datos que deseas, en tu caso creo que foxpro 2.6
Lamento no poder enviarte código ya que no he realizado conexiones con foxpro, pero lo que sí es importante es usar el driver específico para realizar la conexión.
Respuesta
1
Antes que nada disculpa la tardanza, pues anduve investigando el tema acerca de un dsn de usuario y que te lo puedas llevar a otra pc sin necesidad de tener que darlo de alta otra vez, no se si es eso lo que preguntas, pero encontré que los dsn de usuario y sistema se crean en el registro de windows, he usado el de sistema para algunas aplicaciones pero hasta ahí, es decir el sistema esta en mi pc y de ahí no sale, hay otro dsn que es el de archivo, el cual si se puede exportar porque es un archivo de texto, el problema es que no encontré como usarlo en vb, hay muchos ejemplos de este tipo pero para ASP, francamente nunca he usado dsn de archivo por lo que no se decirte que tan bueno es.
Entonces, tal vez si te vayas a topar con el problema de tener que dar de alta la conexión manual, la verdad no conozco algún método para hacerlo vía programación pero igual y si halla forma, si me entero de algo te aviso.
Saludos en internet encontré un código que hace la conexión con tablas dbf sin emplear el ODBC, lo puse en mi aplicación y funciona bien te lo envío:
Set BdFox = New ADODB.Connection
BdFox.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=F:elitefarmacia;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
BdFox.Open
Set RgFox = New ADODB.Recordset
RgFox.CursorLocation = adUseClient
RgFox.Open "select * from medicina", BdFox, adOpenForwardOnly
Saludos
Pero honestamente desconocía si había manera o no, ya que como te mencione solo hice conexiones para mi pc y otras bases usando los controles de vb.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas