Ms access 使用ADODB对象连接到经典ASP中的Access数据库

Ms access 使用ADODB对象连接到经典ASP中的Access数据库,ms-access,asp-classic,connection,adodb,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

我是新的经典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") 
  • 嗯,我没有安装Access,但我已将.mdb文件复制到指定的文件夹中,这样行吗?我熟悉SQL Server,必须运行SQL Server才能从中检索数据

  • 它使用ADODB,但我无法对DLL进行归档。有人能为我指定DLL吗。我要做什么才能让它工作。只需使用
    regsvr32 my.dll注册它就可以了

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


  • 请帮助我,我已经有好几年了,所以这个答案可能有点过时了。另外,由于Access数据库以.mdb结尾,我假设它是2007年以前的数据库

    是的,只要文件就行了。Access不需要运行,它只需要读取文件。但是,您可能需要安装某些组件来与Access数据库(以前是MDAC)通信 -,如果仍然是,则不是100%确定)。MDAC包含JET引擎,经典ASP使用它来访问文件

    关于连接字符串,本网站提供了一些访问连接字符串的示例:

    编辑-添加更多信息

    为了防止我没有正确地遵循注释,下面是一个如何通过经典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位)?

    我也找到了。我向注册表添加了权限,并验证了mdac已安装,但仍然无法工作。可能是我做错了什么好吧,错误消失了。我现在得到CreateObject失败CreateObject在同一行或其他地方失败了吗?另外,您如何打开连接?如果您还没有这样做,这样做可能会奏效:
    MyConn.Open“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“&MdbFilePath
    实际的罪魁祸首是这条
    Set-BACSE=Server.CreateObject(“naiccodes2\u 1\u 0.Engine”)
    。我确实注册了DLL。安装MDAC后,现在我再次遇到上述错误。应用程序中没有db连接。如果您在64位服务器上运行,并且使用32位对象,则需要为站点运行的应用程序池启用32位模式。阅读更多信息。