jdbc 连接oracle 数据库格式
jdbc的数据库连接 折腾我一个晚上, 这篇博客写的很全,谢谢博主,转载下留作备份:
转载自:http://java-xp.iteye.com/blog/1639607
最近使用jdbc连接oracle时报错:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was:
10.12.162.84:1521:xxxx
登陆oracle数据发现在network/admin/文件夹下的tnsnames.ora中配置的是:SERVICE_NAME =xxxx。经过查询发现,是jdbc中的连接串使用的不正确。Java JDBC Thin Driver 连接 Oracle有三种方法,如下:
格式一: Oracle JDBC Thin using a ServiceName:
jdbc:oracle:thin:@//<host>:<port>/<service_name>
Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE
注意这里的格式,@后面有//, 这是与使用SID的主要区别。
这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。
格式二: Oracle JDBC Thin using an SID:
jdbc:oracle:thin:@<host>:<port>:<SID>
Example: jdbc:oracle:thin:@192.168.2.1:1521:X01A
Note:
Support for SID is being phased out. Oracle recommends that users switch over to usingservice names.
格式三:Oracle JDBC Thin using a TNSName:
jdbc:oracle:thin:@<TNSName>
Example: jdbc:oracle:thin:@GL
Note:
Support for TNSNames was added in the driver release 10.2.0.1
linux下查询sid的方法:
在配置oracle环境变量的情况可以使用 echo $ORACLE_SID,如果没有可以使用ps -ef |grep oracle 来查询:
oracle 2548 1 0 Aug17 ? 00:00:00 ora_pmon_xxxx
后面的xxxx就是对应的sid。
在windows环境下,oracle是以后台服务的方式被管理的,所以看"控制面板->管理工具->服务 里面的名称:"OracleServiceORCL",则ORCL就是sid;
service_name 和sid的区别:
Service_name:该参数是由oracle8i引进的。在8i以前,使用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样
sid是数据库实例的名字,每个实例各不相同。
转载于:https://blog.51cto.com/ccchencheng/1252397
jdbc 连接oracle 数据库格式相关推荐
- JDBC连接Oracle数据库测试
JDBC连接Oracle数据库测试 package date20180727.dao; import java.sql.Connection; import java.sql.DriverManage ...
- jdbc连接oracle数据库
jdbc连接Oracle数据库的步骤: 1.导入需要的jar包,比如ojdbc6.jar 2.加载驱动.Class.forName("oracle.jdbc.OracleDriver&quo ...
- Java案例:利用JDBC连接Oracle数据库
Java案例:利用JDBC连接Oracle数据库 一.准备工作 1.启动SQL Developer,设置java.exe路径 2.在Oracle SQL Developer里,新建数据库连接 连接名: ...
- idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...
- jdbc连接oracle查询数据库,JDBC连接Oracle数据库,并操作数据库,查询表
JDBC连接Oracle数据库 protected void doPost(HttpServletRequest request, HttpServletResponse response) thro ...
- Java编程 JDBC连接Oracle数据库
Part1 JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- java启动监听器报错_JAVA通过JDBC连接Oracle数据库详解【转载】
1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2. ...
- 利用JDBC连接Oracle数据库
JDBC是Sun公司制定的一个可以 用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接) 是一种用于执行SQL ...
- JDBC连接oracle数据库进行增,删,改,查
1.配置相关maven环境 附上链接 2.建立实体类 这里我建立一个实体类映射数据库中的XWD_TEST表 public class ModelOfJDBC {private int id;priva ...
- 如何使用jdbc连接oracle数据库
一.准备ojdbc驱动包 链接:https://pan.baidu.com/s/1JEni3roZ-0Jg7qRL2Zp3XQ 提取码:320i 二.加载驱动并创建连接 package com.qi ...
最新文章
- CSDN下载资源+全领域电子书+程序员提升课,领取这些不香吗?
- 清除tomcat的缓存
- 浅谈Socket编程
- asp.net关于kindeditor 上传图片出现服务器故障的解决办法
- js,jquery获取页面元素距离浏览器工作区顶端的距离
- Exchange 2003 升级 2010地址列表升级
- Smarty的入门使用
- tomcat websock html5,websocket实战(4) websocket版贪食蛇游戏(tomcat官方自带)
- 应用安全_WTS-WAF绕过
- Altium Designer 20的安装教程
- hsql导入mysql_在测试过程中使用HSQL数据库
- 基于ricequant线性回归量化交易
- 【知识地图】开发测试全栈 (未完待续)
- css内边距外边距和边框
- 瑞成科技加入openKylin,推动社区生态繁荣发展!
- Win11如何自动清理垃圾?Win11自动删除文件设置方法
- Meta-DETR: Image-Level Few-Shot Detection with Inter-Class Correlation Exploitation
- “凡尔赛文学”是奢侈品电商的“取款机”?
- CIE1931-XYZ表色系统
- LeetCode刷题-11