使用OPENROWSET函数连接并访问远程数据库数据
2008-04-18 21:34
447 查看
我们有时候会遇到要访问的数据不只是在本地服务器上,往往另一部分在远程数据库服务器上,比如我们在两个服务器上存放着表结构一样的数据我们要把两数据合并起来一起显示怎么办呢,那么这个时候我们用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','服务器地址,端口';'用户名';'密码', 表名)
使用Jet 的 Microsoft OLE DB:
OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:/test.mdb';'admin';'pwd', Orders)
注意:1、以上两种用户名和密码前都是用分号分隔。
2、IP地址也可以用主机名称。
3、sql的表名必须为完整格式DbName.dbo.TableName。
4、似乎在事务中无法使用?
我们可以这样写:
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','服务器地址,端口';'用户名';'密码', 表名)
使用Jet 的 Microsoft OLE DB:
OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:/test.mdb';'admin';'pwd', Orders)
注意:1、以上两种用户名和密码前都是用分号分隔。
2、IP地址也可以用主机名称。
3、sql的表名必须为完整格式DbName.dbo.TableName。
4、似乎在事务中无法使用?
相关文章推荐
- 使用OPENROWSET函数连接并访问远程数据库数据
- 使用OPENROWSET函数连接并访问远程数据库数据
- 使用OPENROWSET函数连接并访问远程数据库数据
- lzg_ad:使用OPENROWSET函数连接并访问远程数据库数据
- 使用OPENROWSET函数连接并访问远程数据库数据
- 使用OPENROWSET函数连接并访问远程数据库数据
- 使用sqlserver中的openrowset函数链接并访问远程数据库中表的数据
- SQL SERVER 导入、导出数据到Exce(使用OpenRowset,、OpenDataSource函数)以及访问远程数据库(openrowset/opendatasource/openquery)
- SQL SERVER 导入、导出数据到Exce(使用OpenRowset,、OpenDataSource函数)以及访问远程数据库(openrowset/opendatasource/openquery)
- OPENROWSET 使用 OLE DB 连接并访问远程数据
- 在SqlServer查询分析器里 访问远程数据库 进行数据查询更新等操作(openrowset)
- SQL server 使用OPENROWSET连接远程数据库
- Matlab中使用sub2ind函数访问数据
- 使用Navicat的SSH Tunnel和SecureCRT的端口转发功能连接本机IP被禁止访问的远程数据库服务器
- 问题一:编写函数stringcat,实现字符串的连接,程序中需要使用指针形式访问字符串
- 在类中使用_beginthreadex函数创建线程并访问该类中的数据成员
- WebService连接sql serever并使用Android端访问数据
- sqlserver2005 使用OpenRowSet,opendatasource访问远程数据
- 使用成员函数访问私有数据成员
- 使用C语言访问MySQL数据 —— 连接和错误处理