共用方式為


Hello World Ready 範例

更新: 2005 年 12 月 5 日

Hello World Ready 範例示範涉及建立、部署及測試以簡單全球化整備 Common Language Runtime (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 類別。

安裝目錄:<drive>:\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 Database Engine 範例。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-tw,SQL.90).gif附註:
    若要判斷範例所在的資料夾,按一下 [開始] 按鈕,依序指向 [所有程式]、[Microsoft SQL Server] 和 [文件集和教學課程],然後按一下 [範例目錄]。如果是使用預設安裝位置,則範例位於 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples。
  3. 在命令提示字元中,執行下列其中一個命令來產生金鑰檔:

    sn -k SampleKey.snk

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

  5. 如果您不是正在使用之 SQL Server 執行個體的管理員,則必須讓管理員授與您 CreateAssembly 權限來完成安裝。

  6. 在 Microsoft SQL Server Management Studio 中,根據您所編譯的是 Visual C# 專案還是 Visual Basic 專案,來開啟 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 日

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