ODBC错误驱动程序错误' 80004005'启用32位应用程序

时间:2018-05-03 17:06:09

标签: ms-access asp-classic iis-10

我正在尝试跟随我的学校项目,并按照他们的建议完全设置IIS,包括允许32位应用程序。然而,尽管从头开始在2台不同的计算机上进行尝试,但它仍然无法正常工作。我收到错误消息:

  

Microsoft OLE DB Provider for ODBC Drivers错误' 80004005'

     

[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

     

/ LEGO STORE / Program.asp,第17行

我的代码如下:

remove_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); // Removes existing Styles/Scripts.

function my_theme_enqueue_styles() {

    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/assets/css/style.min.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );
}

add_action( 'get_footer', 'my_theme_enqueue_styles' );

我不知道为什么它不起作用,我不能继续我的项目,直到它被修复。这些文件是从我的计算机托管的,而不是使用单独的服务器。我检查了现有的解决方案,但它们是针对不同版本的IIS而我不知道它们有多么不同。

2 个答案:

答案 0 :(得分:0)

如果您使用的是IIS 7或更高版本,您还需要配置应用池以允许32位使用:

  1. 右键单击“应用程序池”,然后选择“高级设置...” 或者在选择
    后从“操作”窗格中选择相同的选项 应用程序池
  2. 将“启用32位应用程序”更改为True并单击“确定”

答案 1 :(得分:0)

有两种与MS Access程序关联的数据库,JET(.mdb文件)和ACE(.accdb文件)。较新的ACE格式是在2007年推出的,早在Classic ASP被认为是“遗留”之后很久,所以任何处理Classic ASP和Access的教​​程都会假设您正在使用JET数据库。适用于JET的ADODB驱动程序(仅支持IIS的Windows版本)仅为32位。不包括ACE的ADODB驱动程序,您必须自己下载并安装它。它有一个64位版本,据我所知它只有有64位版本。

我怀疑实现您想要实现的目标的最无痛的方法是打开Access并以较旧的.mdb格式保存数据库版本。

OLEDB连接字符串通常优先用于ODBC连接字符串。在您的情况下,连接字符串将是:

con.open("Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("Lego.mdb"))

www.connectionstrings.com是一个很好的资源,(以及一个非常容易记住的网址)。