win7 64位 java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 问题

64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以,程序里面的链接字符串不能正常工作。需要修改下IIS的工作环境,改成32位的,在IIS的管理界面中,把应用程序池中的默认应用程序池常规选项中的32位方式启用就可以了。

Win7 下Access的 ODBC连接
直接在

控制面板---管理工具----数据源(ODBC)

打开数据源配置,发现只有SQLServer的驱动,其他的都没有了。

解决方法是:

C:/Windows/SysWOW64

在这个目录下找到:

odbcad32.exe

这个文件,双击打开。

里面有很多可用个数据源驱动,然后就可用添加连接Access的ODBC的数据源了。

  java学到Access数据库那里用ODBC时提示:”java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”,现在终于弄好了,把过程跟大家分享一下。
  Win7 64控制面板里面直接打开ODBC就只有Mysql,添加Access会出错:“[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”,到网上查了一下,直接运行C:/Windows/SysWOW64/odbcad32.exe 就是32位ODBC,这个里面倒是能添加Access数据库了。然后用我的64位Java编译,运行后还是有错:“指定之DNS中的驱动程式和应用程式架构不相符”,终于明白64位Java要对应64位ODBC,于是安装了Microsoft Office 2010 64bit 这回使用控制面板里面的64位ODBC终于能加Access数据库了,Java编译运行也正常了。此时我在使用目录里面的32位ODBC反而不行了(之前的32位Office卸载了)提示:“找不到Microsoft Access Driver (*.mdb,*.accdb)ODBC驱动程序的安装例程,请重新安装驱动程序”。据我分析如果安装32位Java则用系统目录里的32位Odbc也是可以的,所以软件的构架要相对应。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/popo_9872/archive/2011/04/24/6359272.aspx

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: 这个异常是由于在访问数据库元数据时发生了错误。在Java中,使用JDBC API来连接和操作数据库。当使用JDBC连接到数据库时,需要使用特定的驱动程序。在连接数据库之前,需要先加载数据库驱动程序java.sql.SQLExceptionJava中常见的数据库操作异常类,它表示在操作数据库时发生了错误。异常信息"jz0sj: 没有在此数据库发现元数据存取器信息"说明在当前连接的数据库中找不到元数据存取器信息。 元数据是描述数据库结构的数据,如表、列、索引、约束等。通过访问元数据,可以获取数据库的各种信息并进行操作。元数据存取器负责查询和提供元数据信息。 发生这个异常可能有以下几种原因: 1. 数据库驱动问题:可能没有正确加载数据库驱动程序或者驱动程序版本不匹配。需要确保已正确加载相应的数据库驱动。 2. 数据库连接问题:可能在连接数据库时提供了错误的URL或者连接字符串,导致无法连接到数据库。需要检查连接配置信息是否正确。 3. 数据库访问权限问题:可能当前用户对数据库访问权限不足,导致无法查询元数据信息。需要检查用户权限并进行相应的授权。 解决这个异常的方法包括: 1. 检查数据库驱动程序是否正确加载,并且版本与数据库匹配。 2. 检查数据库连接配置信息是否正确。 3. 检查当前用户对数据库访问权限,并进行相应的授权。 4. 如果以上方法都没有解决问题,可以尝试重新安装数据库驱动程序或者切换到其他版本的数据库驱动。 总之,这个异常的原因可能是数据库驱动程序加载、数据库连接配置或者数据库访问权限的问题。需要逐一排查并解决相应的原因才能解决这个异常。 ### 回答2: java.sql.SQLException: jz0sj: 没有在此数据库发现元数据存取器信息。这个错误是由SQL查询引起的,具体原因是数据库中没有找到元数据存取器的信息。 元数据存取器是用来获取和操作数据库中的元数据(如表、列、索引等)的工具。在执行SQL查询时,JDBC驱动程序会使用元数据存取器来获取查询结果所需的信息。 出现这个错误可能有以下几个原因: 1. 数据库连接问题:可能是连接到数据库的URL、用户名或密码不正确,导致无法正常连接到数据库。可以检查连接参数是否正确,并确保数据库服务正常运行。 2. 数据库版本不兼容:有些数据库版本可能不支持或不兼容某些查询语句或操作。可以检查数据库版本是否与应用程序的要求匹配,如果不匹配,则需要升级数据库或修改查询语句。 3. 缺少JDBC驱动程序:如果没有正确设置JDBC驱动程序,或者使用的驱动程序版本不兼容数据库,可能导致元数据存取器无法正常工作。可以检查并确保正确加载了正确的驱动程序。 4. 数据库权限问题:有些数据库需要用户具有特定的权限才能访问和操作元数据。如果没有正确配置用户权限,可能导致无法获取元数据。可以检查用户权限设置,并确保具有访问元数据的权限。 解决这个问题可以尝试以下几个步骤: 1. 检查数据库连接参数是否正确,并确保数据库服务正常运行。 2. 检查数据库版本是否与应用程序要求匹配,如果不匹配,可以升级数据库或修改查询语句。 3. 确保正确加载了适用的JDBC驱动程序,并确保驱动程序数据库兼容。 4. 检查用户权限设置,确保具有访问元数据的权限。 总之,这个错误是由于数据库中缺少元数据存取器的信息引起的,需要检查并确保数据库连接参数、驱动程序和用户权限设置正确。如果问题仍然存在,可以尝试与数据库管理员或开发人员进行进一步的沟通和排查。 ### 回答3: java.sql.SQLException: jz0sj: 没有在此数据库发现元数据存取器信息。是一个与Sybase数据库连接相关的异常。这个异常通常出现在连接数据库时,指示无法找到元数据存取器信息。 元数据存取器(Metadata accessor)是用于获取数据库对象的元数据信息的组件。它是在数据库连接过程中由数据库驱动程序加载的,用于提供一些访问数据库结构、表和列等信息的能力。 出现这个异常的原因可能是以下几种情况: 1. 数据库驱动程序版本不兼容:可能是数据库驱动程序版本与Sybase数据库版本不兼容,导致无法加载正确的元数据存取器信息。可以尝试更新驱动程序或者使用兼容的驱动程序版本。 2. 数据库连接配置错误:数据库连接配置中可能存在错误,导致无法正确加载元数据存取器信息。可以检查数据库连接配置是否正确,并修正错误配置项。 3. 缺失必要的依赖项:可能是缺少了一些必要的依赖库或者配置文件,导致无法加载元数据存取器。可以检查是否缺失了相关的依赖项,并进行补充。 为了解决这个异常,可以尝试以下几个步骤: 1. 确认数据库驱动程序版本与Sybase数据库版本是否兼容。 2. 检查数据库连接配置是否正确,修正错误配置项。 3. 检查是否缺失了必要的依赖项,如果有则进行补充。 4. 重启应用程序和数据库,尝试重新连接数据库。 如果以上步骤无法解决问题,可以尝试查阅Sybase数据库的官方文档,或者咨询相关的技术支持人员,以获取更详细的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值