大家新年好,请教一个问题:如何对多个异构数据库(分布在不同主机上)进行多表关联查询? ( 积分: 300 )

  • 主题发起人 主题发起人 nylx
  • 开始时间 开始时间
N

nylx

Unregistered / Unconfirmed
GUEST, unregistred user!
我的问题是这样的:<br>&nbsp;&nbsp;&nbsp;&nbsp;公司里先前的某些管理系统都是VFP6写的,数据库用的也是DBF,后来也购进了一些系统是VB写的,数据库用的是ACCESS和MS&nbsp;SQL2000,现在我用DELPHI开发的系统(数据库也是MS&nbsp;SQL2000)需要对以上的几个系统的数据进行综合查询分析,请问高手可以直接用查询组件直接实现多库关联查询吗???
 
怎么没人回复我的问题啊?如有人能解决我的问题,另开帖再送上300分
 
生成临时表
 
TO:dawnsoft<br>可以详细说明下吗?<br>谢谢
 
可以做到;<br>不过最好都导入到SQL2000进行分析,这样效率高
 
To:easykoala<br>不可以直接用查询组件引用多个库进行多表关联查询吗?因为我需要查询的并不是全部的资料啊,把其他要查询的资料都导入到SQL,这样查询效率反而降低了吧?
 
说详细一些,会有更好的办法。<br>应该不是十分困难的,关键是需要设置一些中转参数。
 
不知道怎么才能跨库访问,顶一下。关注!
 
详细说明如下:<br>&nbsp;&nbsp;&nbsp;数据库A(MS&nbsp;SQL2000),数据库B(VFP6&nbsp;DBF),数据库C(ACCESS),数据库D(MS&nbsp;SQL2000)我自己开发系统的数据库,且数据库A,B,C,D分布在不同的主机上,现在我的系统需要对数据库A,B,C,D的某些表进行关联查询,例如:可能会出现如下类似的查询,<br>select&nbsp;数据库A.表A.字段M,数据库B.表B.字段G,数据库C.表C.字段K,数据库D.表D.字段L<br>from&nbsp;数据库A.表A&nbsp;AS&nbsp;A&nbsp;left&nbsp;join&nbsp;数据库B.表B&nbsp;AS&nbsp;B&nbsp;on&nbsp;A.ID=B.ID<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;join&nbsp;数据库C.表C&nbsp;AS&nbsp;C&nbsp;on&nbsp;A.NO=C.NO<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;join&nbsp;数据库D.表D&nbsp;AS&nbsp;D&nbsp;on&nbsp;A.DATE=D.DATE
 
感觉这样的数据库最好先组合一下,再处理。
 
To:鳄鱼先生<br>&nbsp;&nbsp;&nbsp;&nbsp;可以给个具体的方法吗?谢谢!
 
我觉得不行吧,可以先导入到SQL&nbsp;Server中,这样用起来方便。
 
我昨天查看了SQL帮助文档,可以使用链接服务器对多个异库数据源进行分布式查询,更新服务,有谁知道链接服务器分布式查询怎么使用的吗?请给个示例,谢谢!
 
在Security&nbsp;中有个Linked&nbsp;Server可以添加你所说的异地异库<br>然后在写SQL语句的时候:<br>select&nbsp;*&nbsp;from&nbsp;[异地服务器名].数据库名.dbo.表名&nbsp;这样一来的格式查询数据
 
请问:hellbeast<br>&nbsp;&nbsp;&nbsp;&nbsp;如何在SQL服务器上建一个DBF,ACCESS的链接服务器(注:DBF,ACCESS分布在另外的主机上),最好能写出详细的操作步骤,以及在DELPHI中如何使用这个链接服务器,非常感谢!
 
To:hellbeast<br>&nbsp;&nbsp;&nbsp;&nbsp;如果你说的方法可以解决我的问题的话,分数就是你的
 
楼上的说法应该可以实现楼主的功能!<br>我用过挎服务器没试过跨不同数据库,但里面有这样的设置应该是可以实现!
 
在使用的那个ACCESS数据库中,建立链接表,分别指向dbf和sql数据库中的表,然后就可以在ACCESS中像使用本地表一样使用dbf和sql中的表,数据还是保存在各自的数据库中,这样,delphi程序只需要打开ACCESS数据库就可以了,只是其他机器的dbf文件可能会有访问机器密码的问题。
 
To:dirk<br>&nbsp;&nbsp;&nbsp;&nbsp;可以具体说下链接表怎么建?谢谢啦
 
用连接表的方法尝试一下<br>Access里面有个连接表的功能<br>可以从别的地方连接进来的,好象SQL&nbsp;Server和PDF都支持的<br>以前做过这样的事情
 
后退
顶部