補助文字対応文字列操作
更新 : 2005 年 12 月 5 日
Microsoft SQL Server 2005 の StringManipulate サンプルは、補助文字に対応した文字列処理を示します。このサンプルでは、組み込まれているものと同じ文字列操作関数を提供する、5 つの Transact-SQL 文字列関数の実装を示します。しかし、この文字列操作関数では、Unicode 文字列および補助文字文字列の両方を処理することができます。5 つの関数とは 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 Express は、SQL Server 2005 Express Edition ドキュメントとサンプルの Web サイトから無償で入手できます。
- SQL Server 2005 に付属の AdventureWorks データベース。SQL Server デベロッパー Web サイトからも入手できます。
- SQL Server 2005 データベース エンジンのサンプル。これらのサンプルは SQL Server 2005 に含まれています。これらの最新バージョンは、SQL Server デベロッパー Web サイトからダウンロードできます。
- .NET Framework SDK 2.0 または Microsoft Visual Studio 2005。.NET Framework SDK は無償で入手できます。詳細については、「.NET Framework SDK のインストール」を参照してください。
- SQL Server Management Studio の結果ウィンドウに正しい文字が表示されるためには、Ext-B フォントがコンピュータにインストールされている必要があります。Management Studio の結果ウィンドウのフォントを変更するには、[ツール] メニューの [オプション] をクリックして [環境] を展開し、[フォントおよび色] をクリックします。[結果のテキスト表示] または [結果のグリッド表示]、あるいはその両方のフォントを [MingLiU_ExtB] に設定します。変更を有効にするには、Management Studio を終了して、再起動する必要があります。
サンプルのビルド
まだ厳密な名前のキー ファイル ExternalSampleKey.snk を作成していない場合は、次の手順に従ってキー ファイルを生成します。
厳密な名前のキー ファイルを生成するには
Microsoft Visual Studio 2005 コマンド プロンプトを開きます。[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft Visual Studio 2005]、[Visual Studio Tools] の順にポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。
または
Microsoft .NET Framework コマンド プロンプトを開きます。[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft .NET Framework SDK v2.0] の順にポイントして、[SDK コマンド プロンプト] をクリックします。
コマンド プロンプトでディレクトリ変更 (CD) コマンドを使用して、コマンド プロンプト ウィンドウの現在のフォルダを Samples フォルダに変更します。
メモ : サンプルが配置されているフォルダを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005]、[マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\90\Samples にあります。 コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。
sn -k ExternalSampleKey.snk
重要 : 厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。
サンプルをビルドするには、次の手順を行います。
サンプルのビルド
Visual Studio 2005 および提供されている Visual Studio ソリューションを使用するか、.NET Framework SDK 2.0 に含まれている Microsoft MSBuild を使用して、サンプルをコンパイルします。コマンド プロンプトで、次のようなコマンドを実行します。
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ StringManipulate.sln
AdventureWorks データベースがインストールされていることを確認します。必要に応じて、サンプルをインストールするデータベースを作成します。
既定の場所に SQL Server データベース エンジン サンプルをインストールしなかった場合は、サンプルのインストール先が参照されるように、Scripts\InstallCS.sql スクリプトおよび Scripts\InstallVB.sql スクリプトの CREATE ASSEMBLY 部のパスを変更します。
Visual C# プロジェクトと Visual Basic プロジェクトのどちらをコンパイルしたかに応じて、Management Studio でファイル scripts\installCS.sql または scripts\installVB.sql を開きます。ファイルに含まれているスクリプトを実行するか、コマンド プロンプトで次のようなコマンドを実行します。
sqlcmd -E -I -i Scripts\InstallCS.sql
このファイルには、SQL Server でサンプル CLR オブジェクトのインストールと登録を行うためのスクリプトが含まれています。
サンプルの実行
このサンプルを実行するには、次の手順を行います。
サンプルの実行
SQL Server Management Studio で scripts\test.sql ファイルを開きます。ファイルに含まれているスクリプトを実行するか、コマンド プロンプトで次のコマンドを実行します。
sqlcmd -E -I -i Scripts\test.sql
このスクリプトにより、Transact-SQL から文字列操作のサンプルが呼び出されます。
サンプルの削除
StringManipulate サンプルを削除するには、次の手順を行います。
サンプルの削除
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 日 |
|