首页 新闻 会员 周边 捐助

asp.net 跨数据库查询

0
悬赏园豆:20 [已解决问题] 解决于 2009-06-10 23:06

我的程序要从两个数据库中的多个表进行联合查询。

连接字符串怎么写?是不是每个数据库各写一个连接字符串在web.config中?

使用企业库能不能实现这样的查询?能的话怎么写?

使用ADO.NET能不能实现这样的查询?能的话怎么写?

luotong的主页 luotong | 初学一级 | 园豆:4
提问于:2009-05-28 18:38
< >
分享
最佳答案
0

方式一:你可以使用存储过程在存储过程中进行两个数据库之间表的联合查询,不过要说明一点这两个数据库最好放在同一台机器上,如果通过网络连接的话网络用户的读写是有限制的

方式二:Web.config中写上两个数据库的查询,然后数据联合的部分可以使用DataSet,用DataSet来组装不同的数据源数据,然后进行输出!

以上仅供参考!

西越泽 | 专家六级 |园豆:10775 | 2009-05-28 19:25
其他回答(5)
0

 

(1) SQL Server 的话,在 SSMS 有 SQL "Linked Server" 工具 (已翻成中文「连接的服务器),
SQL Server Management Studio - 机器名称 - 服务器对象 - 连接的服务器

可跨不同机器、不同厂牌的数据库 (如: Oracle) 查询,但若跨机器远程查询,性能不会太好。

http://www.databasejournal.com/features/mssql/article.php/10894_3085211_1
http://www.databasejournal.com/features/mssql/article.php/3103331
http://www.mssqltips.com/tip.asp?tip=1433
http://www.codeproject.com/KB/database/LikeDataStores.aspx

 

(2) 将别台机器数据库里的数据,手动写 ADO.NET 程序,先存到本地机器的内存里的 DataTable/DataSet,再用 DataView 等方式,在内存里做多个 DataTable 的 Join 等查询。可参考 ADO.NET 书籍或 msdn library。

WizardWu | 园豆:1402 (小虾三级) | 2009-05-29 08:38
0

好像.net3.5有专门的工具,呵呵!我也不知道是什么!

子夜星辰 | 园豆:1613 (小虾三级) | 2009-05-29 09:52
0

学习

双月惊飞鸟 | 园豆:0 (初学一级) | 2009-05-29 12:44
-1

写多个连接字符串.如果要用多层的话,必须写多个,dbhelp类,

当连接数据库的时候系统会自动找到相应的连接字符串进行连接·

很肯定的说ado.net 可以实现

我比较赞同一楼的

Chen_junheng | 园豆:210 (菜鸟二级) | 2009-05-30 17:41
0

如果数据库在同一服务器上 可以使用com+,详细你可以看看这里 我的博客http://liulina.1212.blog.163.com/blog/static/5528755220093312323481/edit/

nana1212 | 园豆:155 (初学一级) | 2009-06-01 18:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册