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

问题描述:

我是传统ASP的新手。我宁愿问问题,也不愿意研究小时来解决我的问题。使用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. 嗯,我没有安装的访问权限,但我复制.mdb文件到指定的文件夹,将其工作方式?我熟悉SQL Server,必须运行它才能从中检索数据。

  2. 它使用ADODB,但我无法提交DLL。有人可以为我指定DLL。我必须做些什么才能使它工作。只需注册它将使用regsvr32 my.dll

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

请帮

这是一个几年我,所以这个答案可能有点过时了。另外,由于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

编辑 - 增加更多的信息

万一我没有正确遵循了意见,这里有一个如何通过经典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位)?

+0

我还发现[此msft链接](http://support.microsoft.com/kb/306345)。我向注册表添加了权限,并验证了mdac已安装,但仍然无法正常工作。可能是我做错了什么 – 2012-03-07 05:00:02

+0

确定那个错误消失了。我现在正在获取CreateObject失败 – 2012-03-07 05:10:13

+0

CreateObject是否在同一行或其他地方失败?另外,你如何打开连接?如果你还没有这样做,可能会有这样的事情:'MyConn.Open“Provider = Microsoft.Jet.OLEDB.4.0; Data Source =”&MdbFilePath' – Chris 2012-03-07 05:31:24