资源描述:
《sqlserver调用OPENROWSET 的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、调用OPENROWSET的方法事例代码:select*fromOPENROWSET('SQLNCLI','server=127.0.0.1;uid=sa;pwd=8315679;database=bbs','select*from_category')OLEDB错误:OLEDB或ODBC错误发生这种问题是因为,SQLServer2005只提供对一组特定访问接口的进程内访问。SQLNCLI是SQLServer2005的一个新的本机OLEDB访问接口,它具有访问权。但是,SQLNCLI.1是特定于版
2、本的SQLNCLI访问接口,它不在访问接口的列表中。因此,SQLNCLI.1没有访问权。尽管SQLNCLI和SQLNCLI.1完全相同(因为SQLNCLI指向SQLNCI.1),但SQLServer2005并不能识别出它们是相同的。SQLServer2005会阻止对SQLNCLI.1的访问。 要解决此问题,请使用下列方法之一: •在OLEDB连接字符串中使用SQLNCLI代替SQLNCLI.1。 •在SQLServer中,将SQLNCL.1显式添加到具有进程内访问权的供应商列表中。 Sqlole
3、db、SQLNCLI都是可以的insertintoopenrowset('SQLOLEDB','127.0.0.1';'sa';'8315679',bbs.dbo._category)([name],[description])select[name],[description]from_categorysp_addlinkedserver 创建一个链接的服务器,使其允许对分布式的、针对OLEDB数据源的异类查询进行访问。在使用sp_addlinkedserver创建链接的服务器之后,此服务器就
4、可以执行分布式查询。如果链接服务器定义为Microsoft®SQLServer™,则可执行远程存储过程。 语法 sp_addlinkedserver[@server=]'server' [,[@srvproduct=]'product_name'] [,[@provider=]'provider_name'] [,[@datasrc=]'data_source'] [,[@location=]'location'] [,[@provstr=]'provider_string'] [,[@cata
5、log=]'catalog'] 语法 sp_addlinkedsrvlogin[@rmtsrvname=]'rmtsrvname' [,[@useself=]'useself'] [,[@locallogin=]'locallogin'] [,[@rmtuser=]'rmtuser'] [,[@rmtpassword=]'rmtpassword'] [@useself=]'useself' 决定用于连接到远程服务器的登录名称。useself的数据类型为varchar(8),默认设置为TRUE。t
6、rue值指定SQLServer验证的登录使用其自己的凭据以连接到rmtsrvname,而忽略rmtuser和rmtpassword参数。false值指定rmtuser和rmtpassword参数用来连接到特定locallogin的rmtsrvname。如果rmtuser和rmtpassword也设置为NULL,则连接链接服务器不需使用任何登录或密码。对于WindowsNT身份验证登录而言,useself为true则无效,除非MicrosoftWindowsNT®环境支持安全帐户委托,并且
7、,提供程序支持Windows身份验证(此时不再需要创建值为true的映射,不过创建仍然有效)。 [@locallogin=]'locallogin' 本地服务器上的登录。locallogin的数据类型为sysname,默认设置为NULL。NULL值指定此条目将应用于所有连接到rmtsrvname的本地登录。如果值不为NULL,则locallogin可以是一个SQLServer登录或WindowsNT用户。必须授予WindowsNT用户直接访问SQLServer或通过其作为已授予访问权限的组的成员
8、来访问SQLServer的权限。 不同服务器数据库之间的数据操作--创建链接服务器 execsp_addlinkedserver 'ITSV','','SQLOLEDB','远程服务器名或ip地址' execsp_addlinkedsrvlogin'ITSV','false',null,'用户名','密码' --查询示例 select*fromITSV.数据库名.dbo.表名 --导入示例 select*into表fromITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 e