用ASP打开远端MDB文件
发布时间:2006-10-14 2:38:31   收集提供:gaoqian
如果你用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

蜘蛛精 译
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50