oracle数据库链接建立技巧解析÷

oracle数据库链接建立技巧解析÷

ID:16404383

大小:36.00 KB

页数:4页

时间:2018-08-09

oracle数据库链接建立技巧解析÷_第1页
oracle数据库链接建立技巧解析÷_第2页
oracle数据库链接建立技巧解析÷_第3页
oracle数据库链接建立技巧解析÷_第4页
资源描述:

《oracle数据库链接建立技巧解析÷》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库链接(DATABASELINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。数据库链接隐藏了对远程数据库访问的复杂性。通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下:  CREATEDATABASELINK链接名CONNECTTO账户IDENTIFIEDBY口令  USING服务名;  创建数据库链接,需要CREATEDATABASELINK系统权限。  数据库链接一旦

2、建立并测试成功,就可以使用以下形式来访问远程用户的表。  表名@数据库链接名  例:在局域网上创建和使用数据库链接。  步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。  步骤2:登录本地数据库SCOTT账户,创建数据库链接:  CONNECTSCOTT/TIGER@MYDB  CREATEDATABASELINKabcCONNECTTOscottIDENTIFIEDBYtigerUSING'MYDB_REMOTE';  执行结果为:  数据库链接已创建。  查询远程数据库的数据:  SELECT* FROMemp@abc;  结果

3、略。  步骤4:一个分布查询:  SELECTename,dnameFROMemp@abce,deptdWHEREe.deptno=d.deptno;  结果略。  说明:在本例中,远程数据库服务名是MYDB_REMOTE,创建的数据库链接名称是abc.emp@abc表示远程数据库的emp表。步骤4是一个联合查询,数据来自本地服务器的dept表和远程服务器的emp表。如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UP

4、DATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?建议用户认真学习如何最大限度地发挥SQL的功能。Oracle数据库链接时的一些技巧和实例讲解  通常在系统中会为常用的对象预定义了一些同义词,利用它们可以方便地访问用户的常用对象。而在客户端软件开发中使用Thin驱动程序,在开发Java软件方面,Oracle的数据库中提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI驱动程序或Thin驱动程序。OCI驱动

5、程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle建议在客户端软件的开发中使用OCI驱动程序,这似乎是正确的。但我建议使用Thin驱动程序,因为通过多次测试发现,在通常情况下,Thin驱动程序的性能都超过了OCI驱动程序。  我们在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能。  值得注意的是,一

6、旦关闭了自动提交功能,我们就需要通过调用Connection类的commit()和rollback()方法来人工的方式对事务进行管理。  1)Statement对象的使用  数据库链接时不可缺的是Statement对象,Statement对象是JDBC程序设计中非常重要的对象,它包含了SQL语句的查询和更新的操作,通过Statement对象可以完成对数据库的查询和更新操作,可以这样理解:Statement对象是操作数据库数据的载体。在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个S

7、QL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。  并且,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。