2012-04-11 159 views
0

我有超过10个数据库具有相同的表但记录不同。从多个数据库搜索记录

现在我想有一个可以搜索所有数据库的搜索引擎。比方说,例如,我要通过姓或名搜索一个人,然后搜索必须转到所有数据库,查询将搜索所有数据库。

我该怎么办呢?..

你有示例代码ASP.NET C#?谢谢!

+1

*您可能*不想遍历所有数据库的单个查询,虽然在技术上这是可能的。为什么你不想用简单的解决方案,只需依次打每个数据库? – 2012-04-11 03:50:04

+0

,因为它更高效,但我不知道该怎么办..我可以使用单个数据库进行搜索,但不能使用多个。 – Dhenn 2012-04-11 03:52:34

+0

嗯,它更“高效”,但是你将所有RPC'ing卸载到数据库服务器。通常最好让你的应用程序服务器拥有该任务的所有权,这样你就不会因为多余的相互通信而使数据库负担过重。无论如何,要进一步帮助你,你必须指定你的*特殊*数据库。 – 2012-04-11 03:56:42

回答

1

@Dhenn喜在一个数据库工会在10桌 创建一个视图,你可以得到对

表1便捷的搜索是在数据库1和表2是DATABASE2 然后

select * from database1.dbo.table1. 
union all 

select * from database2.dbo.table1. 

. 
. 
. 

其他选项,你可以从asp.net c# 10个数据库中点击10次,然后合并结果并在屏幕上显示。

请参考this

+0

它只显示数据库中的表,它不显示其他数据库上的表 – Dhenn 2012-04-11 04:49:48

+0

只是一个小小的更正在查询中应该是(database2.dbo.table2)在第二个联合。从database1.dbo.table1中选择*。 union all select * from database2.dbo.table1。 – Thakur 2012-04-11 05:14:03