|
有五个远程结构一致的数据库,想对其中的几张表进行查询,在一个库中的查询为: Select Bas007.M_id,Bas007.M_nm,Bas007.M_BrNm,Str001_Ia.I_da,Str001_Ia.I_no, Str001_Ib.I_am,Str001_Ib.I_pr,Str001_Ib.I_am * Str001_Ib.I_pr AS hjje,Bas012.S_Sn,Bas008.E_Nm, B.I_DaB,B.I_No,B.I_pr,C.S_Sn,D.E_Nm,Bas007.M_MaxPr,Bas007.M_MinPr,Str001_Ib.I_pr-B.I_pr,Str001_Ib.I_am * (Str001_Ib.I_pr-B.I_pr) From Str001_Ia Left Outer Join Str001_Ib ON Str001_Ia.I_no = Str001_Ib.I_no Left Outer Join Bas007 ON Str001_Ib.M_id = Bas007.M_id Left Outer Join Bas012 ON Str001_Ia.S_id = Bas012.S_id Left Outer Join Bas008 ON Str001_IA.E_Cg = Bas008.E_id Left Outer Join Str001_IB B On Str001_Ib.I_LastIno=B.I_No And Str001_IB.M_ID=B.M_ID Left Outer Join Str001_Ia A On B.I_NO =A.I_No Left Outer Join Bas012 C On A.S_id =C.S_id Left Outer Join Bas008 D On A.E_Cg =D.E_id where Str001_Ia.I_da between '2008-06-08' and '2008-06-11' Order By Str001_Ib.I_am * (Str001_Ib.I_pr-B.I_pr) Desc 如何实现,对5个库的链接查询?(将远程5个数据库中需要的表合并,查找出满足条件的项)
这个问题第1个回答:
链接服务器
这个问题第2个回答:
按你的意思,其实与本地查询5个链接表道理是一样的, 现在你要做的,先保证5个链接数据库能够正常链接,只有链接没有问题了,接下来就是合并查询的问题
这个问题第3个回答:
使用鏈接伺服器: EXEC sp_addlinkedserver '別名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=遠程名;UID=用戶;PWD=密碼;' exec sp_addlinkedsrvlogin @rmtsrvname='別名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密碼' GO 然後你就可以如下: select * from 別名.庫名.dbo.表名 insert 庫名.dbo.表名 select * from 別名.庫名.dbo.表名 select * into 庫名.dbo.新表名 from 別名.庫名.dbo.表名 go 合并查询结果要使用union或union all 语句: select col1,col2,col3,... from tb1 union select col1,col2,col3,... from tb2 ......
这个问题第4个回答:
使用链接服务器,两种方式实现: 1.使用 SQL Server 企业管理器控制台树和"链接服务器"节点(在"安全性"文件夹内)来创建链接服务器的定义。 2.使用存储过程sp_addlinkedserver 创建链接服务器的定义。 创建好之后,用语句实现,如楼上: select * from 別名.庫名.dbo.表名 insert 庫名.dbo.表名 select * from 別名.庫名.dbo.表名 select * into 庫名.dbo.新表名 from 別名.庫名.dbo.表名 go 合并查询结果要使用union或union all 语句: select col1,col2,col3,... from tb1 union select col1,col2,col3,... from tb2
这个问题第5个回答:
就是再创建链接服务器时出错,提示用户错误,是不是和使用域用户有关系???
这个问题第6个回答:
链接服务器可以在安全里面自己增加,注意几个选项的设定就OK了,还有个登陆用户要加!~
这个问题第7个回答:
用SA 及秘码!~
这个问题第8个回答:
谢谢,现在已经可以了~~~
|