Si vous utilisez ODBCConnection (DSNORDSN-sans) pour accéder à la base de données distante (UNCPATH), OLEDB aura le message d'erreur suivant:
Fournisseur Microsoft Oledb pour ODBCDiverserror '80004005'
[Microsoft] [ODBCMICROSOFT ACCESSDRIVER] THEMICROSOFT JETDATABASEENEENNANCANNOTOPEENTHEFILE '(inconnu)'. ItisalreadyOpenedExclusivelyByanoTherUser, OryounedPermissionToViewtsData.
Vous pouvez éviter complètement cette erreur - ASP et ActiveX prennent en charge deux façons d'ouvrir des connexions sans DSN aux fichiers MDB, ou d'accès aux fichiers MDB par d'autres machines.
1.Daodatabase (onlyforsmallload)
Dimfile, Conn, Rs
De manière constante = false
File = "// server / share / file.mdb"
SetConn = CreateObject ("dao.dbEngine.35"). Workspaces (0) .OpenDatabase (fichier ,, ReadOnly)
Setrs = conn.openRecordSet (SQL)
2.Ado + JetoledBProvider
Dimconn, RS
SetConn = createObject ("adodb.connection")
Conn.provider = "Microsoft.Jet.oledb.4.0"
Conn.open "// Server / Share / File.mdb"
Setrs = conn.excute (sql)
Vous devez vous assurer que les utilisateurs utilisant ASP ont une base de données NT et des droits d'accès partagé.
Si vous avez la permission, vous pouvez également accéder aux connexions de données ouvertes dans d'autres machines:
'http://www.pstruh.cz
Setum = createObject ("usermanager.server")
Um.logonUser "LoginwithTheRights", "Mot de passe", "domaine"
...
opendatabase
...
Um.RevertOSELF