本篇文章给大家分享的是有关使用JDBC怎么对ORACLE进行连接,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为汤原企业提供专业的网站建设、网站设计,汤原网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。格式一: Oracle JDBC Thin using an SID:
jdbc:oracle:thin:@host:port:SID Example: jdbc:oracle:thin:@localhost:1521:orcl
这种格式是最简单也是用得最多的
你的oracle的sid可以通过一下指令获得:
sqlplus / as sysdba select value from v$parameter where name='instance_name';
import java.sql.*; public class TestOrclConnect { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl"; conn = DriverManager.getConnection(dbURL, "admin2", "123"); System.out.println("连接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
格式二: Oracle JDBC Thin using a ServiceName:
jdbc:oracle:thin:@//host:port/service_name Example:jdbc:oracle:thin:@//localhost:1521/orcl.city.com
注意这里的格式,@后面有//, port后面:换成了/,这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。
你的oracle的service_name可以通过以下方式获得:
sqlplus / as sysdba select value from v$parameter where name='service_names'; import java.sql.*; public class TestOrclConnect { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String dbURL = "jdbc:oracle:thin:@//localhost:1521/orcl.city.com"; conn = DriverManager.getConnection(dbURL, "admin2", "123"); System.out.println("连接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
格式三:Oracle JDBC Thin using a TNSName:
jdbc:oracle:thin:@TNSName Example: jdbc:oracle:thin:@TNS_ALIAS_NAME
我在谷歌上找了一些资源,要实现这种连接方式首先要建立tnsnames.ora文件,然后通过System.setProperty指明这个文件路径。再通过上面URL中的@符号指定文件中的要使用到的资源。
这种格式我现在水平几乎没见过,对于我来说用得到这种的情况并不多吧。当然既然是通过配置文件来读取指定资源肯定也可以直接将资源拿出来放在URL中,直接放在URL中的URL模版是下面这样的(tnsnames.ora这个文件中放的就是@符号后面的那一段代码,当然用文件的好处就是可以配置多个,便于管理):
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL= TCP)(HOST=hostA)(PORT= 1522))(ADDRESS=(PROTOCOL=TCP)(HOST=your host)(PORT=1521)))(SOURCE_ROUTE=yes)(CONNECT_DATA=(SERVICE_NAME=your service_name)))
jdbc连接代码如下:
“` import java.sql.*; public class TestOrclConnect { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String dbURL = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))" + "(CONNECT_DATA=(SERVICE_NAME=orcl.city.com)))"; conn = DriverManager.getConnection(dbURL, "admin2", "123"); System.out.println("连接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
以上就是使用JDBC怎么对ORACLE进行连接,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款