跨服务器跨数据库查询 之 JQuery辅助

来源:互联网 发布:中文语音朗读软件( 编辑:程序博客网 时间:2024/06/01 08:46

有的时候我们需要跨域数据库查询数据,有的时候甚至要跨主机,并且将集中显示在一张Talbe上,然后在前台现实出来,显然难度是很大的,在网上搜了一下,找了一些解决方案,如:

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

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

 

以上方式,自我感觉不合理,而且不符合我的要求,现在刚好我要做的是跨服务器,跨数据库的查询,没办法,自己想了一个办法,现在贴上来,与大家分享:

 

条件和目的:
  server1
192.168.0.1   database:DB1   表A(id,name,sex,ip)     //通过ip的关联查出用户在“DB2库”中信息的mac和用户电脑的名字ComputerName
  Server2
192.168.0.2   database:DB2   表B(ip,mac,ComputerName)

 

思想:
  普通gridview显示出表A的所有符合条件数据(凡是做过asp.net,这都是菜),我们知道gridview是被 .net Framework转换以表格的形式显示的,当页面加载完毕后
我们通过JQury 的$(
"#GridViewID")获取表格的ip列的所有ip值,这样就有了要查询条件的Ip了,然后我们通过JQury的Ajax操作方法“getJSON()”方法将获取的ip值以参数的形式传到Handler.ashx(用来查询DB2中数据的),之后hander.ashx查询出数据后,将数据列表封装为“Json数据”,将Josn数据返回给getJSON()方法,到此为止我们就得到了B表中的数据,之后通过getJSON()方法处理得到的数据,并且通过JQuery在gridview上动态添加列,将返回的数据插准确的插入到动态添加的列中,那么就完成了我们的目的 

 

缺点和优势: 
  先显示A表的数据,然后一会才会现实出B表的数据,当然B表的数据是通过AJAX返回的,只要稍加一些Ajax效果,用以缓解用户的忍耐,毕竟这是Ajax的好处了,异步处理数据么,对不?

 

    好了,思想我已经说玩了,如果有感兴趣的同学,可以跟着我的思想做一下试试啊。

    若有需要的,我可以把源码贴上,今天没时间了,呵呵!