mysql 在指定的dsn中_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配。 JAVA...
问题
我正在尝试使用Java连接到MS Access创建的数据库,但我似乎无法管理。我使用ODBC,我得到这个例外:
java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
我的Java:
package javaapplication2;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* @author Owner
*/
public class JavaApplication2 {
/**
* @param args the command line arguments
*
*/
public static void main(String[] args) {
// TODO code application logic here
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String sourceURL = new String("jdbc:odbc:myDatabase");
System.out.println(sourceURL);
Connection dbConnection = DriverManager.getConnection(sourceURL,"admin","");
Statement myStmt = dbConnection.createStatement();
String query = "INSERT INTO People(ID, Name, Surname, Age, Contact, Location, Course) VALUES"
+ " (1007, 'Elroy', 'Smith', '33', 21366688, 'Somewhere', 'somecourse')";
myStmt.executeUpdate(query);
ResultSet results = myStmt.executeQuery("SELECT * FROM People");
while(results.next())
{
System.out.print(results.getString(1));
System.out.print(results.getString(2));
System.out.print(results.getString(3));
System.out.println(results.getString(4));
}
results.close();
}
catch(ClassNotFoundException cnfe)
{
System.out.println(cnfe);
}
catch(SQLException sqle)
{
System.out.println(sqle);
}
}
}
#1 热门回答(116 赞)
这些都不是为我做的。我确实在MSDN上找到了答案。但有一些暗示。错误中的体系结构是指32比64位。我的解决方案是找出我的应用程序在(Access)下运行的哪个2010是32b。我通过查看任务管理器的"进程"选项卡找到了这一点,其中所有32b进程都有* 32名称的结尾。如前所述,控制面板将从此处启动64位版本的ODBC
c:\windows\system32\odbcad32.exe
和32位版本在这里:
c:\windows\sysWOW64\odbcad32.exe(最容易复制并粘贴到运行对话框中)
因此,我在每个指向同一事物的相应ODBC控制面板(AKA管理员)中设置名称以32和64结尾的DSN。然后,我根据使用它的应用程序是32b还是64b来挑选/选择正确的。
#2 热门回答(23 赞)
当Access的位版本(32与64)不匹配时,尝试从MS-Access连接到MySQL数据库时会出现同样的错误
你正在使用的ODBC驱动程序的位版本
用于设置它的ODBC管理器的位版本。
对于那些试图在64位Windows系统上将MS-Access连接到MySQL的人,我经历了纯粹的折磨,试图让它与MS-Access 2010和MS-Access 2013一起工作。最后让它工作,这里是我一路上学到的经验教训:
我买了一台新的Windows 7,64位笔记本电脑,我有一个依赖于使用MySQL表的MS-Access的应用程序。
我使用All In One软件包安装安装了最新版本的MySQL 5.6。这允许你一次安装数据库和ODBC驱动程序。这很好,但它安装的ODBC驱动程序似乎是64位,因此它不适用于32位MS-Access。它似乎也有点小马车 - 不确定那个。在ODBC管理器中添加新DSN时,此驱动程序显示为"Microsoft ODBC For Oracle"。我无法让这个工作。我必须安装32位,如下所述。安装后MySQL运行正常。我以通常的方式恢复了我的应用程序MySQL数据库。现在我想使用MS-Access连接到它。
我以前安装了Office 2013,我认为是64位。但在检查版本(文件,帐户,关于访问)时,我发现它是32位。 Access 2010和2013都是最常见的32位版本。
我的机器是64位机器。因此,默认情况下,当你为MS-Access设置DSN,并通过控制面板,管理选项以通常的方式进入ODBC管理器时,你将获得64位ODBC管理器。你无从知晓!你无法分辨。这是一个巨大的陷阱!!无法从那里设置DSN并使其成功连接到MS Access 32位。你会得到可怕的错误:"指定的dsn包含架构不匹配......"
你必须从MySQL下载并安装32位ODBC驱动程序。我使用的是版本3.5.1 http://dev.mysql.com/downloads/connector/odbc/3.51.html
你必须告诉控制面板中的ODBC管理器进行加权,而必须使用在Start,Command提示符下执行此命令显式调用32位ODBC管理器:c:\ windows \ sysWOW64 \ odbcad32.exe我创建了一个快捷方式这在我的桌面上。在此处,使用此经理构建你的DSN。重要的一点:将它们构建为系统DSNS,而非用户DSNS!这让我绊了一会儿。顺便说一句,64位版本的ODBC管理器也可以显式运行为:c:\ windows \ system32 \ odbcad32.exe
从MySql安装32位ODBC驱动程序后,在ODBC管理器中单击"添加"时,将看到列出的2个驱动程序。选择"MySQL ODBC 5.2 ANSI驱动程序"。我没有尝试UNICODE驱动程序。
这样做。一旦在32位ODBC管理器中定义了DSN,就可以通过Access中的常规方式连接到MySQL - 外部数据,ODBC数据库,链接到数据库,选择机器数据源,以及为MySQL创建的DSN数据库将在那里。
#3 热门回答(8 赞)
架构不匹配。你的JDBC驱动程序和JDK应该具有相同的体系结构。如果你使用32位驱动程序和你的JDK是64位,你会得到这个错误。
修复:取决于你的架构。
如果Java是64位,则需要64位驱动程序。
mysql 在指定的dsn中_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配。 JAVA...相关推荐
- mysql 体系结构不匹配_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配...
当Access的位版本(32 vs 64)不匹配时,尝试从MS-Access连接到MySQL数据库时,会出现完全相同的错误 您正在使用的ODBC驱动程序的位版本 用于设置它的ODBC管理器的位版本. ...
- mysql 在指定的dsn中_access 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配...
[win7 64位 通过ODBC/JDBC连接程序和数据库时,异常报错"在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配"时,是因为你使用64位的管理工具"数 ...
- win7 64位数据库连接问题:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
通过ODBC/JDBC连接程序和数据库时,异常报错"在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配"的解决办法 在指定的 DSN 中,驱动程序和应用程序之间的体系结构 ...
- [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
网页显示的出错内容: Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC 驱动程序管理器] 在指定的 D ...
- ODBC 驱动程序管理器 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 解决方案
ODBC 驱动程序管理器 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 解决方案 参考文章: (1)ODBC 驱动程序管理器 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹 ...
- win7 64位数据库连接问题:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配...
通过ODBC/JDBC连接程序和数据库时,异常报错"在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配"的解决办法 本机:64位win7,64位JDK,做Web实验用32 ...
- odbc java 驱动程序_java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配...
今天把sql server 2008 r2装了起来,64位的,然后就迫不及待地体验连接数据库的操作,编程语言是java.我一开始学了一种非常老的连接方式,使用JDBC-ODBC桥.初次使用不太熟练,所 ...
- Infa连接数据源“指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”
win7 64位+Infa客户端64位+oracle client 32位(Windows上安装两个Oracle客户端,时间长了别手贱删除一个,解决问题又花费了半天时间) 之前配置了Oracle cl ...
- 64位操作系统,mysql ODBC 驱动程序和应用程序之间的体系结构不匹配
1)环境 Windows Server 2008R2 64bit+Mysql 5.5.16 for 32 bit+Mysql odbc connector 64 bit 2)报错信息 在指定的 DSN ...
最新文章
- 计算机网络邮件客户编程,北京理工大学-计算机网络实践-实验4POP3邮件客户程序.docx...
- RHCE 学习笔记(20) ACL
- Linux的默认给home分配多少,Linux 分配/home的磁盘空间给根目录
- ASP.NET MVC3 部署的前期工作
- ssl2345-繁忙的都市
- PostgreSQL 8.4.3 Final / 9.0 Alpha 4
- 解析弱电安防监控管理系统的安装技术重点
- BaiduMapsApiDemo报错:请在 DemoApplication.java文件输入正确的授权Key
- linux档案内容怎么写,Linux cat输出档案命令详解
- A Easy Game(FZU 2146)
- java 调用net remoting_获取 org.springframework.remoting.RemoteAccessException: 在进行调用时无法访问远程服务?...
- EditPlus3.3 集成 SVN
- 透明FLASH的插入方法
- 【比较】2022 程式语言排名与分析,该学习哪一种程式语言?
- 如何编写一份合格的架构设计文档
- Global Mapper 将散点数据转为grd或者其他各种格式数据
- 爬取免费代理,拥有自己的代理池
- mysql数据库 数据查询闯关(头哥)
- Android 使用ViewPager2+ExoPlayer+VideoCache 实现仿抖音视频翻页播放
- 七夕,用python表白的各种姿势
热门文章
- Impala Shell 和 Impala SQL
- C#区域性语言(CultureInfo)与资源本地化(WINFORM,多线程,原理可适用于网络开发)
- c语言:13、指针与内存
- Photoshop插件-锐化-多重调整锐化 (Web)-脚本开发-PS插件
- 51单片机驱动无源蜂鸣器
- 牛客15029数泡泡
- 影响百度竞价点击量的7大原因
- 计算机组成原理实验一:运算器组成的实验
- 判断苹果黑条_【苹果iPhoneXR评测】黑边厚也是苹果的“无奈之举”_苹果 iPhone XR_手机评测-中关村在线...
- Java学习笔记之基础语法(一)