`

使用OPENROWSET函数连接并访问远程数据库数据

阅读更多
  我们有时候会遇到要访问的数据不只是在本地服务器上,往往另一部分在远程数据库服务器上,比如我们在两个服务器上存放着表结构一样的数据我们要把两数据合并起来一起显示怎么办呢,那么这个时候我们用SQL SERVER提供的OPENROWSET函数了,使用起来很方便,记住像引用表名那样引用OPENROWSET 函数就可以了。

我们可以这样写:
1.SELECT a.* FROM table1 a LEFT JOIN OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=192.168.0.1,2412;UID=sa;PWD=bb',DbName.dbo.table2) AS b ON a.id = b.id ORDER BY a.ID DESC
将地址为192.168.0.1端口为2412的SQL SERVER上的table2表和本地服务器上的table1表联接。

2.SELECT * FROM (SELECT a.* FROM table1 a UNION SELECT b.* FROM OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=192.168.0.1,2412;UID=aa;PWD=bb',DbName.dbo.table2) AS b) TempTable ORDER BY ID DESC
将地址为192.168.0.1端口为2412的SQL SERVER上的table2表中内容加到table1表中。

      上例中我们用的是ODBC 的OLE DB 提供程序,当然了你还可能用SQL Server 的 Microsoft OLE DB,Jet 的 Microsoft OLE DB等Provider连接。

使用SQL Server 的 Microsoft OLE DB:
OPENROWSET('SQLOLEDB','服务器地址,端口';'用户名';'密码', 'SQL语句')

使用Jet 的 Microsoft OLE DB:
OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\test.mdb';'admin';'pwd', Orders)

注意:以上两种用户名和密码前都是用分号分隔。

今天刚好用到,所以小总结一下,记忆力不好没办法只能写下来。
  我们有时候会遇到要访问的数据不只是在本地服务器上,往往另一部分在远程数据库服务器上,比如我们在两个服务器上存放着表结构一样的数据我们要把两数据合并起来一起显示怎么办呢,那么这个时候我们用SQL SERVER提供的OPENROWSET函数了,使用起来很方便,记住像引用表名那样引用OPENROWSET 函数就可以了。

我们可以这样写:
1.SELECT a.* FROM table1 a LEFT JOIN OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=192.168.0.1,2412;UID=sa;PWD=bb',DbName.dbo.table2) AS b ON a.id = b.id ORDER BY a.ID DESC
将地址为192.168.0.1端口为2412的SQL SERVER上的table2表和本地服务器上的table1表联接。

2.SELECT * FROM (SELECT a.* FROM table1 a UNION SELECT b.* FROM OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=192.168.0.1,2412;UID=aa;PWD=bb',DbName.dbo.table2) AS b) TempTable ORDER BY ID DESC
将地址为192.168.0.1端口为2412的SQL SERVER上的table2表中内容加到table1表中。

      上例中我们用的是ODBC 的OLE DB 提供程序,当然了你还可能用SQL Server 的 Microsoft OLE DB,Jet 的 Microsoft OLE DB等Provider连接。

使用SQL Server 的 Microsoft OLE DB:
OPENROWSET('SQLOLEDB','服务器地址,端口';'用户名';'密码', 'SQL语句')

使用Jet 的 Microsoft OLE DB:
OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\test.mdb';'admin';'pwd', Orders)

注意:以上两种用户名和密码前都是用分号分隔。

今天刚好用到,所以小总结一下,记忆力不好没办法只能写下来。
 
分享到:
评论

相关推荐

    连接其它服务器数据库查询数据(sql server)

    表名 --以后不再使用时删除链接服务器 exec sp_dropserver '链接名', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB...

    SQL SERVER2005下不能使用OpenRowset创建链接服务器的问题

    SQL SERVER2005下不能使用OpenRowset创建链接服务器的问题

    使用 OpenRowSet 和 OpenDataSource 访问 Excel 97

    在SQL SERVER中直接访问EXCEL 文件。

    2009 年度十大 SQL Server 技巧文章

    在这种情况下,你可以在T-SQL(Transact-SQL,微软对SQL的扩展)中用OPENROWSET函数给数据源传入一个连接串和查询来提取需要的数据。  使用SQL Server的OPENROWSET函数(上)  使用SQL Server的OPENROWSET函数...

    数据库操作语句大全(sql)

    3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where....

    SQL Server中导入导出数据三方法比较

    如果是在SQL Server数据库之间进行数据导入导出时,并且不需要对数据进行复杂的检验,最好使用Transact-SQL方法进行处理,因为在SQL Server数据库之间进行数据操作时,SQL是非常快的。当然,如果要进行复杂的操作,如...

    sqlserver调用OPENROWSET的方法[参照].pdf

    sqlserver调用OPENROWSET的方法[参照].pdf

    SQL SERVER 与ACCESS、EXCEL的数据转换

    熟悉SQL SERVER 2000的...在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换

    SQL SERVER、ACCESS、EXCEL数据转换

    在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。 利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下:

    跨数据库实现数据交流

    主要介绍了跨数据库实现数据交流的两种方式,一是通过链接服务器,二是使用OPENDATASOURCE/OPENROWSET连接远程服务器,需要的朋友可以参考下

    C#实现Excel表数据导入Sql Server数据库中的方法

    本文实例讲述了C#实现Excel表数据导入Sql Server数据库中的方法。分享给大家供大家参考,具体如下: Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1、首先,我们要先在test数据库中新建一...

    ADO.NET本质论.pdf

    2.3.2 使用ado.net数据提供程序编写泛型数据访问代码 2.3.3 数据提供程序模型中的游标 2.4 断开模式和dataset 2.5 .net中的xml api 2.5.1 流式xml 2.5.2 xml架构 2.5.3 xmldocument,xpath和...

    SQL SERVER 与ACCESS、EXCEL的数据转换方法分享

    在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下: 一、SQL ...

    SQL SERVER 2000开发与管理应用实例

    涉及安装和配置SQL Server、日期处理、字符处理、排序规则、编号处理、数据统计与汇总、分页处理、树形数据处理、数据导入与导出、作业、数据备份与还原、用户定义数据类型、数据库安全、系统表应用实例、SQL Server...

    sqlserver2000基础(高手也有用)

    9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288 9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289 9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289 9.5 在数据库...

    一条select语句引起的瓶颈问题思考

    情境还原: 公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。 IIS服务器CPU使用率...

    允许远程用户访问mysql服务sql语句

    mysql> grant all privileges on cakephp.* to cakephp@192.168.14.1 identified by ‘lpfukia’; Query OK, 0 rows affected (0.01 sec) mysql> ... 您可能感兴趣的文章:mysql开启远程连接(mysql开启

    经典SQL语句大全

    3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where....

Global site tag (gtag.js) - Google Analytics