关于 HtmlLogProvider 示例的自述文件
09/18/2009
本文内容
此示例仅适用于 SQL Server 2005 和 SQL Server 2008,而不适用于 SQL Server 2005 之前的任何 SQL Server 版本。
HtmlLogProvider 示例说明如何创建自定义日志提供程序 - Html 日志提供程序,它可将日志记录输出写入 HTML 文档。
有关如何创建自定义日志提供程序的详细信息,请参阅创建自定义日志提供程序。有关使用 Integration Services 中的日志提供程序的一般信息,请参阅 Integration Services 日志提供程序。
自定义日志提供程序先从现有的文件连接管理器中获取扩展名为 .htm 或 .html 的目标文件的名称。然后它将记录事件输出到指定目标文件的 HTML 表中,并忽略最后两个标准列(dataCode 和 dataBytes),这两列中可能包含在 HTML 文档中无法正确显示的二进制数据。为了便于再次使用,该示例将 HTML 日志记录代码封装到独立的 HtmlLogWriter 帮助器类中。此帮助器类有 OpenLogHtml、LogHtml 和 CloseLogHtml 子例程,它们分别使用 OpenLog、Log 和 CloseLog 调用。
基于 Itanium 的操作系统不支持此示例。
此代码示例实现了以下功能:
不要求开发人员编写自定义持久性代码的默认持久性支持。
重要提示:
提供的示例仅供教学使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。
运行示例
如果您已经知道如何定位、生成和安装代码示例,则可以直接跳到测试示例一节,了解如何配置和运行代码示例。
必备组件
此示例要求安装下列组件:
Microsoft Visual Studio
Microsoft SQL Server Integration Services
位置
如果代码示例安装到默认位置,则该示例将位于以下目录中:
C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Programming Samples\Control Flow\HtmlLogProvider Sample
代码示例的 C# 解决方案位于 CS 目录,而 Visual Basic 解决方案位于 VB 目录。
生成示例
如果尚未在 Samples 文件夹中生成强名称密钥文件,则请使用以下过程生成此密钥文件。在**“项目属性”对话框的“签名”**选项卡中配置示例项目,以在生成时使用此密钥文件对程序集签名。
生成强名称密钥文件
若要打开 Microsoft Visual Studio 命令提示符,请单击**“开始”,依次指向“所有程序”、Microsoft Visual Studio 2008、“Visual Studio 工具”,然后单击“Visual Studio 2008 命令提示”**。
- 或 -
若要打开 Microsoft .NET Framework 命令提示,请单击**“开始”,依次指向“所有程序”、Microsoft .NET Framework SDK v2.0,然后单击“SDK 命令提示”**。
在命令提示符下,使用更改目录 (CD) 命令将命令提示窗口的当前文件夹更改为 Samples 文件夹。在此文件夹中创建的密钥文件将由所有 SQL Server 代码示例使用。
注意:
若要确定示例所在的文件夹,请单击“开始”,依次指向“所有程序”、Microsoft SQL Server 2008、“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例将位于 :\Program Files\Microsoft SQL Server\100\Samples。
在命令提示符下,运行以下命令以生成密钥文件:
sn -k SampleKey.snk
重要提示:
有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“Security Briefs: Strong Names and Security in the .NET Framework”(安全简讯:.NET Framework 中的强名称和安全性)。
在 Microsoft Visual Studio 2008 中生成示例
在**“文件”|“打开”菜单中,单击“项目”**并打开 HtmlLogProviderVB.sln 或 HtmlLogProviderCS.sln。
在**“生成”菜单上,单击“生成解决方案”**以生成解决方案。
安装示例
同时提供此示例的 Visual Basic 和 C# 版本。为了区分每个示例版本的程序集,在输出程序集的名称中追加有 CS 或 VB。成功生成组件后,在 Business Intelligence Development Studio 中按照以下步骤将其添加为包中的连接管理器。
将组件复制到 LogProviders 文件夹
打开 Windows 资源管理器或要在文件系统中使用的首选应用程序。
将程序集(HtmlLogProviderCS.dll 或 HtmlLogProviderVB.dll)复制到位于 %system%\Program Files\Microsoft SQL Server\100\DTS 的 LogProviders 文件夹中。
通过拖放程序集的方式将组件安装到全局程序集缓存 (GAC) 中
打开 Windows 资源管理器或要在文件系统中使用的首选应用程序。
将程序集从 LogProviders 文件夹拖放到全局程序集缓存 (GAC) 所在的文件夹,该文件夹位于 %system%\assembly。
使用 gacutil.exe 将组件安装到全局程序集缓存 (GAC) 中
打开命令提示符窗口。
键入以下命令以将 C# 版本的组件安装到 GAC 中:
gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Programming Samples\Control Flow\HtmlLogProvider Sample\CS\HtmlLogProviderCS\bin\Debug\HtmlLogProviderCS.dll"
- 或 -
键入以下命令,将 Visual Basic 版本的组件安装到 GAC 中:
gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Programming Samples\Control Flow\HtmlLogProvider Sample\VB\HtmlLogProviderVB\bin\Debug\HtmlLogProviderVB.dll"
测试示例
现在您可以测试包中的自定义日志提供程序。
使用包中的示例日志提供程序
在 Integration Services 项目中,添加一个新文件连接管理器并将其配置为指向扩展名为 **.**htm 或 **.**html 的文件。
从 SSIS 菜单中,选择**“日志记录”**,并添加 HTML 文件 (CS) 的自定义日志提供程序或 HTML 文件 (VB) 的自定义日志提供程序。
在“配置”列,输入文件连接管理器的名称。
适当配置日志记录,以使包及其组件可将其事件记录到自定义日志提供程序中。
运行该包,然后打开 HTML 文件以查看日志记录输出。