2017-07-10 3 views
-1

リモートのOracleデータベースにJavaプログラムを接続し、私は私のPC.Iの仮想マシンにインストールされている私のOracleサーバーは、次のコードを試してみてください。私は私のJavaプログラムとの間の接続を確立したい

connection=DriverManager.getConnection("jdbc:oracle:thin:@server:1521:dbname", "user", "password"); 

をここにエラーがあります:

java.sql.SQLRecoverableException: Erreur d'E/S: The Network Adapter could not establish the connection. 

私はjavaを開発するための私のツール以外に何もインストールしていません。私の聴取者はここからそのコンテンツを開始します:

TST= 
(DESCRIPTION = 
    (ADDRESS+ (PROTOCOL = TCP) (HOST = oracleserver.domainesa)(PORT = 1521)) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = TST) 
) 
) 

ここでoracleserverは私のサーバの名前です。 私を助けてください。

+0

Thin JDBCドライバを使用しているため、TNSリスナーの設定には関係ありません。シンドライバーは、TNSリスナー構成ファイルを使用しません。 – Jesper

+0

JDBC URLとして 'jdbc:oracle:thin:@server:1521:dbname'を使用していますか?その文字列の 'server'部分を、データベースサーバの実際のホスト名またはIPアドレスで置き換えます。 – Jesper

答えて

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



public class DBConnection { 

     //read this from a propery file is better 
    public static final String DB_DRIVER = "oracle.jdbc.driver.OracleDriver"; 
    public static final String DB_CONNECTION = "jdbc:oracle:thin:@ipaddress:port:sid"; 
    public static final String DB_USER = "username"; 
    public static final String DB_PASSWORD = "pwd"; 

     public static Connection getDBConnection() { 

      Connection dbConnection = null; 

      try { 

       Class.forName(DB_DRIVER); 

      } catch (ClassNotFoundException e) { 

       System.out.println("Error driver JDBC: "+e.getMessage()); 

      } 

      try { 

      dbConnection = DriverManager.getConnection(DB_CONNECTION,DB_USER,DB_PASSWORD); 
      return dbConnection; 

      } catch (SQLException e) { 

       System.out.println("Cannot open connection: "+e.getMessage()); 

      } 

      return dbConnection; 

     } 

    } 
+0

同じエラーが発生しました:ネットワークアダプタが接続を確立できませんでした –

+0

クライアントからの接続をテストしようとしましたか?できます ? – Frank

関連する問題