亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

指定的DSN包含驅動程序和應用程序之間的體系結構不匹配

指定的DSN包含驅動程序和應用程序之間的體系結構不匹配

收到一只叮咚 2019-10-09 15:57:21
我試圖連接到使用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);        }    }}
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

這些都不對我有用。我確實在MSDN上找到了答案。雖然有暗示。錯誤中的體系結構是指32位和64位。我的解決方案是找出我的應用程序在(訪問)2010b為32b下運行。我通過在任務管理器的“進程”選項卡中查找所有32b進程的名稱結尾都帶有* 32的字符來發現此問題。如前所述,控制面板將從此處啟動64位版本的ODBC


c:\windows\system32\odbcad32.exe


這里是32位版本:


c:\windows\sysWOW64\odbcad32.exe (最容易復制并粘貼到運行對話框中)


因此,我在每個指向同一對象的ODBC控制面板(AKA管理員)中設置了以32和64結尾的DSN。然后,我根據使用它的應用程序是32b還是64b來選擇/選擇正確的。


查看完整回答
反對 回復 2019-10-09
  • 3 回答
  • 0 關注
  • 3140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號