将java程序连接到远程oracle数据库

时间:2017-07-10 12:11:48

标签: java jdbc oracle11g

我想在我的java程序和我安装在PC的虚拟机上的oracle服务器之间建立连接。我尝试以下代码:

 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是我的服务器的名称。 请帮帮我。

1 个答案:

答案 0 :(得分: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;

        }

    }