增補感知的字串操作

更新: 2005 年 12 月 5 日

Microsoft SQL Server 2005 的 StringManipulate 範例示範補充字元感知的字串處理。此範例顯示五個 Transact-SQL 字串函數的實作,這些字串函數的字串操作函數與內建字串函數相同,但是具有用於處理 Unicode 和補充字串的額外補充字元感知功能。這五個函數是:len_s()、left_s()、right_s()、sub_s() 和 replace_s(),它們相當於下列內建字串函數:LEN()、LEFT()、RIGHT()、SUBSTRING() 和 REPLACE()。

預設位置:<drive>:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\StringManipulate

狀況

開發人員想正確操作包含補充字元的 Unicode 字串。

語言

Transact-SQL、Visual C# 和 Visual Basic。

功能

StringManipulate 範例使用 Microsoft 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 Database Engine 範例。SQL Server 2005 中隨附這些範例。您可以從 SQL Server 開發人員網站下載最新版的範例。
  • .NET Framework SDK 2.0 或 Microsoft Visual Studio 2005。您可以免費取得 .NET Framework SDK。請參閱<安裝 .NET Framework SDK>。
  • 您必須在電腦上安裝 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-tw,SQL.90).gif附註:
    若要判斷範例所在的資料夾,按一下 [開始],依序指向 [所有程式][Microsoft SQL Server 2005][文件集和教學課程],然後按一下 [範例目錄]。如果是使用預設安裝位置,則範例位於 <system_drive>:\Program Files\Microsoft SQL Server\90\Samples。
  3. 在命令提示字元中,執行下列其中一個命令來產生金鑰檔:

    sn -k ExternalSampleKey.snk

    ms160903.note(zh-tw,SQL.90).gif重要事項:
    如需有關強式名稱金鑰組的詳細資訊,請參閱 MSDN 中 .NET Development Center 中的<Security Briefs: Strong Names and Security in the .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 Database Engine 範例,則請修改 Scripts\InstallCS.sql 和 Scripts\InstallVB.sql 中指令碼之 CREATE ASSEMBLY 部分的路徑,以參考已安裝範例的位置。

  4. 在 Management Studio 中,根據您所編譯的是 Visual C# 專案還是 Visual Basic 專案,來開啟 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 2005 或 SQL Server Express 的 CLR,才能讓此範例正常運作。

範例只供教育目的之用。它們不能用於實際執行環境,而且尚未在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在生產 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式及組件。

變更歷程記錄

版本 歷程記錄

2005 年 12 月 5 日

變更的內容:
  • 已變更產生金鑰檔的指示,包括金鑰檔的名稱和位置。