Hello World Ready 示例

更新日期: 2005 年 12 月 5 日

Hello World Ready 示例说明了创建、部署和测试基于公共语言运行时 (CLR) 集成的简单且全球通用存储过程所涉及的基本操作。不用更改全球通用组件的源代码就可以将它轻松地本地化为全世界各个市场的各种语言。此示例还示范了如何通过输出参数和记录返回由存储过程动态构建并返回到客户端的数据。

此示例与 Hello World 示例基本相同,不同的是此示例本地化此应用程序更加容易和安全。更改已本地化的文本需要执行下列操作:

  1. 更改资源目录中特定语言的 XML 文件(.resx 文件)
  2. 使用 resgen 生成该语言的资源文件
  3. 生成该语言的最新附属 DLL
  4. 在 SQL Server 中删除和添加该程序集。

CLR 存储过程本身的源代码和程序集并不更改。资源目录中提供了 build.cmd 脚本,阐释了如何编译和链接资源程序集。

尽管应用程序的源代码基于当前执行的程序集创建了资源管理器,但是您不必在包含存储过程的 DLL 中嵌入独立于语言的资源。在 AssemblyInfo.cs 或 AssemblyInfo.vb 文件中使用的 System.Resources.NeutralResourcesLanguage 属性允许独立于语言的资源存在于附属 DLL 中。因此,最好使用单独的 DLL,以便在需要添加或更改本地化文本时,不必更改包含 CLR 存储过程的主 DLL。这对于可能含有列和其他相关性,造成类型难以删除和重新添加的 CLR 用户定义类型而言,尤为有用。

通常,附属 DLL 版本必需与主程序集版本相同。但是,使用 SatelliteContractVersion 属性可以允许仅更新主程序集,而不更新附属程序集。有关详细信息,请参阅 Microsoft .NET Framework 2.0 版 SDK 文档中的 ResourceManager 类。

安装目录:驱动器:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HelloWorldReady\

应用场景

Jane 是 Adventure Works Cycles 的开发人员。她必须了解使用 CLR 集成存储过程的基本知识。她还必须了解如何使用她的团队所使用的技术资源,使 CLR 集成存储过程全球通用。

语言

Transact-SQL、Visual C# 和 Visual Basic。

功能

Hello World Ready 示例使用了 SQL Server 的以下功能。

应用领域 功能

整体

CLR、元数据

本地化

资源

必备组件

在运行此示例之前,请确保安装了下列软件:

  • Microsoft SQL Server 2005 或 Microsoft SQL Server 2005 Express Edition (SQL Server Express)。您可以从 SQL Server 2005 Express Edition 文档和示例网站免费获取 SQL Server Express
  • SQL Server 2005 附带的 AdventureWorks 数据库还可以从 SQL Server 开发人员中心网站上获取。
  • SQL Server 2005 数据库引擎示例。这些示例包含在 SQL Server 2005 中。您可以从 SQL Server 开发人员中心网站上下载这些示例的最新版本。
  • .NET Framework SDK 2.0 或 Microsoft Visual Studio 2005。您可以免费获取 .NET Framework SDK。请参阅安装 .NET Framework SDK

生成示例

如果尚未创建强名称密钥文件,则请使用以下说明生成该密钥文件。

生成强名称密钥文件

  1. 打开 Microsoft Visual Studio 2005 命令提示符。单击“开始”,依次指向“所有程序”、“Microsoft .NET Framework SDK 2.0”,然后单击“SDK 命令提示符”

    - 或 -

    打开 Microsoft .NET Framework 命令提示符。单击“开始”,依次指向“所有程序”、“Microsoft .NET Framework SDK 2.0”,然后单击“SDK 命令提示符”

  2. 使用更改目录命令 (CD) 将命令提示符窗口的当前目录更改至安装示例的文件夹。

    ms160899.note(zh-cn,SQL.90).gif注意:
    若要确定示例所在的文件夹,请单击“开始”按钮,依次指向“所有程序”、“Microsoft SQL Server”、“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例将位于 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples 中。
  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k SampleKey.snk

    ms160899.note(zh-cn,SQL.90).gif重要事项:
    有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“安全简讯:.NET Framework 中的强名称和安全性”。

生成 Hello World Ready 示例

  1. 通过使用 Visual Studio 2005 和所提供的 Visual Studio 解决方案或通过使用 Microsoft MSBuild(包括在 .NET Framework SDK 2.0 中)来编译示例。在 SDK 命令提示符下运行与以下命令相似的命令:

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ HelloWorld.sln

  2. 通过在 .NET Framework 或 Visual Studio 命令提示符下执行资源目录中提供的 build.cmd 文件来编译附属程序集。此文件将调用包含在 Visual Studio 或 .NET Framework SDK 中的 Resgen。

  3. 确保安装了 AdventureWorks 数据库。

  4. 如果没有将 SQL Server 数据库引擎 示例安装到默认位置,请在 Scripts\InstallCS.sql 和 Scripts\InstallVB.sql 中修改脚本的 CREATE ASSEMBLY 部分中的路径,使其引用示例的安装位置。

  5. 如果您不是要使用的 SQL Server 实例的管理员,则必须让管理员授予您 CreateAssembly 权限,才能完成安装。

  6. 根据编译的是 Visual C# 项目还是 Visual Basic 项目,在 Microsoft SQL Server Management Studio 中打开 Scripts\installCS.sql 或 Scripts\installVB.sql 文件。运行该文件中包含的脚本,或在命令提示符下运行与以下命令相似的命令:

    sqlcmd -E -I -i Scripts\InstallCS.sql

运行示例

运行 Hello World Ready 示例

  1. 在 Management Studio 中打开 scripts\test.sql 文件并运行该文件中包含的脚本。或在命令提示符下运行以下命令:

    sqlcmd -E -I -i Scripts\test.sql

删除示例

删除 Hello World Ready 示例

  1. 在 Management Studio 中打开 scripts\cleanup.sql 文件并运行该文件中包含的脚本。或在命令提示符下运行以下命令:

    sqlcmd -E -I -i Scripts\cleanup.sql

注释

为了使此示例正确运行,必须启用 SQL Server 2005 或 SQL Server Express 的 CLR。

提供的示例仅供教学使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。未经系统管理员允许,不得将示例应用程序和程序集与生产 SQL Server 数据库或报表服务器相连或一起使用。

请参阅

任务

Hello World 示例
识别日历的日期/时间 UDT

其他资源

CREATE ASSEMBLY (Transact-SQL)
DROP ASSEMBLY (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
DROP PROCEDURE (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2005 年 12 月 5 日

更改的内容:
  • 更改了有关生成密钥文件的说明,包括密钥文件的名称和位置。