用ASP打开远端MDB文件的方法

如果你用ODBC connection (DSN or DSN-less)来访问远端的(UNC path)数据库, OLEDB会出现以下错误信息: 

 

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. 

  你完全可以避免这种错误--ASP和ActiveX支持两种方式打开MDB文件的DSN-less连接,或由其它机器访问MDB文件。 

1. DAO database (only for small load) 

Dim File, Conn, RS 

Const ReadOnly = False 

File = "\\server\share\file.mdb" 

Set Conn = CreateObject("DAO.DBEngine.35").Workspaces(0).OpenDatabase(File,,ReadOnly) 

Set RS = Conn.OpenRecordset(SQL) 

2. ADO + Jet OLE DB provider 

Dim Conn, RS 

Set Conn = CreateObject("ADODB.Connection") 

Conn.Provider = "Microsoft.Jet.OLEDB.4.0" 

Conn.Open "\\server\share\file.mdb" 

Set RS = Conn.Execute(SQL) 

你得确定使用ASP的用户有NT的数据库及共享访问权限。 

假定有权限的话,你亦可访问其它机器中的开放数据连接: 

http://www.pstruh.cz/ 

Set UM = CreateObject("UserManager.Server") 

UM.LogonUser "Login with the rights", "Password", "Domain" 

... 

open database 

... 

UM.RevertToSelf

版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i76.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>