Acessando um banco de dados Access remotamente usando ODBC


Se você esta usando uma conexão ODBC ( com ou sem DSN) para acessar um banco de dados Access em um computador remoto , você poderá obter o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

Para tentar evitar este erro tanto ASP como ActiveX suportam duas maneiras de abrir uma conexão sem usar um DSN com um banco de dados Access remotamente ou em uma rede local:

1- DAO - Access97 - Se você estiver usando DAO ( recomendável somente para banco de dados pequenos) tente o código abaixo:

  Dim Arquivo, Conn, RS
  Const ReadOnly = False
  Arquivo = "\\server\share\arquivo.mdb"
  Set Conn = CreateObject("DAO.DBEngine.35").Workspaces(0).OpenDatabase(Arquivo,,ReadOnly)
  Set RS = Conn.OpenRecordset(SQL)

2- ADO - Se você estiver usando ADO e um provedor OLE DB tente usar o seguinte código :

  Dim Conn, RS
  Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "\\server\share\arquivo.mdb"
  Set RS = Conn.Execute(SQL)

Até a próxima dica ASP.


José Carlos Macoratti