如果你用ODBCconnection(DSNorDSN-less)來訪問遠端的(UNCpath)數據庫,OLEDB會出現以下錯誤信息:
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCMicrosoftAccessDriver]TheMicrosoftJetdatabaseenginecannotopenthefile'(unknown)'.Itisalreadyopenedexclusivelybyanotheruser,oryouneedpermissiontoviewitsdata.
你完全可以避免這種錯誤--ASP和ActiveX支持兩種方式打開MDB文件的DSN-less連接,或由其它機器訪問MDB文件。
1.DAOdatabase(onlyforsmallload)
DimFile,Conn,RS
ConstReadOnly=False
File="//server/share/file.mdb"
SetConn=CreateObject("DAO.DBEngine.35").Workspaces(0).OpenDatabase(File,,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.Execute(SQL)
你得確定使用ASP的用戶有NT的數據庫及共享訪問權限。
假定有權限的話,你亦可訪問其它機器中的開放數據連接:
'http://www.pstruh.cz
SetUM=CreateObject("UserManager.Server")
UM.LogonUser"Loginwiththerights","Password","Domain"
...
opendatabase
...
UM.RevertToSelf