2016-04-02 96 views
0

代碼:異常線程 「main」 值java.sql.SQLException:沒有找到數據

import java.sql.*;  
class Test  
{ 

public static void main (String[] args) throws ClassNotFoundException ,SQLException  
{ 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
Connection con= DriverManager.getConnection("jdbc:odbc:xyz","system","xyz"); 
System.out.println("connection established");  
}  
} 

錯誤:

Exception in thread "main" java.sql.SQLException: No data found 
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7138) 
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073) 
    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:582) 
    at java.sql.DriverManager.getConnection(DriverManager.java:185) 
    at Test.main(jdbctest.java:9) 
+0

很有可能您沒有正確配置JDBC/ODBC頭部。我認爲數據庫是MSAccess而不是Oracle。確保您的ODBC數據源指向正確的訪問文件 –

回答

0

我想你的驅動程序名稱不能很好地設定。如果要連接到Oracle數據庫,則可以使用oracle jdbc驅動程序。您可以使用下面的演示代碼:

import java.sql.DriverManager; 
import java.sql.Connection; 
import java.sql.SQLException; 

public class OracleJDBC { 

public static void main(String[] argv) { 

    System.out.println("-------- Oracle JDBC Connection Testing ------"); 

    try { 

     Class.forName("oracle.jdbc.driver.OracleDriver"); 

    } catch (ClassNotFoundException e) { 

     System.out.println("Where is your Oracle JDBC Driver?"); 
     e.printStackTrace(); 
     return; 

    } 

    System.out.println("Oracle JDBC Driver Registered!"); 

    Connection connection = null; 

    try { 

     connection = DriverManager.getConnection(
       "jdbc:oracle:thin:@localhost:1521:mkyong", "username", 
       "password"); 

    } catch (SQLException e) { 

     System.out.println("Connection Failed! Check output console"); 
     e.printStackTrace(); 
     return; 

    } 

    if (connection != null) { 
     System.out.println("You made it, take control your database now!"); 
    } else { 
     System.out.println("Failed to make connection!"); 
    } 
} 

} 

欲瞭解更多信息,請查詢完全教程Connect to Oracle DB via JDBC driver

+0

cdaiga ....我想使用odbc即type1驅動程序,我沒有使用type4薄驅動程序 – xyz

+1

@xyz爲什麼要使用類型1? JdbcOdbcDriver已經從Java 8中移除,因爲它不是一個很好的驅動程序。使用供應商特定的(類型2或類型4)驅動程序通常是更好的選擇。 –

相關問題