我可以使用 tns 文件从 plsql 连接到数据库
现在我想使用 JDBC 从 Java 连接到数据库。
我尝试过的:
我搜索谷歌,发现我必须使用这个连接字符串:
"jdbc:oracle:thin:@//host:port))/tnsfile)";
我的计算机名称是myPC
tns文件中写入的端口是5151
所以我尝试了这个连接字符串
"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 文档 http://docs.oracle.com/cd/B19306_01/java.102/b14355/urls.htm#BEIDIJCE
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
file:
my_net_service_name=
(DESCRIPTION=
(ADDRESS=(some address here))
(CONNECT_DATA=
(SID=some_SID_name)))
Where my_net_service_name
string 是你必须替换的ENTRY_FROM_TNSNAMES
来自我的 Java 示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)