现在要做的一个程序,用到三个数据库,数据库的可能不在一个数据库服务器上,问题是用ado.net的话怎么解决这个跨库访问的问题。
我在网上找到的解决办法是用SQLSERVER 建立一个链接,也就是用SQL语句建一个库链接,可是就没有其他的办法吗?如果有知道答案的请给一方案谢谢啦。
不可能使用一条SQL语句,也就是你的概念里的一个SqlCommand来查询3个数据库,这是做不到的,因此你必然要有多个SqlCommand来组合查询出你所需要的各种数据,再在代码中组合成需要的数据返回,这种情况下,不同的SqlCommand有不同的Connection是合理的
比如先用第一个SqlConnection生成一个SqlCommand查询用户信息
随后用第二个生成SqlCommand查询帖子信息
然后将2联系起来返回
不是很清楚你的意思?你用ado.net解决跨库问题,具体是指什么?
我有一个项目也是用到三个库的,但连接的时候,在web.config中配置的是三个connectionstring。
三个库分布在不同的服务器上也没有关系
你要同上操作三个数据库的话,最好写个存储过程来解决。但是效率是问题,最好不要同时跨库操作。
两种方法你都已经知道:
1、把三个数据库当作三个数据库,需要哪个就对哪个建立连接,至于生成几个连接,看需要了,如果你某个页面只从一个库取数据,那只需要建立一个,如果要对三个库取数据,只好建立三个连接了(楼上这位的办法)
2、建立链接服务器(你自己知道的办法)
既然办法都已经知道了,为什么还要寻找呢?你觉得这两种方法有什么地方不满足你的需求吗?
就算可以用一条sql
页建议你不要那么做