正 文

SQL Server 本机 Web 服务的使用方案


www.7dspace.com  更新日期:2005-10-4 9:49:52  七度空间


使用 Perl 脚本进行管理和监视

通过 SQL Server 中的 Web 服务,可以从任何具有 Web 服务支持的平台连接到 SQL Server。为了说明这一互操作性,我们将创建 Perl 脚本以连接到 SQL Server。Perl 被普遍用于创建脚本,以便帮助管理和监视数据库服务器。

下面的示例说明了如何创建 Perl 脚本以监视数据库的状态。SQL Server 已经引入了对动态管理视图的支持,这些视图提供了有关正在运行的服务器的动态状态信息。在该示例中,我们创建了一个 Perl 脚本,以便通过查询名为 dm_exec_connections 的动态视图来监视与数据库之间的活动连接的数量。

我们假设运行这段代码的计算机已经正确安装和配置了 Perl。

这里的示例使用 ActiveState 5.8.x Perl 软件包。该脚本利用下列软件包:

• 安装 http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
 
• 安装 http://theoryx5.uwinnipeg.ca/ppms/XML-Parser.ppd
 
• 安装 http://theoryx5.uwinnipeg.ca/ppms/libxml-perl.ppd
 
• 安装 http://theoryx5.uwinnipeg.ca/ppms/XML-RegExp.ppd
 
• 安装 http://theoryx5.uwinnipeg.ca/ppms/XML-DOM.ppd

在该示例中,我们需要 SSL,因为 Perl 应用程序将使用 BASIC 身份验证和 SQL-Auth,并且 XML 软件包需要分析响应并显示结果。

注 有关完整脚本的信息,请参见相关的下载。

下面的代码块将 SOAP Lite 软件包实例化。我们需要明确要求将输出格式化为 XML,以便可以分析响应。

my $soap = SOAP::Lite
 -> uri('http://Adventure-Works/Customers/')
 -> proxy('https://srikr-800/sql/sql_auth')
 -> outputxml(1);

接下来,我们需要为该连接设置凭据。因为我们打算使用 SQL-Auth,所以我们需要按如下方式初始化 UsernameToken 标头。

# sample Yukon security SOAPheader
# <wsse:Security  xmlns:wsse="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
#   <wsse:UsernameToken>
#          <wsse:Username>sql_user</wsse:Username>
#       <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01
     /oasis-200401-wss-username-token-profile-1.0#PasswordText">
        foo-bar1
     </wsse:Password>
#   </wsse:UsernameToken>
# </wsse:Security>
my $Username = SOAP::Data->name('Username' => 'AdminUser');
my $Password = SOAP::Data->name('Password' => 'password')
           ->attr({Type => 'http://docs.oasis-open.org/wss/2004/01
           /oasis-200401-wss-username-token-profile-1.0#PasswordText'});
my $UsernameToken= SOAP::Data->name('UsernameToken')
           ->value(\SOAP::Data->value($Username, $Password));
my $security = SOAP::Header->name(Security)
           ->attr({'xmlns' => 'http://docs.oasis-open.org/wss
           /2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'})
           ->value(\$UsernameToken);

BASIC 身份验证凭据是通过实现以下存根传入的:

sub SOAP::Transport::HTTP::Client::get_basic_credentials {
 return 'User' => 'Password';
}

注 建议不要在脚本文件中存储/引用密码。用户在处理密码时应该遵循标准的安全准则。

5页,页码:[1] [2] [3] [4] [5] 

上一篇:修改大型 XML 文件的有效方法
下一篇:针对不可访问 Web 页的文本选择
作者:Srik Raghavan  来源:MSDN ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐