ODBC con DAO
Buenas:
Se puede conectar una aplicacion Visual que trabaja con una BD Access con DAO a ODBC? Cual seria la cadena de Conexion?.
Si alguien tine alguna experiencia ruego me la comunique. Necesito saber si una aplicacion que tengo hecha con access para trabajar en local la puedo reutilizar para red, trabaja con muchas tablas y algunas grandes. Tambien utiliza Data Control.
Tambien os agradeceria el consejo si creeis que es mejor que cambie todo a ADO, aunque me da miedo.
Muchas Gracias.
Se puede conectar una aplicacion Visual que trabaja con una BD Access con DAO a ODBC? Cual seria la cadena de Conexion?.
Si alguien tine alguna experiencia ruego me la comunique. Necesito saber si una aplicacion que tengo hecha con access para trabajar en local la puedo reutilizar para red, trabaja con muchas tablas y algunas grandes. Tambien utiliza Data Control.
Tambien os agradeceria el consejo si creeis que es mejor que cambie todo a ADO, aunque me da miedo.
Muchas Gracias.
Sà puedes conectarlo a través de ODBC, pero cambia los controles Data por controles ADO, más que nada por cuestiones de eficiencia y velocidad( y porque funcionan mucho mejor)
Para conectarlo:
Variables necesarias para la conexión:
Global espacio As Workspace
Global con As Connection
Para conectar:
1º Crear el espacio de trabajo:
Set espacio= CreateWorkspace("NombreDel Espacio",
"Usuario", "Contraseña", dbUseODBC)
2º Abrir la conexión:
Set con = espacio.OpenConnection("NombreDeLaConexion",dbDriverCompleteRequired, False,"ODBC;DSN=NombreEnlace;AUI=NombreUsiario;PWD=Constraseña")
Si pones la información de usuario y contraseña en el espacio de trabajo, no es necesario ponerlo en la cadena de conexion.
A partir de aquà con QueryDef puedes realizar todas las consultas SQL que impliquen modificaciones(Insert,Update,Delete) y con Recordset u OpenRecordset las Select.
Al final deberás cerrar primero la conexión y por último el espacio de trabajo. Puedes tener tantos espacios de trabajo, para distintos usuarios..., como quieras y lo mismo para las conexiones.
Los controles ADO también los deberás conectar al enlace ODBC.
Hay un método de DBEngine que permite crear el enlace ODBC, para no obligar al usuario a crearlo, el método es RegisterDatabase. Si el enlace ya existe simplemente lo actualiza.
Para conectarlo:
Variables necesarias para la conexión:
Global espacio As Workspace
Global con As Connection
Para conectar:
1º Crear el espacio de trabajo:
Set espacio= CreateWorkspace("NombreDel Espacio",
"Usuario", "Contraseña", dbUseODBC)
2º Abrir la conexión:
Set con = espacio.OpenConnection("NombreDeLaConexion",dbDriverCompleteRequired, False,"ODBC;DSN=NombreEnlace;AUI=NombreUsiario;PWD=Constraseña")
Si pones la información de usuario y contraseña en el espacio de trabajo, no es necesario ponerlo en la cadena de conexion.
A partir de aquà con QueryDef puedes realizar todas las consultas SQL que impliquen modificaciones(Insert,Update,Delete) y con Recordset u OpenRecordset las Select.
Al final deberás cerrar primero la conexión y por último el espacio de trabajo. Puedes tener tantos espacios de trabajo, para distintos usuarios..., como quieras y lo mismo para las conexiones.
Los controles ADO también los deberás conectar al enlace ODBC.
Hay un método de DBEngine que permite crear el enlace ODBC, para no obligar al usuario a crearlo, el método es RegisterDatabase. Si el enlace ya existe simplemente lo actualiza.
