| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2987 人关注过本帖
标题:[求助]有谁知道用sp_addlinkedserver建立linkserver
只看楼主 加入收藏
honrry
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2004-6-2
收藏
 问题点数:0 回复次数:6 
[求助]有谁知道用sp_addlinkedserver建立linkserver
远程服务器是SYABSE,本地是SQL,怎样用sp_addlinkedserver建立linkserver?
搜索更多相关主题的帖子: linkserver 
2004-06-23 14:57
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 
[转帖]

sp_addlinkedserver 'mylinkedserver', 'product_name', 'myoledbprovider', 'data_source','location', 'provider_string', 'catalog' SELECT * FROM OPENQUERY(mylinkedserver, 'select * from table1')


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-23 18:07
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 
先使用Oracle客户端软件设定一个网络服务名称,如:"OracleServer'﹝请参考Oracle手册﹞ 在SQL Server 7.0中,使用链接的服务器连接到Oracle. 如: sp_addlinkedserver 'TESTLINK', 'Oracle', 'MSDAORA', 'OracleServer', ps. 'TESTLINK'是由您自定义的,'Oracle', 'MSDAORA'是固定的,'OracleServer'是由步骤1确定的。 在SQL Server 7.0中,使用addlinkedsrvlogin登录到Oracle. 如: sp_addlinkedsrvlogin 'TESTLINK', 'false', NULL,'OracleUsr', 'OraclePwd' ps. 'TESTLINK'是步骤2确定的,'OracleUsr'是Oracle用户名,'OraclePwd'是用户密码。 执行T-SQL语句。如: select * from .... ps.linkservername是步骤2确定的。

最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-23 18:09
honrry
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2004-6-2
收藏
得分:0 

谢谢斑竹的解答。我的远程linkserver是sybase库服务器,那又该如何建立link呢?麻烦详细解答,ok?谢谢


2004-06-25 00:40
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

[转贴]

远程事务

在Oracle中执行远程事务,你必须通过一个数据库连接访问远程数据库节点。在SQL Server中,你必须访问一个远程服务器。远程服务器是一台运行SQL Server的服务器,用户可以用他们的本地服务器访问该服务器。当某个服务器被设置为远程服务器,用户就可以在其上使用系统过程和存储过程而不需要显式的登录到上面。

远程服务器是成对设置的。你必须配置两台服务器,使它们互相把对方当作远程服务器。每台服务器的名字都必须用sp_addlinkedserver系统存储过程或者SQL Server Enterprise Manager加到伙伴服务器上。

设置完远程服务器以后,你可以用sp_addremotelogin系统存储过程或者SQL Server Enterprise Manager来为那些必须访问远程服务器的用户设置远程登录账号。在这一步完成以后,你还必须赋予他们执行存储过程的权限。

然后用EXECUTE语句来在远程服务器上执行过程。这个例子在远程服务器STUDSVR1上执行了validate_student存储过程,并且将指明成功或者失败的返回情况存储在@retvalue1中:

DECLARE @retvalue1 int

EXECUTE @retvalue = STUDSVR1.student_db.student_admin.validate_student '111111111'

欲了解详细信息,请参看SQL Server联机手册。

分布事务

如果修改两个或者更多的数据库节点上的表,Oracle就自动初始化一个分布式事务。SQL Server分布式事务使用包含在SQL Server中的微软分布事务协调器(Microsoft Distributed Transaction Coordinator,MS DTC)中的两步提交服务(two-phase commit services)。

缺省情况下,SQL Server必须被通知参与分布事务。SQL Server参与一个MS DTC事务可以用下面方式中的任一种来存储:

  • BEGIN DISTRIBUTED TRANSACTION语句。该语句开始一个新的MS DTC事务。
  • 一个客户端应用程序直接调用DTC事务接口。

在下例中,注意对本地表GRADE和远程表CLASS的分布式更新(使用一个class_name过程):

BEGIN DISTRIBUTED TRANSACTION

UPDATE STUDENT_ADMIN.GRADE

SET GRADE = 'B+' WHERE SSN = '111111111' AND CCODE = '1234'

DECLARE @retvalue1 int

EXECUTE @retvalue1 = CLASS_SVR1.dept_db.dept_admin.class_name '1234', 'Basketweaving'

COMMIT TRANSACTION

GO

如果程序不能完成事务,则通过ROLLBACK TRANSACTION语句终止该事务。如果程序失败或者参与的资源管理器失败,MS DTC终止该事务。MS DTC不支持分布式的存储点或者是SAVE TRANSACTION语句。如果一个MS DTC事务失败或者后滚,则整个事务退回到分布式事务的起点,而不理会任何存储点。

两步提交处理

Oracle和MS DTC两步提交机制在操作上是相似的。在SQL Server两步提交的第一步,事务管理器请求每一个参与的资源管理器准备提交。如果有任何资源管理器没有准备好,事务管理器就向与事务相关的所有成员广播一个异常中断决定。

如果所有的资源管理器都能成功的准备,事务管理器就广播一个提交决定。这是提交处理的第二步。当一个资源管理器准备好后,事务究竟是提交了还是失败了,这一点还是拿不准。MS DTC维持了一个连续的日志,因此它的提交或者中断决定都是持久的。如果某个资源管理器或者事务管理器失败了,则当它们重新连接上的时候,就能在那个拿不准的事务上协调了。


http://www. 版主位置空缺
2004-06-25 10:28
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 
[转贴]
使用MS SQL7的LINKED SERVER
在Enterprise Manager中,设置时有以下三部分:

一、服务器名和服务器类型 二、服务器的服务器选项 三、安全

在用存储设置时也分这三部分

步骤:

一、添加服务器 使用 sp_addlinkedserver 过程,所要使用的参数如下: @server “LINKED SERVER” @srvproduct “Product name” @provider “Provider” @datasrc “Data source” 二、设置服务器选项 使用 sp_serveroption 过程,所要使用的参数如下: @server “Linked server” @optname “RPC”或“RPC OUT” @optvalue True 或 False 三、添加Login 使用 sp_addlinkedsrvlogin 过程,所要使用的参数如下: @rmtsrvname “Linked server” @useself True 或 False @locallogin 本地LOGIN @rmtuser 远程用户 @rmtpassword 远程用户口令

应用实例代码

exec sp_addlinkedserver 'Oracleserver','Oracle','MSDAORA','Oracleserver' exec sp_serveroption 'Oracleserver','rpc.out','True' exec sp_serveroption 'Oracleserver','rpc','True' exec sp_addlinkedsrvlogin 'Oracleserver','False',null,'sa',''

上述代码在UNIX+ORACLE7和NT4+SP5+SQL7上测试成功。


http://www. 版主位置空缺
2004-06-25 10:35
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

SQL7的客户可以直接指向SYSBASE服务器。

方法:

一、在本地服务器上安装SYSBASE的客户端并设好,可联上服务器 二、打开SQL7的CLIENT NETWORK UTILITY,添加服务器,地址直接 指向SYSBASE服务器的IP地址,端口号和SYSBASE的客户端的设置相同 三、添加LINKED SERVER时和添加MSSQL的方法相同

在UNIX+SYSBASE和NT4+SP5+SQL7上测试成功 在UNIX+SYSBASE和WIN98+SQL7上测试成功


http://www. 版主位置空缺
2004-06-25 10:44
快速回复:[求助]有谁知道用sp_addlinkedserver建立linkserver
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018306 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved