跨数据库使用比较简单,如ceshi数据库想使用Finance2014的A表,则使用SELECT FROM Finance2014dboA
跨服务器的使用,相对复杂一些 需要先连接服务器
EXEC sp_addlinkedserver 'srv_lnk','','SQLOLEDB','1921682249'EXEC sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','12345'
再设置保证存储过程能够使用
EXEC sp_serveroption @server='srv_lnk',@optname='rpc',@optvalue='TRUE'EXEC sp_serveroption @server='srv_lnk',@optname='rpc out',@optvalue='TRUE'
再跨服务器调用数据库表和存储过程如:
SELECT FROM srv_lnkAdboB 其中A为数据库B为表
EXEC srv_lnkAdboB 其中A为数据库B为存储过程
第一种方法:
可以通过界面添加链接服务器:
某数据库服务器>>服务器对象>>链接服务器>>右键创建链接服务器>>依次填写链接服务器,服务器类型,产品名称可以随便写,数据源IP地址,安全性中的使用此安全上下文建立连接远程服务器登录名,密码。
然后select from 链接服务器名称数据库dbo表名即可。
第二种方法:
/创建链接服务器在本地服务器创建
exec sp_addlinkedserver 'linkserver','','SQLOLEDB','1921681252'
-- exec sp_addlinkedserver '链接服务器名称','','SQLOLEDB','远程地址'
//登录链接服务器 exec sp_addlinkedsrvlogin 'linkserver','false',null,'linzhi888','joherlnet'
--exec sp_addlinkedsrvlogin '链接服务器名称','false',null,'用户名','密码'
//查询语句 select from linkserverhangqingdboSZ_Ticks
-- select from 链接服务器名称数据库dbo表名
SQLSERVER很简单,登陆一个别的数据库,查询northwind数据库的category表的数据,可以写select from northwindcategories。
ORACLE需要创建一个DBLINK
1配置本地数据库服务器的tnsnamesora文件
$vi $ORACLE_HOME/network/admin/tnsnamesora
添加如下行,其中DBLINK为连接名(可自定义),HOST和PORT为数据库侦听的IP及端口,SERVICE_NAME为数据库的SID,
TESTDBLINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1921681202)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST)
)
)
2登录本地数据库,创建DBLINK
执行如下查询语句,其中TESTDB为DBLINK名(可自定义),TESTDBLINK为先前在tnsnamesora中定义的连接名,dbuser为用户名,为密码
create database link TESTDB
connect to dbuser identified by
using 'TESTDBLINK';
3使用DBLINK,select from table_name@TESTDB;
Select TA From Adboproducts TA
join Bdboprice TB
On TAP_Pid = TBPid
Order By TBPri
以上就是关于跨服务器数据库之间的 *** 作怎么进行全部的内容,包括:跨服务器数据库之间的 *** 作怎么进行、PL/SQL下如何查询来自两个数据库的数据、可否用sql语句实现不在同一个服务器上的两个数据库的交互等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)