如果你用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="serversharefile.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"serversharefile.mdb"
SetRS=Conn.Execute(SQL)
你得确定使用ASP的用户有NT的数据库及共享访问权限。
假定有权限的话,你亦可访问其它机器中的开放数据连接:
'http://www.pstruh.cz
SetUM=CreateObject("UserManager.Server")
UM.LogonUser"Loginwiththerights","Password","Domain"
...
opendatabase
...
UM.RevertToSelf