用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 = "\serversharefile.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 "\serversharefile.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

文章来自: Original
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 5 | 引用: 0 | 查看次数: 742
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 20 字 | UBB代码 关闭 | [img]标签 关闭