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

摘要:
有时我们会遇到要访问的数据不仅在本地服务器上,而且在远程数据库服务器上。例如,我们在两台服务器上存储具有相同表结构的数据。如果我们将这两个数据组合起来并一起显示,我们该怎么办?然后我们使用SQLSERVER提供的OPENROWSET函数,使用起来非常方便。记住要像表名一样引用OPENROWSET函数。在上面的示例中,我们使用ODBC OLEDB提供程序。当然,您也可以使用SQL Server中的Microsoft OLEDB、Jet中的Microsoft OLEDB和其他提供商进行连接。
我们有时候会遇到要访问的数据不只是在本地服务器上,往往另一部分在远程数据库服务器上,比如我们在两个服务器上存放着表结构一样的数据我们要把两数据合 并起来一起显示怎么办呢,那么这个时候我们用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 aUNION SELECTb.*FROMOPENROWSET('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)
注意:以上两种用户名和密码前都是用分号分隔。
今天刚好用到,所以小总结一下,记忆力不好没办法只能写下来。

免责声明:文章转载自《使用OPENROWSET函数连接并访问远程数据库数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【JavaScript数据结构系列】02-栈StackjQuery制作图片旋转效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确

最近在查询SQL时遇到SQL文件错误,可能是文件数据已损坏。解决过程分享给大家。 问题描述 消息 824,级别 24,状态 2,第 1 行SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:19741588,但实际为 0:0)。在文件 'D:analytics.MDF' 中、偏移量为 0x000025a772800...

MYSQL使用指南DOS下操作

一、          连接MYSQL。 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的...

Sql Server 锁

1.NOLOCK(不加锁)此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”,等于 READ UNCOMMITTED事务隔离级别。 2.HOLDLOCK(保持锁)此选项被选中时,SQL Ser...

SQL Server 2008 常见异常收集(持续更新)

写在前面: 最近,在使用SQL Server 2008时,出现了不少问题。发现,很多问题都是以前碰见过的,并且当时也寻找到了解决方法(绝大部分来源于“百度”与“Google”),只是时间一长,又忘记了,一旦再遇见该问题时,需要再次搜索筛选方法。所以,想起来可以弄篇博文(持续更新...),将网络收集到的或其他途径找到的解决方法整理在一起,供自己需要时快速查找...

测试人员需要了解的sql知识(基础篇)

这是第一篇关于数据库的,本着详细的原则,基础的还是不能放过,还是那句话,有问题,欢迎指出! -------------------------------------------------------------自然的分割线------------------------------------------------------------------...

查看sql server数据库连接情况

1.通过系统的“性能”来查看:开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计(MSSQL General Statistics) 然后在下面列出的项目里面选择 用户连接(User Connection) 就可以时时查询到sql server数据库连接数了。 2.通过系统表来查询: 查询数据库当前...