sqldblink
⑴ plsql语句如何dblink其他库
DBLink 的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能。
下面简单的介绍DBLink的配置:
服务器A:IP 192.168.1.10, 数据库实例名:orcl 数据库登录:test/test
服务器B:IP 192.168.1.1, 数据库实例名:orcl 数据库登录:user/user
在A服务器上的数据库可以访问服务器B的数据库时就需要用到dblink
⑵ 我在plsql中使用dblink访问远程数据库上的表,执行select后为什么plsql提示有数据需要提交或回滚
你应该是查询结果没展示完全,点击下面的绿色向下箭头获取全部的查询结果就不会提示要你提交或者回滚了。
⑶ 如何建立sql server dblink
安装oracle transparent gateway 和 sql server client,再进行相应的配置
sqlserver服务器下载并安装gateways_win32.zip,添拦誉加OracleOraTg10g_home1TNSListener服务
配置拆弯tg_1\tg4msql\admin\inittg4msql.ora文件指向SQL SERVER
HS_FDS_CONNECT_INFO=”SERVER=192.168.1.102;DATABASE=mssql“
修改 \network\admin\listener.ora增加服务名
(SID_DESC =
(SID_NAME = tg4msql)
(ORACLE_HOME = x:\oracle\....\tg_1)
(PROGRAM = tg4msql)
)
注意:SID名称是tg4msql,这个要对应。
重启OracleOraTg10g_home1TNSListener
Oracle数据库服务器
修改network\admin\tnsnames.ora增加网络服务名
tg4msql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.SQL网管地址。。)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tg4msql)
)
(HS=OK)
)
以正常方式建dblink并使用简御段即可
create database link SMS_MSQL connect to sa identified by “123456″using ‘tg4msql’;
select * from dbo.sysobjects@SMS_MSQL;
⑷ oracle里的DBLINK是做什么的
database link(简称DBLINK)是定义一个数据库到另一个数据库的路径的对象,database link允许查询其他数据库的远程表及执行远程程序。
database link是单向的连接。在创建database link的时候,Oracle在数据字典中保存相关的database link的信息。
在使用database link的时候,Oracle通过预先定义好的连接信息,访问相应的远程数据库以完成相应的工作。
dblink(Database Link)就像电话线一样是一个通道,如果要访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
(4)sqldblink扩展阅读
1、建立dblink之前需要团肆春确认的事项:
1)、确认从local database到remote database的网络连接是雹罩正常的,tnsping要能成功。
2)、确认在remote database上面有相应的访问权限。
2、database link分类:
1)、Private类型,创建database link的user拥有该database link,只有建立该database link的schema的塌耐session能使用这个database link来访问远程的数据库。同时也只有Owner能删除该private database link。
2)、Public类型,Owner是PUBLIC。Public的database link是数据库级的,本地数据库中所有的拥有数据库访问权限的用户或pl/sql程序都能使用此database link来访问相应的远程数据库。
3)、Global类型,Owner是PUBLIC。Global的database link是网络级的。
参考资料
网络-dblink
⑸ 如何使用sql语句快速查询一个oracle数据库中有哪些视图使用了dblink
dblink的特征是@,也就是说出现这个就是dblink。
那么可以selectowner,view_namefromdba_viewswheretext_vc like'%@%'
以上语句只能查询建立语句在4000字符以内的,也就是说,视图建立语句的长度要是大于4000字符(计算空带漏格),那么即使带有@符号也有可能查不出来。
如果想完整查出岩前来,那么就需要查询long格式的text字段,long字段比较特别,并不能之家查询,具体的查询方式请参考:long字段查询
当然,这样查可能很慢,要是你的dnlink代码只有一个或者两个,那么可以考虑都写上去,这样能蠢枣烂快一些。
⑹ 如何创建从SQL到Oracle的DBlink
1、利用Net Manager创备链建服务,具体步骤如下图片所示:
打开Oracle安装客户端的时候所装好的Net Manager
输入网络服务名,可以随便输入
选择TCP/IP(Internet协议)
在这里,主机名可以输入IP地址,不过如果IP不确定,且可能会经常变动的话,输入主机的名字也可以;输入完主机名字后,输入oracle的端口号,如下所示:
输入SID:
用oracle的用户名和密码进行测试
如果测试成功,则关闭当前画面,注意要保存哦!
完成这个步骤,会在tnsnames.ora中产生连接所需要的信息,例如服务器IP、SID,端口号等。
2、此时,oracle的信息已经基本上OK了,此时需要做的就是建弊滚御立DBlink了。具体步骤如下所示:
打开租岩SQL Management Studio,如下所示来建立Link Server:
点击上图中的New Linked Server,出现以下画面:
按照上图中的信息输入,其中Linked server可以随便填写,Provider则固定选我图中的OLE DB,Proct Name处填入之前在Oracle的Net Manager中输入的名字,Data Source也填入Net Manager中输入的名字。完成后切换到Security页签,如下图所示:
注意在上图中的最下面选择“Be made using this security context”,然后在remote login处输入oracle的用户名,在with password中输入该用户名对应的password,完成后保存即可。
3、上面的设定都已经完成好之后,下面就是验证是否成功了。验证的时候,只要直接写一个sql查询oracle中的资料即可,如下所示:
注意在上图中,from的后面,table的名字要在前面加上linked server的名字,然后后面有两个小点,再然后才是oracle中用户的名字,最后就是表的名字了。其中特别需要注意的时候,用户的名字和表的名字都是要全部大写的。
关于第二步中,在SQL可视化工具中的操作也可以通过以下SQL来进行:
EXEC master.dbo.sp_addlinkedserver @server = N'link_peter_oracle',@srvproct = N'peter_oracle', @provider = N'MSDAORA', @datasrc = N'peter_oracle',@provstr = N'User ID=scott;Password=tiger'--其中@srvproct、@datasrc写实例名;@provstr为oracle的用户名和密码
⑺ oracle 在同一条SQL中不能使用多个dblink,该如何解决
ORA-02019 connection description for remote database not found Cause: An attempt was made to connect or log in to a remote database using a connection description that could not be found. Action: Specify an existing database link. Query the data dictionary to see all existing database links. See your operating system-specific Net8 documentation for valid connection descriptors. 检查所用到DBLINK名是否已经定义
第一:数据库多链是肯定兆拆允许的。你启猜汪要检查DBLINK名的存在与否性悄仔。第二:编程方式不好,INSERT INTO TAB A 时最好把 A的要插入的字段名加上。若哪天A表加了一个字段,扩展了一下,这SQL就要报错了。
⑻ sql net message from dblink如何查找语句
在数据表中使用select查询。
SQL中最基本也是最重要的DML语句之一为Select查询语句。DML全称Data Manipulation Language(数据操纵语言命令),它可以使用户能够查询数据库以及操作已有数据库中的数据。
当我们的SQL语句通过dblink访问远程数据库时,需要先将远程数据传输到本地再进行处理,在完成这个动作之前该会话处于SQL Net message from dblink等待。该等待主要发生在如下几种情形:数据库中有大量的物化视图需要定时同步远程数据库至本地。。数据库中有大量SQL语句需要通过dblink从远程获取数据。