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.0以降
|
関連項目:
|
OracleGlobalizationメンバーは次の表にリストされています。
OracleGlobalization静的メソッド
OracleGlobalization静的メソッドを、表9-1にリストします。
表9-1 OracleGlobalization静的メソッド
| 名前 | 説明 |
|---|---|
|
ローカル・コンピュータのOracleグローバリゼーション設定を表す |
|
|
現行スレッドのOracleグローバリゼーション設定を表す |
|
|
Oracleグローバリゼーション・パラメータを現行スレッドに設定します |
OracleGlobalizationプロパティ
OracleGlobalizationプロパティを、表9-2にリストします。
表9-2 OracleGlobalizationプロパティ
| 名前 | 説明 |
|---|---|
|
カレンダ・システムを指定します |
|
|
クライアントのキャラクタ・セットを指定します |
|
|
|
|
|
L数値書式要素のローカル通貨記号として使用する文字列を指定します |
|
|
文字列としてのOracleの |
|
|
曜日と月の名称、および日付の略称を表現するために使用される言語を指定します |
|
|
U数値書式要素用のユーロEuroなどの、二重通貨記号を指定します |
|
|
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数値書式要素用のユーロEuroなどの、二重通貨記号を指定します |
|
|
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
備考
複製されたオブジェクトのプロパティ値は、複製元のオブジェクトのプロパティ値と同じです。