分布式数据库的实质问题(100分)

  • 主题发起人 主题发起人 sayhi
  • 开始时间 开始时间
S

sayhi

Unregistered / Unconfirmed
GUEST, unregistred user!
两台服务器,xl2000,xx2000
xl2000中有xl数据库,库中有xunlei数据表
xx2000中有xx数据库,库中有xunxi数据表
要解决的问题
1、用delphi写一段查询,分别从两台服务器中取出一定量的数据,显示在一个grid中(分别取出用ADO就可以解决,但是怎么要把两个结果合在一起)
2、从xl2000写一个存储过程,来取出xx2000中的数据记录
 
1、写到一个数据集就实现了。先取一个数据库中的数据,再取另一个数据库的数据加入进去就行了,只要保证两个数据的格式一样。
2、这个你不是已经解答了吗?
 
问题1怎么加进去,目前我只会取出数据并放入不同的数据集当中,但放入同一个数据集中不会
问题2 5207 这只是我的思路,但是具体写不来,你能写麻,要不要配置什么东西
 
(分布式应用)
EXEC sp_addlinkedserver @server='aaa', @srvproduct='',
@provider='SQLOLEDB', @datasrc='95.96.0.14/cl'
exec sp_addlinkedsrvlogin 'aaa','false' , 'sa','sa' ,'123'
select * from [aaa].ai.dbo.jjfk
EXEC sp_droplinkedsrvlogin 'aaa', 'sa'
EXEC sp_dropserver 'aaa'

建立连接后的两个服务器多表连接查询
select a.PerNo,b.PerName
from [ywy].[DataBase1].[dbo].[Tbl_Pers] as a,[xf].[DataBase2].[dbo].[Tbl_Sale] as b
where a.PerNo = b.PerNo

方法2:
企业管理器-〉安全性->链接服务器,新建一个(最简单是只需要输入服务器地址就可以)。
 
请问exec sp_addlinkedsrvlogin 'aaa','false' , 'sa','sa' ,'123'这句两个sa是什么意思
 
@datasrc='95.96.0.14/cl'
这个位置是指c盘的cl文件夹麻,如果我放在e:/sql/mssql/data这样的位置应该怎么写呢
 
select * from [aaa].ai.dbo.jjfk 这句话中ai是不是数据库,jjfk是不是数据表
 
1.
这两个表的格式是不是一样的.如何你需要读出来的数据格式是一样的也行.
用 ClientDataSet 分两次来读.用 AppendData 把第二次的数据加上 去.
 
1.@datasrc='95.96.0.14/cl'是你的服务器地址
2.
语法
sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
[ , [ @useself = ] 'useself' ]
[ , [ @locallogin = ] 'locallogin' ]
[ , [ @rmtuser = ] 'rmtuser' ]
[ , [ @rmtpassword = ] 'rmtpassword' ]

参数
[@rmtsrvname =] 'rmtsrvname'

是应用登录映射的链接服务器名称。rmtsrvname 的数据类型为 sysname,没有默认设置。

[@useself =] 'useself'

决定用于连接到远程服务器的登录名称。useself 的数据类型为 varchar(8),默认设置为 TRUE。true 值指定 SQL Server 验证的登录使用其自己的凭据以连接到 rmtsrvname,而忽略 rmtuser 和 rmtpassword 参数。false 值指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname。如果 rmtuser 和 rmtpassword 也设置为 NULL,则连接链接服务器不需使用任何登录或密码。对于 Windows NT 身份验证登录而言,useself 为 true 则无效,除非 Microsoft Windows NT® 环境支持安全帐户委托,并且,提供程序支持 Windows 身份验证(此时不再需要创建值为 true 的映射,不过创建仍然有效)。

[ @locallogin =] 'locallogin'

本地服务器上的登录。locallogin 的数据类型为 sysname,默认设置为 NULL。NULL 值指定此条目将应用于所有连接到 rmtsrvname 的本地登录。如果值不为 NULL,则 locallogin 可以是一个 SQL Server 登录或 Windows NT 用户。必须授予 Windows NT 用户直接访问 SQL Server 或通过其作为已授予访问权限的组的成员来访问 SQL Server 的权限。

[@rmtuser =] 'rmtuser'

当 useself 为 false 时,用来连接 rmtsrvname 的用户名,rmtuser 的数据类型为 sysname,默认设置为 NULL。

[@rmtpassword =] 'rmtpassword'

与 rmtuser 相关的密码。rmtpassword 的数据类型为 sysname,默认设置为 NULL。

返回代码值
0(成功)或 1(失败)
 
关于sp_addlinkedserver 请教chen_liang,如果链接服务器处于不可连接的状态(比如网络不通的情况下),怎么处理这个异常!
 
@datasrc='95.96.0.14/cl'
这个我实际写时@datasrc='192.168.0.14/e:/sql/mssql/data'提示是连接不通,所以我才问这样写可以麻
 
多人接受答案了。
 
后退
顶部