关于能够识别补充字符的字符串操作示例的自述文件

此示例仅适用于 SQL Server 2005 和 SQL Server 2008,而不适用于 SQL Server 2005 之前的任何 SQL Server 版本。

Microsoft SQL Server 的 StringManipulate 示例说明能够识别补充字符的字符串处理。此示例说明五个 Transact-SQL 字符串函数的实现。这些函数提供的字符串操作功能与内置函数的功能相同,但增加了补充字符识别功能,因此既能处理 Unicode 字符串,又能处理补充字符串。这五个函数是 len_s()、left_s()、right_s()、sub_s() 和 replace_s(),它们等效于内置函数 LEN()、LEFT()、RIGHT()、SUBSTRING() 和 REPLACE() 字符串函数。

ms160903.note(zh-cn,SQL.100).gif注意:
编译公共语言运行时 (CLR) 集成示例时,SQL Server 随附的 Microsoft .NET Framework 编译器版本的路径必须是 PATH 环境变量中的第一个 Framework 目录。SQL Server 随附的编译器的位置为 驱动器:\WINNT\Microsoft.NET\Framework\v2.0.xxxxx驱动器:\Windows\Microsoft.NET\Framework\v2.0.xxxxx,其中 驱动器 为安装驱动器,xxxxx 为 SQL Server 随附的 .NET Framework 的版本。

默认位置: ** C:\Program Files\Microsoft SQL Server\100\Samples\Engine\Programmability\CLR\StringManipulate

必须先下载并安装 SQL Server 示例和示例数据库,然后才能查看或使用它们。有关详细信息,请参阅安装 SQL Server 示例和示例数据库的注意事项

应用场景

开发人员希望准确地操作包含补充字符的 Unicode 字符串。

语言

Transact-SQL、Visual C# 和 Visual Basic。

功能

StringManipulate 示例使用 Microsoft SQL Server 的下列功能:

应用领域 功能

整体

CLR 用户定义函数

必备组件

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

  • Microsoft SQL Server 或 Microsoft SQL Server Express。您可以从 SQL Server Express 文档和示例网站上免费获取 SQL Server Express。
  • SQL Server 开发人员网站上提供的 AdventureWorks 数据库。
  • SQL Server 开发人员网站上提供的 SQL Server 数据库引擎示例。
  • .NET Framework SDK 2.0 或 Microsoft Visual Studio 2005。可以免费获取 .NET Framework SDK。请参阅安装 .NET Framework 文档
  • 必须在计算机上安装 Ext-B 字体才能在 SQL Server Management Studio 结果窗口中显示正确的字符。若要更改 Management Studio 结果窗口中的字体,请在**“工具”菜单上单击“选项”,展开“环境”,然后单击“字体和颜色”**。将文本结果和/或网格结果的字体设置为 MingLiU_ExtB。必须关闭 Management Studio 然后再重新打开才能使更改生效。

生成示例

如果尚未创建强名称密钥文件 ExternalSampleKey.snk,则请按照以下说明生成该密钥文件。

生成强名称密钥文件

  1. 打开 Microsoft Visual Studio 2005 命令提示符。单击**“开始”,依次指向“所有程序”Microsoft Visual Studio 2005“Visual Studio 工具”,再单击“Visual Studio 2005 命令提示”**。

    - 或 -

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

  2. 在命令提示符下,使用更改目录 (CD) 命令将命令提示符窗口的当前文件夹更改为 Samples 文件夹。

    ms160903.note(zh-cn,SQL.100).gif注意:
    若要确定示例所在的文件夹,请单击“开始”,依次指向“所有程序”Microsoft SQL Server“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例将位于 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples 中。

  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k ExternalSampleKey.snk

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

若要生成示例,请执行以下操作:

生成示例

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

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

  2. 确保安装了 AdventureWorks 数据库,或者在需要时创建要在其中安装示例的数据库。

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

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

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

    此文件包含可在 SQL Server 中安装和注册示例 CLR 对象的脚本。

运行示例

若要运行示例,请执行以下操作:

运行示例

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

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

    此脚本从 Transact-SQL 中调用字符串操作示例。

删除示例

若要删除 StringManipulate 示例,请执行以下步骤:

删除示例

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

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

    此脚本可删除示例。

注释

若要使此示例正常运行,必须启用 SQL Server 2008 或 SQL Server Express 的 CLR。

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