﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-zenglingjie-随笔分类-Oracle</title><link>http://www.blogjava.net/zenglingjie/category/41546.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 03 Sep 2009 10:36:25 GMT</lastBuildDate><pubDate>Thu, 03 Sep 2009 10:36:25 GMT</pubDate><ttl>60</ttl><item><title>DBLink</title><link>http://www.blogjava.net/zenglingjie/archive/2009/09/03/293767.html</link><dc:creator>曾令杰</dc:creator><author>曾令杰</author><pubDate>Thu, 03 Sep 2009 09:24:00 GMT</pubDate><guid>http://www.blogjava.net/zenglingjie/archive/2009/09/03/293767.html</guid><wfw:comment>http://www.blogjava.net/zenglingjie/comments/293767.html</wfw:comment><comments>http://www.blogjava.net/zenglingjie/archive/2009/09/03/293767.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zenglingjie/comments/commentRss/293767.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zenglingjie/services/trackbacks/293767.html</trackback:ping><description><![CDATA[<p>1. 基本概念:<br />
数据库连接串主要用于建立对远程数据库的访问方法，可以直接读取远程Oracle的数据，或者直接修改。数据库连接串可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。<br />
&nbsp;<br />
a. 创建语法：&nbsp; <br />
CREATE public/private DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY "密码" USING '本地配置的数据的实例名';<br />
例:&nbsp;create public database link link1 connect to zaoz identified by "12345678" using 'dzjcwb';<br />
&nbsp;<br />
b. 使用方法： <br />
SELECT COUNT(*) FROM TABLE_NAME@DB_LINK WHERE WHERE_CLAUSE; --查阅远程数据库的内容。 <br />
UPDATE TEST.TEST@DB_LINK SET SO_NBR = NEW_SO_NBR WHERE WHERE_CLAUSE; --修改远程数据库的内容</p>
<p>还可以通过为这个远程表建立一个同义词来进一步增加透明性，使该数据库连接串对于程序和开发人员来讲完全透明. <br />
CREATE SYNONYM TABLE_NAME FOR TABLE_NAME@DB_LINK;</p>
<p><br />
2. 数据库连接的管理: <br />
SELECT * FROM USER_DB_LINKS;--得到当前用户的数据库联接的名字、联接用户名、联接密码、要连接的主机以及创建时期。 <br />
SELECT * FROM DBA_DB_LINKS; --得到当前系统中所有的数据库联接的创建用户、联接用户名、要连接的主机以及创建时期。 <br />
SELECT * FROM V$DBLINK;&nbsp;&nbsp;&nbsp;&nbsp; --得到当前打开的数据库联接。<br />
&nbsp;</p>
<p>3. 如果没有配置数据的实例名(未测试成功):<br />
&nbsp;create database link wblink<br />
　　&nbsp;&nbsp; connect to 用户名 identified by "密码"<br />
　　&nbsp;&nbsp; using '(DESCRIPTION = <br />
　　&nbsp;&nbsp; (ADDRESS_LIST = <br />
　　&nbsp;&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521)) <br />
　　&nbsp;&nbsp; ) <br />
　　&nbsp;&nbsp; (CONNECT_DATA = <br />
　　&nbsp;&nbsp; (SERVICE_NAME = 数据库名) <br />
　　&nbsp;&nbsp; ) <br />
　　&nbsp;&nbsp; )';<br />
host=数据库的ip地址，service_name=数据库的ssid.ssid表示数据库的名字 </p>
 <img src ="http://www.blogjava.net/zenglingjie/aggbug/293767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zenglingjie/" target="_blank">曾令杰</a> 2009-09-03 17:24 <a href="http://www.blogjava.net/zenglingjie/archive/2009/09/03/293767.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>