使用ADODB对象连接到Classic ASP中的Access数据库

时间:2012-03-07 03:59:47

标签: ms-access asp-classic connection adodb

我是经典ASP的新手。我宁愿提出问题而不是一小时的研究来解决我的问题。

我正在访问Access数据库并收到以下错误。

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified    
/default1.asp, line 30

罪魁祸首就是这个

Set MyConn = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("c:\database\MyDatabase.mdb") 
  1. 好吧,我没有安装Access,但我将.mdb文件复制到指定的文件夹,它会以这种方式工作吗?我熟悉SQL Server,必须运行才能从中检索数据。

  2. 它使用ADODB,但我无法归档DLL。有人可以为我指定DLL。我需要做些什么才能让它发挥作用。只需注册它就可以使用regsvr32 my.dll

  3. 我找不到连接字符串(我通常使用连接字符串连接到我的SQL Server)。在这种情况下,我是否需要Access数据库?

  4. 请帮忙

1 个答案:

答案 0 :(得分:2)

对我来说已经有几年了,所以这个答案可能有点过时了。此外,由于Access数据库以.mdb结尾,我假设它是2007年之前的数据库。

是的,只是该文件应该工作。 Access不需要运行,只需要读取文件即可。但是,您可能需要安装某些组件才能与Access数据库通信(以前是MDAC   - http://www.microsoft.com/download/en/details.aspx?id=1953,如果仍然是100%肯定的话。 MDAC包含JET引擎,经典ASP用它来与Access文件通信。

对于连接字符串,此网站提供了一些访问连接字符串示例:http://connectionstrings.com/access

修改 - 添加更多信息

如果我没有正确地关注评论,这里是一个如何通过Classic ASP连接到Access数据库的示例:

Set MyConn = Server.CreateObject("ADODB.Connection")
MdbFilePath = "c:\database\MyDatabase.mdb" ''# Server.MapPath is not needed, since we are providing the whole path already
MyConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & MdbFilePath

运行上面的代码时,您是否仍然收到错误?另外,你正在运行的设置是什么(IIS7,IIS6,32位,64位)?