本段文章节选自铁道出版社新出的《用backoffice建立intranet/extranet应用》一书(现已在各书店有售。如海淀图书城、西单图书大厦等。外地或者需要送货上门的读者可以到www.wanbook.com.cn或www.e-bookshop.com.cn上在线购买。本书书号为isbn7113039448)。本书详尽地讲述了如何使用微软backoffice系列产品来组建intranet/extranet应用。通过它您将掌握nt的安装和设置、使用iis建立web站点、通过ils建立网络会议系统、用exchange建立企业的邮件和协作系统、用sql server建立web数据库应用、用proxy server建立同internet安全可靠的连接、用media server建立网络电视台/广播站、用chart server建立功能强大的聊天室、用site server建立个性化的邮件列表和分析网站的访问情况、用commerce server建立b2b或b2c的电子商务网站。此外本书还对网络的安全性进行了讨论,从而指导您建立一个更为健壮和安全的网络应用。阅读本书之后,您将发现实现丰富多彩的网络应用原来这样简单……
绝对原创,欢迎转载。但请务必保留以上文字。
另一种建立连接的方法为通过sql语句的方式。建立连接使用sp_addlinkedserver存贮过程。其语法结构如下:
sp_addlinkedserver [@server =] server [, ][@srvproduct =] product_name]
[, ][@provider =] provider_name] [, ][@datasrc =] data_source]
[, ][@location =] location] [, ][@provstr =] provider_string]
[, ][@catalog =] catalog]
此存贮过程共有七个参数,其含义分别如下:
■ server:要建立的连接的名称。
■ srvproduct:为要连接的数据源的产品名称。此参数默认为空。
■ provider:为要连接的数据源的产品的唯一标识符。在注册表中hkey_local_machine\software\microsoft\mssqlserver\providers项中,有本地服务器支持的所有连接数据类型的名称。
■ datasrc:作为此数据源的一个解释信息。此参数默认为空。
■ location:作为此数据源所在位置的一个解释信息。此参数默认为空。
■ provstr:为此数据源的连接串。此参数默认为空。
■ catalog:指明连接时使用的目录。此参数默认为空。
下面的表格列出了对于连接不同类型的数据,所用参数的取值情况。
数据源 数据类型 product_name provider_name data_source location provider_string catalog
sql server microsoft ole db provider for sql server sql server(注) – – – – –
sql server microsoft ole db provider for sql server sql server sqloledb sql server服务器名 – – 数据库名(可选)
oracle microsoft ole db provider for oracle 任意 msdaora sql*netalias for oracle database – – –
access/jet microsoft ole db provider for jet 任意 microsoft.jet.oledb.4.0 数据库文件的完全路径和文件名 – – –
odbc data source microsoft ole db provider for odbc 任意 msdasql system dsn of odbc data source – – –
odbc data source microsoft ole db provider for odbc 任意 msdasql – – odbc 连接串 –
file system microsoft ole db provider for indexing service 任意 msidxs index server的索引目录名称 – – –
microsoft excel spreadsheet microsoft ole db provider for jet 任意 microsoft.jet.oledb.4.0 excel文件的完全路径和文件名 – excel 5.0 –
site server full-text queries microsoft ole db provider for site server 任意 mssearchsql site server的索引目录名称 – – –
注:使用此方式将强制连接到同连接名相同的sql server服务器。
下面的例子将完成与我们在前面通过enterprise manager所做的同样的工作。
execute sp_addlinkedserver filesystem,
indexing service,
msidxs,
web
此外还有以下几个同连接有关的存贮过程:
sp_dropserver:用于删除已经建立的连接,其语法结构如下:
sp_dropserver [@server =] server [, ][@droplogins =]{droplogins | null}]
其中server参数指明要删除的连接的名字。droplogins则指明同时将为此连接建立的登录删除。
sp_addlinkedsrvlogin:用于为连接建立一个登录,其语法结构如下:
sp_addlinkedsrvlogin [@rmtsrvname =] rmtsrvname
[,][@useself =] useself]
[,][@locallogin =] locallogin]
[,][@rmtuser =] rmtuser]
[,][@rmtpassword =] rmtpassword]
其中rmtsrvname参数为连接的名称。
useself的取值为true或false,指明是否在远程服务器上直接使用此登录。这要求在远程服务器上有一同此登录相匹配的登录。此参数默认为true。
locallogin为一本地登录名。此参数默认为空。如果使用默认值,则意味着所有的本地登录都将连接到远程服务器。
rmtuser和rmtpassword分别为远程服务器上的登录名及口令。如果useself参数为true,则这两个参数将被忽略。
sp_linkedservers:将返回当前本地服务器上所有连接的相关信息。其典型的运行结果如下:
srv_name srv_providername srv_product srv_datasource srv_providerstring srv_location srv_cat
————————————————————————————————————————————————————————————
-filesystem msidxs index server null null web null
zw sqloledb sql server zw null null null
(2 row(s) affected)
其中返回的第一行数据为我们在前面建立的index server连接。而第二行数据为我们在enterprise manager所建立的用来管理sql server的连接。也就是在enterprise manager中注册的sql server。
sp_droplinkedsrvlogin:用于删除为远程连接建立的登录。其语法结构如下:
sp_droplinkedsrvlogin [@rmtsrvname =] rmtsrvname,
[@locallogin =] locallogin
其中rmtsrvname参数为连接的名称。locallogin参数是为远程连接建立的本地登录。如要删除此登录,要求必须存在映射到此登录的远程连接。
