So I've done hours of trial and error and research on this trying to figure out what this error means. As far as I can tell, it's caused by a difference between the bit architectures of the ODBC driver and Microsoft Access (which I'm attempting to connect with Java). MS Access is a 32-bit program, so I'm using the SysWOW64 odbcad32.exe to create the DSN. Here is my Java code for the connection:
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:bukkitdb";
String username = "root";
String password = "root";
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
Bukkit.broadcastMessage("ClassNotFoundException");
}
try {
Connection conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
Bukkit.broadcastMessage(e.getMessage());
}
I've seen many tutorials and examples of how to create these connections. I'm nearly positive there aren't any major flaws in this code. When it runs, the e.getMessage() sends the SQLException in the title to the console: The specified DSN contains an architecture mismatch between the Driver and Application.
Any help in figuring out what I can do to fix this would be greatly appreciated; I've wasted so much time today trying to figure this out.