2017-07-29 10 views
0

ここでは、OCIドライバを使用してテーブルを作成するプログラムですが、次のエラーが表示されます。Oracle TYPE 2 JDBCテーブル作成エラー

Error Message

import java.sql.*; 
public class CreateTable{ 
public static void main(String[] args)throws Exception{ 
Connection con; 
Statement ps; 
String query; 
Class.forName("oracle.jdbc.driver.OracleDriver"); 
con=DriverManager.getConnection("jdbc:oracle:oci8:orcl","scott","tiger"); 
query="CREATE TABLE Employee (roll number(3))"; 
ps=con.createStatement(); 
ps.executeUpdate(query); 
System.out.println("Table created"); 
ps.close(); 
con.close(); 
} 
} 
+1

あなたが実際に(あなたのエラーごとに)何にも接続されていない、あなたはほぼ確実に(セットアップにあなたの[ローカル・ネーミング・パラメータ]を必要とするhttps://docs.oracle.com/cd/B28359_01/network.111/b28317/ tnsnames.htm#NETRF007)( 'tnsnames.ora')です。 **なぜあなたはタイプ2のドライバを使用していますか? Oracle Type 4ドライバーは高速です...そしてscott/tigerをまだ使用している場合は、それらを無効にしてください! –

+0

例外のスタックトレースをスクリーンショットではなくテキストとして投稿してください。 –

答えて

-1

これを試してみてください:自分のJavaドライバは、 "ダイレクト・ツー・データベース" のためのものですので、

try (
Connection conn = DriverManager.getConnection(
    "jdbc:oracle:oci8:orcl","scott","tiger"); // MySQL 
     Statement ps = conn.createStatement(); 
     { 
     String query="CREATE TABLE Employee (roll number(3))"; 
     ps=con.createStatement(); 
     ps.executeUpdate(query); 
      System.out.println("Table created"); 
     System.out.println("Table created"); 
     } 
     } catch(SQLException ex) { 
     ex.printStackTrace(); 
     } 
ps.close(); 
con.close(); 
} 
} 

これは、タイプ4接続を使用することをお勧めします。

+0

元のコードから変更した内容と、その理由を追加してください。導入した変更のどれもが問題に関連していません。 –