Hola. Necesito hacer una aplicación que usa una base de datos en un servidor. LA base de datos es Access, mediante Visual Basic. He probado DAO, ADO, RDO pero al parecer no uso la sintaxis correcta al momento de hacer la conexión. ¿Podrías ayudarme o darme un consejo sobre como hacerlo?. Gracias
1 respuesta
Respuesta de denciso
1
1
denciso, Soy una persona multifacética, tanto manejo la informática,...
Me puedes copiar la forma en que estas realizando la conexión para ver cualquier posible solución a tu problema.
Gracias por contestar... La base de datos se encuentra en una carpeta compartida en un servidor. Cuando lo hago con ADO, pongo lo siguiente: Dim bd As ADODB.Connection Dim Rs As ADODB.Recordset bd.Open "Driver={Microsoft Access Driver (*.mdb)};" & "Dbq=//nombreServidor/carpetaCompartida/dataBase.mdb;" & "SystemDB=//nombreServidor/carpetaCompartida/dataBase.mdw;", "usuario", "password" Cuando lo hago con RDO, lo uso mediante un DSN, pero comoo lo tendría que hacer en cada máquina, no creo que sea así. De todas formas te mando como lo estoy haciendo: Global bdEn As rdoEngine Global bdEv As rdoEnvironment Global bd As rdoConnection Global Rs As rdoResultset Public Sub conectar() Set bdEn = rdoEngine Set bdEv = bdEn.rdoEnvironments(0) Set bd = bdEv.OpenConnection("", False, False, "DSN=miDSN; UID=; PWD=;") Set Rs = bd.OpenResultset("SELECT * FROM TABLA", Type:=rdOpenForwardOnly, LockType:=rdConcurReadOnly, Options:=rdExecDirect) End Sub Y cuando lo hago con DAO, me funciona sólo si manualmente inicio sesión en la carpeta compartida. De otra forma me manda un error que dice que la base de datos esta abierta en modo exclusivo o no tiene los permisos para ver datos; y no se ejecuta la aplicación. Lo hago así: Global bd As Database Global rs As Recordset Public Sub conectar() Set bd = OpenDatabase("//servidor/carpetaCompartida/dataBase.mdb", False) End Sub Gracias ...
Cuando lo hago con ADO, pongo lo siguiente: Dim bd As ADODB.Connection Dim Rs As ADODB.Recordset bd.Open "Driver={Microsoft Access Driver (*.mdb)};" & "Dbq=//nombreServidor/carpetaCompartida/dataBase.mdb;" & "SystemDB=//nombreServidor/carpetaCompartida/dataBase.mdw;" Si le quitas los atributos de usuario y password debe de funcionar sin problemas.