如何将JDBC连接到TNS Oracle

我可以使用tns文件从plsql连接到数据库

现在,我想使用JDBC从Java连接到数据库。

我试过的

我搜索谷歌,我发现我必须使用此连接字符串:

"jdbc:oracle:thin:@//host:port))/tnsfile)";

我的电脑名称是

在tnsfile中写入的端口是

所以我尝试了这个连接字符串

"jdbc:oracle:thin:@//myPC:5151))/tnsfile"

但我有这个例外

java.sql.SQLRecoverableException: IO ERROR: SO Exception was generated

我究竟做错了什么?

如何使用tns文件将JDBC连接到数据库?

回答:

您必须设置一个名为的属性,以oracle.net.tns_admin指向包含您的tnsnames.ora文件的文件夹的位置。然后,在@登录数据库URL

后,从该文件中指定条目。检查下面的例子。您可以在此处找到更多信息:数据源和URL-

Oracle文档

import java.sql.*;

public class Main {

public static void main(String[] args) throws Exception {

System.setProperty("oracle.net.tns_admin", "C:/app/product/11.2.0/client_1/NETWORK/ADMIN");

String dbURL = "jdbc:oracle:thin:@ENTRY_FROM_TNSNAMES";

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

Connection conn = null;

Statement stmt = null;

try {

conn = DriverManager.getConnection(dbURL, "your_user_name", "your_password");

System.out.println("Connection established");

stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT dummy FROM dual");

if (rs.next()) {

System.out.println(rs.getString(1));

}

} catch (Exception e) {

e.printStackTrace();

}

finally {

if (stmt != null) try { stmt.close(); } catch (Exception e) {}

if (conn != null) try { conn.close(); } catch (Exception e) {}

}

}

}

来自tnsnames.ora文件的示例条目:

my_net_service_name = 

(DESCRIPTION =

(地址=(此处为一些地址))

(CONNECT_DATA =

(SID = some_SID_name)))

在我的Java示例中,my_net_service_namestring是您必须替代的内容ENTRY_FROM_TNSNAMES

以上是 如何将JDBC连接到TNS Oracle 的全部内容, 来源链接: utcz.com/qa/406586.html

回到顶部