使用 Java 连接到 Oracle 数据库

Posted

技术标签:

【中文标题】使用 Java 连接到 Oracle 数据库【英文标题】:Connect to Oracle DB with Java 【发布时间】:2013-04-29 02:56:25 【问题描述】:

我正在尝试连接到教师托管的 Oracle 数据库。 给定信息:

主持人:bazi.finki.ukim.mk
端口:1521
sid:ORCL
用户:xxx
通行证:xxx

代码如下:

try 
        Class.forName("oracle.jdbc.driver.OracleDriver");
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

        Connection c = DriverManager.getConnection("jdbc:oracle:thin:@bazi.finki.ukim.mk:1521:ORCL","user","pass");
    
    catch (Exception e) 
        System.out.println(e.getMessage());
    

我收到“IO 错误:网络适配器无法建立连接”

我还想提一下,每个组(顺便说一下,这是针对项目的)都有工作区...也受用户名和密码保护,即使我可以连接到数据库,我如何才能连接到工作区?

...而且,他们写道,需要用Putty创建隧道,有必要吗?如何创建?

【问题讨论】:

检查您的问题的解决方案here 你能用sql客户端连接吗? Sql 客户端? mysql Workbench,试过了,我不确定是我做错了什么还是无法真正连接。 【参考方案1】:

这是来自http://www.orafaq.com/wiki/JDBC

有两种 URL 语法,旧语法只适用于 SID,新语法适用于 Oracle 服务名称。

旧语法 jdbc:oracle:thin:@[HOST][:PORT]:SID

新语法 jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE

还要注意这两行是不必要的

Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

DriverManager会通过url自动检测需要的驱动,见API

【讨论】:

以上是关于使用 Java 连接到 Oracle 数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java 从 Oracle 服务器连接到 MS SQL Server

如何将 JDBC 连接到 tns oracle

Sqoop - 尝试连接到 Oracle DB 服务器时出现 java.lang.NullPointerException

通过 Oracledb Driver 使用 Nodejs 连接到远程 Oracle DB

Oracle APEX 5.1使用JDBC和查询数据连接到远程数据库

hibernate连接到db的方式和简单的java程序的方式有区别吗?