我在32位Windows 2008服务器中创建了一个在.NET 3.5中开发的Windows应用程序.在64位服务器中部署应用程序时,它显示错误"Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册".
因此,作为此问题的解决方案,我已将项目的构建属性更改为X86,以便它将以32位模式构建,并在32位机器中重建项目.但是,同一个项目使用其他数据库驱动程序(DB2,SQL等)连接到其他数据库.因此,当我在64位操作系统中再次部署我的应用程序时,它会抛出异常"尝试在32位平台上加载64位程序集".
我使用Microsoft.Jet.OLEDB.4.0驱动程序读取和写入Excel(.xls)
我现在用Google搜索了几个小时.
我读过无数文章,例如:Access是否有Windows 7 ODBC驱动程序?
我尝试过使用ODBC管理员 - 并且已成功为两者添加系统DSN:
当我尝试连接到本地存储的Access DB时:
odbc_connect('Aquarius2', '', '');
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
odbc_connect():SQL错误:[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配,第3行的C:\ export\export.php中的SQLConnect中的SQL状态IM014
简单脚本尝试安装最新的访问驱动程序 - Aquarius2我的DSN名称仍然失败.
我没有想法 - 我错过了什么?
问候,亚历克斯
嗨,我有以下代码连接到Windows 7操作系统上的MS Access数据库.我已将数据源快捷方式更改为指向64位odbc然后32位.但仍然得到错误
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3072)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at TestDBConnection.main(TestDBConnection.java:21)
Run Code Online (Sandbox Code Playgroud)
我的代码是:
import java.sql.Connection;
import java.sql.DriverManager;
public class TestDBConnection {
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
System.out.println("filename");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String database =
"jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\Tests.mdb";
Connection conn = DriverManager.getConnection(database, "", "");
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么有SQL Workbench工具,我可以通过它连接到它而不是通过java代码. …