首页 新闻 搜索 专区 学院

有关数据库跨库访问问题

0
悬赏园豆:5 [已解决问题] 解决于 2008-12-03 12:37

现在要做的一个程序,用到三个数据库,数据库的可能不在一个数据库服务器上,问题是用ado.net的话怎么解决这个跨库访问的问题。

我在网上找到的解决办法是用SQLSERVER 建立一个链接,也就是用SQL语句建一个库链接,可是就没有其他的办法吗?如果有知道答案的请给一方案谢谢啦。

 

问题补充: 对于一楼的兄弟说的我的也是在App.config中建立三个连接字符串,可是我要操作的时候要同时使用这人三个库,其实我想问的是我如何来写这样的SQL语句,另外该如何在程序中操作呢?能不能给个例子。 SQL语句好像可以使用 库名.表名.字段名 这样的使用吧, 可是我在程序中是不是要操作什么东西呢?比如我生成connection 对象的时候是生成三个连接吗? 谢谢 十分感谢 李.net ,yinzhigang ,丁学 我知道一种办法是可生成三个连接,但是由于平时我只是对于一个数据库操作对于生成三个连接我就不知道怎么做了。以三个库都是SQLSERVER为例,我是知道生成三个连接也就是三个SQLConnection 对象。可是对于一个SQLCommand对象来说,他的Connection属性只能有一个吧。如果我要一条SQL 语句。结合程序的话这个SQLCommand对象怎么来设置,还有他的SQLCommText我怎么来写呢? 再次感谢大家 无私的帮助 Gray Zhang 你说的 随后用第二个生成SqlCommand查询帖子信息 然后将2联系起来返回 这个联合起来返回的做法是不是用Datatable中的一些方法呢? 那我能用存储过程什么的来做吗? 要不我看我还是发到自己的随笔中吧。 不看中分的兄弟就去那里回帖也行 再次再次感谢帮助我的人
二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2008-12-02 14:56
< >
分享
最佳答案
0

不可能使用一条SQL语句,也就是你的概念里的一个SqlCommand来查询3个数据库,这是做不到的,因此你必然要有多个SqlCommand来组合查询出你所需要的各种数据,再在代码中组合成需要的数据返回,这种情况下,不同的SqlCommand有不同的Connection是合理的

比如先用第一个SqlConnection生成一个SqlCommand查询用户信息

随后用第二个生成SqlCommand查询帖子信息

然后将2联系起来返回

Gray Zhang | 专家六级 |园豆:17610 | 2008-12-02 19:08
其他回答(4)
0

不是很清楚你的意思?你用ado.net解决跨库问题,具体是指什么?

我有一个项目也是用到三个库的,但连接的时候,在web.config中配置的是三个connectionstring。

三个库分布在不同的服务器上也没有关系

李.net | 园豆:1072 (小虾三级) | 2008-12-02 15:02
0

    你要同上操作三个数据库的话,最好写个存储过程来解决。但是效率是问题,最好不要同时跨库操作。

yinzhigang | 园豆:205 (菜鸟二级) | 2008-12-02 16:38
0

两种方法你都已经知道:

1、把三个数据库当作三个数据库,需要哪个就对哪个建立连接,至于生成几个连接,看需要了,如果你某个页面只从一个库取数据,那只需要建立一个,如果要对三个库取数据,只好建立三个连接了(楼上这位的办法)

2、建立链接服务器(你自己知道的办法)

既然办法都已经知道了,为什么还要寻找呢?你觉得这两种方法有什么地方不满足你的需求吗?

丁学 | 园豆:18530 (专家六级) | 2008-12-02 16:41
0

就算可以用一条sql

页建议你不要那么做

小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2008-12-02 23:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册