SQL Server 跨服务器连接的多种方法

ZDNet软件频道 时间:2009-11-17 作者:赛迪网 changelive | 天新网 我要评论()
本文关键词:数据库 Mssql SQL SQL Server
本文对SQL Server跨服务器连接的方式进行总结。

本文对SQL Server跨服务器连接的方式进行总结。

1、OPENDATASOURCE

SQL文中直接用此语句打开数据库示例:

OPENDATASOURCE(
"SQLOLEDB","Data Source=TQDBSV001
;User ID=fish;PassWord=2312").RackDB.dbo.CS

此方式较为简单,但存在弊端就是速度很慢。

2、OPENROWSET

包括从 OLE DB 资料来源存取远端资料需要的所有连线资讯。这个方法是在连结伺服器存取资料表的替代方法,而且是使用 OLE DB 连线与存取远端资料的一次、特定的方法。OPENROWSET 函数可以在查询的 FROM 子句中当作资料表名称来参考。根据 OLE DB Provider 的能力,OPENROWSET 函数也可以当作 Insert、Update 或 Delete 陈述式的目标资料表来参考。虽然查询可能会传回多个结果集,OPENROWSET 只传回第一个结果集。语法:

OPENROWSET ( "provider_name"
    , { "datasource" ; "user_id" ; "password"
        | "provider_string" }
    , { [ catalog.] [ schema.] object
        | "query" } 
    )

参数:

"provider_name":代表登录中指定的 OLE DB Provider 的亲和名称之字元字串。
"provider_name" 没有预设值。
"datasource":是对应到特殊 OLE DB 资料来源的字串常数。
"datasource" 是要传送到提供者 IDBProperties 介面以初始化提供者的 DBPROP_INIT_DATASOURCE 属性。一般而言,此字串包括资料库档案名称、资料库伺服器名称或提供者了解并用以寻找资料库的名称。 "user_id":是要传送到指定的 OLE DB Provider 的使用者名称字串常数。user_id 指定连线的安全性内容且以 DBPROP_AUTH_USERID 属性传送以初始化提供者。
"password":是要传送到 OLE DB Provider 的使用者密码字串常数。初始化提供者时,password 以 DBPROP_AUTH_PASSWORD 属性传送。
"provider_string":是以 DBPROP_INIT_PROVIDERSTRING 属性传送以初始化 OLE DB Provider 的特定提供者连线字串。provider_string 一般会包含所有初始化提供者时需要的所有连线资讯。

catalog:是有指定物件的资料库目录或资料库名称。
schema:是指定物件的结构描述或物件拥有者名称。
object:唯一指定要操作的物件之物件名称。

"query":传送到提供者并由提供者执行的字串常数。MicrosoftR SQL Server? 不处理此查询,但处理由提供者传回的查询结果 (传递查询)。传递查询用在不经由资料表名称而只经由命令语言显露其表格资料的提供者时,非常有用。只要查询提供者支援 OLE DB Command 物件及其强制介面,远端伺服器就支援传递查询。如需详细资讯,请参阅 SQL Server OLE DB Programmer"s Reference。

备注:

如果 OLE DB Provider 支援指定的资料来源中的多个目录与结构描述,就需要资料库目录与结构描述名称。如果 OLE DB Provider 不支援,可以省略 catalog 与 schema 的值。

如果提供者只支援结构描述名称,必须指定 schema.object 格式之两个部份的名称。如果提供者只支援资料库目录名称,必须指定 catalog.schema.object 格式之三个部份的名称。

OPENROWSET 不接受变数作为其引数。

数据库

Mssql

SQL

SQL Server


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134