OracleGlobalization
クラスは、セッション、スレッドおよびローカル・コンピュータのOracleグローバリゼーション設定(読取り専用)の取得および設定に使用されます。
クラスの継承
System.Object
Oracle.DataAccess.Client.OracleGlobalization
宣言
public sealed class OracleGlobalization : ICloneable, IDisposable
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
プロパティ値が無効である場合は例外が表示されます。TimeZone
プロパティを除いて、新規に設定されたプロパティ値はすべて検証されます。
OracleGlobalization
オブジェクト・プロパティを変更しても、セッションまたはスレッドのグローバリゼーション設定は変更されません。セッションおよびスレッドのグローバリゼーション設定を変更するには、それぞれ、OracleConnection
オブジェクトのSetSessionInfo
メソッド、またはOracleGlobalization
オブジェクトのSetThreadInfo
メソッドがコールされる必要があります。
例
// C# using System; using Oracle.DataAccess.Client; class OracleGlobalizationSample { static void Main() { // Get thread's globalization info OracleGlobalization glob = OracleGlobalization.GetThreadInfo(); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); // Set language on thread's globalization info glob.Language = "FRENCH"; OracleGlobalization.SetThreadInfo(glob); OracleGlobalization.GetThreadInfo(glob); // Prints "glob.Language = FRENCH" Console.WriteLine("glob.Language = " + glob.Language); glob.Dispose(); } }
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
Microsoft .NET Frameworkバージョン: 1.xまたは2.0
参照: |
OracleGlobalization
メンバーは次の表にリストされています。
OracleGlobalization静的メソッド
OracleGlobalization
静的メソッドのリストを、表9-1に示します。
表9-1 OracleGlobalization静的メソッド
名前 | 説明 |
---|---|
ローカル・コンピュータのOracleグローバリゼーション設定を表す |
|
現行スレッドのOracleグローバリゼーション設定を表す |
|
Oracleグローバリゼーション・パラメータを現行スレッドに設定します |
OracleGlobalizationプロパティ
OracleGlobalization
プロパティのリストを、表9-2に示します。
表9-2 OracleGlobalizationプロパティ
名前 | 説明 |
---|---|
カレンダ・システムを指定します |
|
クライアントのキャラクタ・セットを指定します |
|
|
|
L数値書式要素のローカル通貨記号として使用する文字列を指定します |
|
文字列としてのOracleの |
|
曜日と月の名称、および日付の略称を表現するために使用される言語を指定します |
|
U数値書式要素用のユーロなどの、二重通貨記号を指定します |
|
C数値書式要素の国際通貨記号として使用する文字列を指定します |
|
データベースのデフォルト言語を指定します |
|
バイトまたは文字(デフォルト)長セマンティクスのいずれかを使用する |
|
暗黙的または明示的なキャラクタ・タイプ変換時のデータ損失によって、エラーを報告するかどうかを判別します |
|
文字列の数値に対して、小数点文字およびグループ・セパレータ用に使用される文字を指定します |
|
句によって |
|
地域の名前を指定します |
|
|
|
|
|
タイムゾーンのリージョン名を指定します |
OracleGlobalizationパブリック・メソッド
OracleGlobalization
パブリック・メソッドのリストを、表9-3に示します。
表9-3 OracleGlobalizationパブリック・メソッド
パブリック・メソッド | 説明 |
---|---|
|
|
|
|
OracleGlobalization
静的メソッドのリストを、表9-4に示します。
表9-4 OracleGlobalization静的メソッド
名前 | 説明 |
---|---|
ローカル・コンピュータのOracleグローバリゼーション設定を表す |
|
現行スレッドのOracleグローバリゼーション設定を表す |
|
Oracleグローバリゼーション・パラメータを現行スレッドに設定します |
GetClientInfo
により、ローカル・コンピュータのOracleグローバリゼーション設定を表すOracleGlobalization
オブジェクトを戻します。
オーバーロード・リスト:
このメソッドにより、ローカル・コンピュータのグローバリゼーション設定を表すOracleGlobalization
インスタンスを戻します。
GetClientInfo(OracleGlobalization)
このメソッドにより、ローカル・コンピュータのグローバリゼーション設定を含む、指定されたOracleGlobalization
オブジェクトをリフレッシュします。
このメソッドにより、ローカル・コンピュータのグローバリゼーション設定を表すOracleGlobalization
インスタンスを戻します。
宣言
// C# public static OracleGlobalization GetClientInfo();
戻り値
OracleGlobalization
インスタンス
例
// C# using System; using Oracle.DataAccess.Client; class GetClientInfoSample { static void Main() { // Get client's globalization info OracleGlobalization glob = OracleGlobalization.GetClientInfo(); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); glob.Dispose(); } }
このメソッドにより、ローカル・コンピュータのグローバリゼーション設定を含む、指定されたOracleGlobalization
オブジェクトをリフレッシュします。
宣言
// C#
public static void GetClientInfo(OracleGlobalization oraGlob);
パラメータ
oraGlob
更新されているOracleGlobalization
オブジェクト
例
// C# using System; using Oracle.DataAccess.Client; class GetClientInfoSample { static void Main() { // Get client's globalization info OracleGlobalization glob = OracleGlobalization.GetClientInfo(); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); // Get client's globalization info using overload OracleGlobalization.GetClientInfo(glob); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); glob.Dispose(); } }
GetThreadInfo
により、OracleGlobalization
インスタンスを戻す、またはリフレッシュします。
オーバーロード・リスト:
このメソッドにより、現行スレッドのOracleGlobalization
オブジェクト・インスタンスを戻します。
GetThreadInfo(OracleGlobalization)
このメソッドにより、現行スレッドのグローバリゼーション設定を含む、OracleGlobalization
オブジェクト・インスタンスをリフレッシュします。
このメソッドにより、現行スレッドのOracleGlobalization
インスタンスを戻します。
宣言
// C# public static OracleGlobalization GetThreadInfo();
戻り値
OracleGlobalization
インスタンス
備考
最初に、GetThreadInfo()
により、OracleGlobalization
オブジェクトを戻します。このオブジェクトは、アプリケーションでSetThreadInfo()
を起動してこれを変更しないかぎり、GetClientInfo()
によって戻されるのと同じプロパティ値を持ちます。
例
// C# using System; using Oracle.DataAccess.Client; class GetThreadInfoSample { static void Main() { // Get thread's globalization info OracleGlobalization glob = OracleGlobalization.GetThreadInfo(); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); // Get thread's globalization info using overloaded OracleGlobalization.GetThreadInfo(glob); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); glob.Dispose(); } }
このメソッドにより、現行スレッドのグローバリゼーション設定を含む、OracleGlobalization
オブジェクトをリフレッシュします。
宣言
// C#
public static void GetThreadInfo(OracleGlobalization oraGlob);
パラメータ
oraGlob
更新されているOracleGlobalization
オブジェクト
備考
最初に、GetThreadInfo()
により、OracleGlobalization
オブジェクトを戻します。アプリケーションでSetThreadInfo()
を起動してこれを変更しないかぎり、このオブジェクトはGetClientInfo()
によって戻されるのと同じプロパティ値を持ちます。
例
// C# using System; using Oracle.DataAccess.Client; class GetThreadInfoSample { static void Main() { // Get thread's globalization info OracleGlobalization glob = OracleGlobalization.GetThreadInfo(); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); // Get thread's globalization info using overloaded OracleGlobalization.GetThreadInfo(glob); // Prints "glob.Language = AMERICAN" Console.WriteLine("glob.Language = " + glob.Language); glob.Dispose(); } }
このメソッドは、Oracleグローバリゼーション・パラメータを現行スレッドに設定します。
宣言
// C#
public static void SetThreadInfo(OracleGlobalization oraGlob);
パラメータ
oraGlob
OracleGlobalization
オブジェクト
備考
.NET文字列のODP.NETタイプへの変換およびODP.NETタイプからの変換では、ODP.NETタイプ・コンストラクタの場合と同様に、適用可能であればグローバリゼーション・プロパティ値が使用されます。たとえば、.NET文字列からOracleDate
構造を構築するとき、この文字列はスレッドのOracleGlobalization
.DateFormat
プロパティによって指定された書式であることが予想されます。
例
// C# using System; using Oracle.DataAccess.Client; class SetThreadInfoSample { static void Main() { // Get thread's globalization info OracleGlobalization glob1 = OracleGlobalization.GetThreadInfo(); // Prints "glob1.Language = AMERICAN" Console.WriteLine("glob1.Language = " + glob1.Language); // Set language on thread's globalization info glob1.Language = "FRENCH"; OracleGlobalization.SetThreadInfo(glob1); OracleGlobalization glob2 = OracleGlobalization.GetThreadInfo(); // Prints "glob2.Language = FRENCH" Console.WriteLine("glob2.Language = " + glob2.Language); glob1.Dispose(); glob2.Dispose(); } }
OracleGlobalization
プロパティのリストを、表9-5に示します。
表9-5 OracleGlobalizationプロパティ
名前 | 説明 |
---|---|
カレンダ・システムを指定します |
|
クライアントのキャラクタ・セットを指定します |
|
|
|
L数値書式要素のローカル通貨記号として使用する文字列を指定します |
|
文字列としてのOracleの |
|
曜日と月の名称、および日付の略称を表現するために使用される言語を指定します |
|
U数値書式要素用のユーロなどの、二重通貨記号を指定します |
|
C数値書式要素の国際通貨記号として使用する文字列を指定します |
|
データベースのデフォルト言語を指定します |
|
バイトまたは文字(デフォルト)長セマンティクスのいずれかを使用する |
|
暗黙的または明示的なキャラクタ・タイプ変換時のデータ損失によって、エラーを報告するかどうかを判別します |
|
文字列の数値に対して、小数点文字およびグループ・セパレータ用に使用される文字を指定します |
|
句によって |
|
地域の名前を指定します |
|
|
|
|
|
タイムゾーンのリージョン名を指定します |
このプロパティはカレンダ・システムを指定します。
宣言
// C# public string Calendar {get; set;}
プロパティ値
Calendar
を表す文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_CALENDAR
設定です。OracleGlobalization
オブジェクトがクライアント、スレッドまたはセッションの設定を表すかどうかにかかわらず、この値は同じです。
このプロパティはクライアントのキャラクタ・セットを指定します。
宣言
// C# public string ClientCharacterSet {get;}
プロパティ値
ローカル・コンピュータのキャラクタ・セットの名前を指定する文字列です。
備考
デフォルト値はローカル・コンピュータのキャラクタ・セットです。
このプロパティは、WHERE
句の比較およびPL/SQLブロックの比較のメソッドを表します。
宣言
// C# public string Comparison {get; set;}
プロパティ値
比較のメソッドの名前を指定する文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_COMP
設定です。
このプロパティは、L数値書式要素のローカル通貨記号として使用する文字列を指定します。
宣言
// C# public string Currency {get; set;}
プロパティ値
L数値書式要素のローカル通貨記号として使用する文字列です。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_CURRENCY
設定です。
参照: |
このプロパティは、文字列としてのOracleのDate
タイプ用の、日付書式を指定します。
宣言
// C# public string DateFormat {get; set;}
プロパティ値
文字列としてのOracle Date
タイプ用の日付書式です。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_DATE_FORMAT
設定です。
このプロパティは、曜日、月の名前および日付の略称(たとえば、a.m、p.m、AD、BCなど)を綴るのに使用する言語を指定します。
宣言
// C# public string DateLanguage {get; set;}
プロパティ値
言語を指定する文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_DATE_LANGUAGE
設定です。
このプロパティは、U数値書式要素用のユーロなどの、二重通貨記号を指定します。
宣言
// C# public string DualCurrency {get; set;}
プロパティ値
二重通貨記号を指定する文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_DUAL_CURRENCY
設定です。
参照: |
このプロパティは、C数値書式要素の国際通貨記号として使用する文字列を指定します。
宣言
// C# public string ISOCurrency {get; set;}
プロパティ値
国際通貨記号として使用される文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_ISO_CURRENCY
設定です。
参照: |
このプロパティはデータベースのデフォルト言語を指定します。
宣言
// C# public string Language {get; set;}
プロパティ値
データベースのデフォルト言語
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_LANGUAGE
設定です。
Language
はメッセージ、曜日名と月の名前およびソート・アルゴリズムに使用されます。NLS_DATE_LANGUAGE
およびNLS_SORT
パラメータの値もこれにより決まります。
このプロパティは、CHAR
およびVARCHAR2
列がバイトまたは文字(デフォルト)長セマンティクスを使用するかどうかを示します。
宣言
// C# public string LengthSemantics {get; set;}
プロパティ値
バイトまたは文字長セマンティクスのいずれかを示す文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_LENGTH_SEMANTICS
設定です。
このプロパティでは、暗黙的または明示的なキャラクタ・タイプ変換時のデータ損失によって、エラーを報告するかどうかを判断します。
宣言
// C# public bool NCharConversionException {get; set;}
プロパティ値
キャラクタ・タイプ変換によってエラー・メッセージが発生するかどうかを示す文字列です。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
NLS_NCHAR_CONV_EXCP
のデフォルト値は、INIT.ORA
ファイルの設定が優先される場合以外はFalse
です。
このプロパティは、文字列の数値に対して、小数点文字およびグループ・セパレータ用に使用される文字を指定します。
宣言
// C# public string NumericCharacters {get; set;}
プロパティ値
使用される文字を表す文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_NUMERIC_CHARACTERS
設定です。
このプロパティは、句によってORDER
の照合順番を指定します。
宣言
// C# public string Sort {get; set;}
プロパティ値
照合順番を示す文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_SORT
設定です。
このプロパティは、地域の名前を指定します。
宣言
// C# public string Territory {get; set;}
プロパティ値
地域の名前を指定する文字列
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_TERRITORY
設定です。
このプロパティを変更すると、その他のグローバリゼーション設定が変更されます。
参照: |
このプロパティは、TimeStamp
タイプの文字列書式を指定します。
宣言
// C# public string TimeStampFormat {get; set;}
プロパティ値
TimeStamp
タイプの文字列書式
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_TIMESTAMP_FORMAT
設定です。
このプロパティは、TimeStampTZ
タイプの文字列書式を指定します。
宣言
// C# public string TimeStampTZFormat {get; set;}
プロパティ値
TimeStampTZ
タイプの文字列書式
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値は、ローカル・コンピュータのNLS_TIMESTAMP_TZ_FORMAT
設定です。
このプロパティは、タイムゾーンのリージョン名または時間オフセットを指定します。
宣言
// C# public string TimeZone {get; set;}
プロパティ値
タイムゾーンのリージョン名またはタイムゾーンのオフセットを表す文字列です。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
備考
デフォルト値はローカル・コンピュータのタイムゾーンのリージョン名です。
スレッドによりTimeStamp
構造の1つを構築するときにのみ、TimeZone
は使用されます。TimeZone
はセッションに影響を及ぼしません。
TimeZone
は、時間オフセット(7:00など)か、US/PacificのようなV$TIMEZONE_NAMES
で指定される有効なタイムゾーンのリージョン名です。タイムゾーンの略称はサポートされていません。
注意: PSTは、タイムゾーンのリージョン名および略称であるため、OracleGlobalization によって認証されます。 |
GetSessionInfo()
またはGetSessionInfo(OracleGlobalization)
を使用して、OracleGlobalization
オブジェクトが取得される場合、このプロパティにより空の文字列を戻します。デフォルトにより、最初はセッションのタイムゾーンはスレッドのタイムゾーンと同一になっています。したがって、セッションのタイムゾーンがALTER
SESSION
コールの起動によって変更されない場合、セッションのタイムゾーンはクライアントのグローバリゼーション設定からフェッチできます。
OracleGlobalization
パブリック・メソッドのリストを、表9-6に示します。
表9-6 OracleGlobalizationパブリック・メソッド
パブリック・メソッド | 説明 |
---|---|
|
|
|
|
このメソッドでは、OracleGlobalization
オブジェクトのコピーを作成します。
宣言
// C# public object Clone();
戻り値
OracleGlobalization
オブジェクト
実装
ICloneable
備考
複製されたオブジェクトのプロパティ値は、複製元のオブジェクトのプロパティ値と同じです。