`

使用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)

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

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

相关推荐

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

    OPENROWSET 函数可能会遇到 OLE DB 错误,需要使用正确的访问接口和连接字符串来避免错误。OPENROWSET 函数也可能会遇到性能问题,需要合理地配置服务器和优化查询语句来提高性能。 SQL Server 提供了多种方式来...

    本地查询分析器中连接局域网内的其他数据库

    使用`OPENROWSET`函数连接远程数据库 假设我们要从本地查询分析器连接到IP地址为192.168.1.123的远程SQL Server实例,并查询`PUBS`数据库中的`titles`表。可以使用以下SQL语句: ```sql SELECT TOP 1 * FROM ...

    远程数据库链接

    SQL Server 提供了多种方式来实现远程数据库连接,包括创建链接服务器(Linked Servers)、使用 `OPENROWSET`、`OPENQUERY` 和 `OPENDATASOURCE` 函数等。这些方法各有优势,适用于不同场景下的数据访问需求。 ####...

    在SQLServer里使用OpenRowSet查询Sybase数据库.docx

    `OpenRowSet`是一个内建的提供程序,它允许SQL Server直接连接到ODBC数据源,从而执行SQL语句并返回结果集。 1. **Sybase SQL Anywhere 数据库查询** Sybase SQL Anywhere是一款轻量级、高度可移植的数据库管理...

    不同数据库间的数据操作

    一旦链接服务器设置完成,我们就可以使用`OPENROWSET`函数来查询远程数据库中的数据了。`OPENROWSET`允许从链接服务器返回结果集,其基本语法如下: ```sql SELECT * FROM OPENROWSET( 'SQLOLEDB', -- 提供者名称 ...

    SQL Server中对Access和Excel文件的数据操纵.pdf

    OpenRowSet 函数可以通过 OLE DB 访问接口连接到远程数据源,并从该数据源访问远程数据。OpenDataSource 函数的功能类似于 OpenRowSet 函数,用于访问本机 Access 和 Excel 文件。 在使用 OpenRowSet 函数和 ...

    SQL数据库程序设计认证试题模板.doc

    在这道题中,我们可以看到,OPENROWSET函数是一种使用OLE DB连接并访问远程数据的一次性的、特殊的方法,无需设置链接服务器。这种方法可以使数据传输变得更加快速和高效。 3. 事务处理: 在第三道题中,需要将...

    不同服务器数据库之间的数据操作

    表名`这样的语句可以从远程数据库中检索数据,而`SELECT * INTO 表 FROM ITSV.数据库名.dbo.表名`则可以将这些数据导入到本地数据库的新表中。若不再需要链接服务器,可以使用`sp_dropserver`删除它,同时可以选择...

    SQL_Excel数据格式转换实现方法.pdf

    而OPENROWSET函数则包含了访问OLEDB数据源中远程数据所需的全部连接信息。它们可以像引用表名一样在查询的FROM子句中引用,也可以在INSERT、UPDATE或DELETE语句中作为目标表使用。 实现SQL Server与Excel数据转换的...

    SQLServer 2000跨服务器连接数据库1

    跨服务器连接是SQL Server 2000中一项强大的功能,通过创建链接服务器或使用`OPENROWSET`和`OPENQUERY`函数,可以实现对远程数据库资源的有效访问和管理。掌握这些技能对于数据库管理员和开发人员来说至关重要,特别...

    SQL另类导入数据方法.pdf

    标题《SQL另类导入数据方法》和描述《介绍了一种非常规的数据导入方法,具备很强的实用性,适用于SQL Server管理员在数据导入工作中使用,介绍了如何利用OPENROWSET函数进行数据导入》指出了本文档的核心内容在于...

    SQLserver远程或本地连接ACCESS教程.pdf

    使用OpenRowSet函数可以实现这一点,它与OpenDataSource类似,但更多用于单次数据操作。示例代码如下: ```sql INSERT INTO OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'c:\db.mdb;User ID=Admin;Password=;','SELECT ...

    Sqlserver2005 本地导出数据到远程实例

    - OPENROWSET函数可以直接从远程服务器读取数据,但需要配置信任连接或使用链接服务器。 - 示例: ```sql INSERT INTO [LocalServer].[DatabaseName].[SchemaName].[TableName] SELECT * FROM OPENROWSET('...

    浅析SQL数据库的安全.pdf

    Openrowset函数允许用户连接到OLEDB数据源并远程访问数据,其基本语法是OPENROWSET('provider_name', {'datasource'; 'user_id'; 'password'; 'provider_string'}, {'catalog'; 'schema'; 'object'; 'query'})。这...

    不同服务器数据库之间的数据操作.pdf

    除了链接服务器,SQL Server还提供了其他方法来直接访问远程数据,如`openrowset`、`openquery`和`opendatasource`。 `openrowset`函数可以直接从另一个数据源返回一个结果集,无需预先创建链接服务器。例如: ```...

    SQL-Server数据库程序设计认证试题及答案.doc

    可以使用 sp_addlinkedserver 系统存储过程来建立与远程服务器的连接,也可以使用 OPENROWSET 函数来访问远程数据。分布式查询可以方便地从远程服务器上检索数据。 3. 事务处理 在第三个试题中,需要解决的是如何...

    跨数据库实现数据交流

    参数@datasrc则指定了远程数据库服务器的IP地址和端口,而@provider指的是用于连接数据源的OLE DB提供者名称,在SQL Server环境下,通常是'SQLOLEDB'。 而sp_addlinkedsrvlogin用于配置链接服务器的登录信息,参数@...

    SQL SEVER 2000认证试题

    在SQL Server 2000环境中,跨服务器查询是指从当前服务器上的查询中访问远程服务器上的数据。这通常涉及到链接服务器或OPENROWSET函数的使用。链接服务器是一种持久化的连接配置,而OPENROWSET则是一种临时性的数据...

    两个不同数据库中的表之间的操作(包含sql server /oracle)

    - `OPENROWSET`可以通过指定的提供程序连接到远程数据库并执行查询。 ```sql SELECT * FROM OPENROWSET('提供程序名称', '连接字符串', '查询语句'); ``` 2. **示例** - 假设需要从SQL Server中的Northwind...

    SAL SERVER 2000数据库程序设计认证考的是107题

    在SQL Server 2000中,可以通过`OPENROWSET`或链接服务器(`sp_addlinkedserver`)来访问远程数据。选项B使用`OPENROWSET`函数执行了一次嵌入式查询,这在某些情况下可以方便地进行一次性操作,但可能不是最稳定或...

Global site tag (gtag.js) - Google Analytics