sqlserver调用OPENROWSET 的方法.docx_第1页
sqlserver调用OPENROWSET 的方法.docx_第2页
sqlserver调用OPENROWSET 的方法.docx_第3页
sqlserver调用OPENROWSET 的方法.docx_第4页
sqlserver调用OPENROWSET 的方法.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

调用OPENROWSET 的方法事例代码:select * from OPENROWSET(SQLNCLI, server=127.0.0.1;uid=sa;pwd=8315679;database=bbs, select * from _category)OLE DB 错误:OLE DB 或 ODBC 错误发生这种问题是因为,SQL Server 2005 只提供对一组特定访问接口的进程内访问。SQLNCLI 是 SQL Server 2005 的一个新的本机 OLE DB 访问接口,它具有访问权。但是,SQLNCLI.1 是特定于版本的 SQLNCLI 访问接口,它不在访问接口的列表中。因此,SQLNCLI.1 没有访问权。尽管 SQLNCLI 和 SQLNCLI.1 完全相同(因为 SQLNCLI 指向 SQLNCI.1),但 SQL Server 2005 并不能识别出它们是相同的。SQL Server 2005 会阻止对 SQLNCLI.1 的访问。要解决此问题,请使用下列方法之一: 在 OLE DB 连接字符串中使用 SQLNCLI 代替 SQLNCLI.1。 在 SQL Server 中,将 SQLNCL.1 显式添加到具有进程内访问权的供应商列表中。Sqloledb、SQLNCLI 都是可以的insert into openrowset( SQLOLEDB, 127.0.0.1; sa; 8315679,bbs.dbo._category)(name,description)select name,description from _categorysp_addlinkedserver创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft SQL Server,则可执行远程存储过程。语法sp_addlinkedserver server = server , srvproduct = product_name , provider = provider_name , datasrc = data_source , location = location , provstr = provider_string , catalog = catalog 语法sp_addlinkedsrvlogin rmtsrvname = rmtsrvname , useself = useself , locallogin = locallogin , rmtuser = rmtuser , rmtpassword = rmtpassword useself = useself决定用于连接到远程服务器的登录名称。useself 的数据类型为 varchar(8),默认设置为 TRUE。true 值指定 SQL Server 验证的登录使用其自己的凭据以连接到 rmtsrvname,而忽略 rmtuser 和 rmtpassword 参数。false 值指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname。如果 rmtuser 和 rmtpassword 也设置为 NULL,则连接链接服务器不需使用任何登录或密码。对于 Windows NT 身份验证登录而言,useself 为 true 则无效,除非 Microsoft Windows NT® 环境支持安全帐户委托,并且,提供程序支持 Windows 身份验证(此时不再需要创建值为 true 的映射,不过创建仍然有效)。 locallogin = locallogin本地服务器上的登录。locallogin 的数据类型为 sysname,默认设置为 NULL。NULL 值指定此条目将应用于所有连接到 rmtsrvname 的本地登录。如果值不为 NULL,则 locallogin 可以是一个 SQL Server 登录或 Windows NT 用户。必须授予 Windows NT 用户直接访问 SQL Server 或通过其作为已授予访问权限的组的成员来访问 SQL Server 的权限。 不同服务器数据库之间的数据操作-创建链接服务器exec sp_addlinkedserver ITSV , , SQLOLEDB , 远程服务器名或ip地址 exec sp_addlinkedsrvlogin ITSV , false ,null, 用户名 , 密码 -查询示例select * from ITSV.数据库名.dbo.表名-导入示例select * into 表 from ITSV.数据库名.dbo.表名-以后不再使用时删除链接服务器exec sp_dropserver ITSV , droplogins -连接远程/局域网数据(openrowset/openquery/opendatasource)-1、openrowset-查询示例select * from openrowset( SQLOLEDB , sql服务器名 ; 用户名 ; 密码 ,数据库名.dbo.表名)-生成本地表select * into 表 from openrowset( SQLOLEDB , sql服务器名 ; 用户名 ; 密码 ,数据库名.dbo.表名)-把本地表导入远程表insert openrowset( SQLOLEDB , sql服务器名 ; 用户名 ; 密码 ,数据库名.dbo.表名)select *from 本地表-更新本地表update bset b.列A=a.列Afrom openrowset( SQLOLEDB , sql服务器名 ; 用户名 ; 密码 ,数据库名.dbo.表名)as a inner join 本地表 bon a.column1=b.column1-openquery用法需要创建一个连接-首先创建一个连接创建链接服务器exec sp_addlinkedserver ITSV , , SQLOLEDB , 远程服务器名或ip地址 -查询select *FROM openquery(ITSV, SELECT * FROM 数据库.dbo.表名 )-把本地表导入远程表insert openquery(ITSV, SELECT * FROM 数据库.dbo.表名 )select * from 本地表-更新本地表update bset b.列B=a.列BFROM openquery(ITSV, SELECT * FROM 数据库.dbo.表名 ) as ainner join 本地表 b on a.列A=b.列A-3、opendatasource/openrowsetSELECT *FROM opendatasource( SQLOLEDB , Data Source=ip/ServerName;User ID=登陆名;Password=密码 ).test.dbo.roy_ta-把本地表导入远程表insert opendatasource( SQLOLEDB , Data Source=ip/ServerName;User ID=登陆名;Password=密码 ).数据库.dbo.表名select * from exec sp_addlinkedserver srv_lnk,SQLOLEDB,192.168.0.111 exec sp_addlinkedsrvlogin srv_lnk,false,null,sa,7852 select count(*) from srv_lnk.datainfodb.dbo.userinfo exec sp_dropserver srv_lnk,droplogins/*-删除远程服务器-*/ 1.通过行集函数opendatasource要求:本地安装Oracle客户端select * from opendatasource(MSDAORA, Data Source=XST4;User ID=manager;Password=sjpsjsjs).MISD.PBCATCOL其中,MSDAO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论