gpt4 book ai didi

java - 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配。 JAVA

转载 作者:IT老高 更新时间:2023-10-28 11:41:23 27 4
gpt4 key购买 nike

我正在尝试使用 Java 连接到由 MS Access 创建的数据库,但我似乎无法管理。我正在使用 ODBC,但遇到了这个异常:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] 指定的 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);
}
}
}

最佳答案

这些都不适合我。我确实在 MSDN 上找到了答案。虽然有暗示。错误中的架构是指 32 位和 64 位。我的解决方案是找出我的应用程序在哪个 2010 为 32b 的 (Access) 下运行。我通过查看任务管理器的进程选项卡发现了这一点,其中所有 32b 进程的名称末尾都有 * 32。如前所述,控制面板将从此处启动 64 位版本的 ODBC

c:\windows\system32\odbcad32.exe

32 位版本在这里:

c:\windows\sysWOW64\odbcad32.exe(最容易复制并粘贴到运行对话框中)

因此,我在每个指向同一事物的相应 ODBC 控制面板(AKA Administrator)中设置了名称以 32 和 64 结尾的 DSN。然后,我根据使用它的应用程序是 32b 还是 64b 来选择/选择正确的。

关于java - 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配。 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895823/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com