TimesTen ClassicのDSNの例
この項では、TimesTen Classicデータベースを設定する方法のその他の例を示します。
単一のTimesTen Classicデータベースに対する複数のDSNの作成
同じTimesTen Classicデータベースを参照するが異なる接続属性を持つ複数のDSNを作成できます。
この例では、AdminDSN
およびGlobalDSN
の2つのDSNを作成します。これらのDSNは、接続文字セット以外は同じです。AL32UTF8
文字セットを使用するアプリケーションは、AdminDSN
を使用することでTTDS
データベースに接続できます。マルチバイト文字を使用するアプリケーションは、GlobalDSN
を使用してTTDS
データベースに接続できます。
大カッコで囲まれたテキストは、データソース名です。
AdminDSN
は、AL32UTF8
データベース文字セットを使用して作成され、接続文字セットとしてAL32UTF8
を使用します。GlobalDSN
はAL32UTF8
データベース文字セットを使用して作成され、接続文字セットとしてAL32UTF8
が使用されます。/disk1/timesten
がtimesten_home
であることに注意してください。
[AdminDSN] Driver=/disk1/timesten/lib/libtten.so Datastore=/disk1/databases/TTDS DatabaseCharacterSet=AL32UTF8 ConnectionCharacterSet=AL32UTF8 CacheAdminWallet=1 [GlobalDSN] Driver=/disk1/timesten/lib/libtten.so DataStore=/disk1/databases/TTDS DatabaseCharacterSet=AL32UTF8 ConnectionCharacterSet=AL32UTF8 CacheAdminWallet=1
DSNでのPL/SQL接続属性の指定
TimesTen Classicでは、PL/SQL接続属性は、初期接続属性と一般接続属性の両方として存在します。
-
PLSQL_MEMORY_ADDRESS
- TimesTenダイレクト・ドライバを使用する各プロセスにPL/SQL共有メモリー・セグメントがロードされる仮想アドレス(16進値)を指定する初期接続属性。このメモリー・アドレスは、データベースへのすべての接続、およびデータベースに接続するすべてのプロセスで同じである必要があります。 -
PLSQL_MEMORY_SIZE
- PL/SQL共有メモリー・セグメントのサイズ(MB)を指定する初期接続属性。 -
PLSCOPE_SETTINGS
- PL/SQLコンパイラで相互参照情報を生成するかどうかを制御する一般接続属性。 -
PLSQL_OPTIMIZE_LEVEL
- PL/SQLライブラリ・ユニットのコンパイルに使用する最適化レベルを設定する一般接続属性。
次の例では、PLdsn
DSNを作成し、PL/SQL共有メモリー・セグメントのサイズを32 MBに設定します。
[PLdsn] Datastore=/disk1/databases/PLdsn PermSize=128 DatabaseCharacterSet=AL32UTF8 ConnectionCharacterSet=AL32UTF8 PLSQL_MEMORY_SIZE=32 CacheAdminWallet=1
その他の例およびPL/SQL接続属性の完全なリストは、『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』のPL/SQL接続属性を参照してください。
TimesTen ClassicでのデフォルトDSNの設定
TimesTen Classicでは、オプションで、デフォルトのデータソース定義を追加できます。
接続時にアプリケーションでodbc.ini
ファイルにないDSNが指定された場合やアプリケーションでDSNが指定されなかった場合、TimesTen Classicデータベースへの接続はデフォルトDSNを使用して構成されます。
デフォルトのデータソースを定義する際には、名前をdefault
にする必要があります。「DSNの指定」で説明しているとおり、デフォルトDSNは、その他のデータソースと同じ属性を使用して定義できます。
接続時、TimesTen Classicは次のいずれかのシナリオでデフォルトDSNを使用します。
-
接続文字列にキーワードと値のペア
DSN=default
を指定した場合。 -
接続文字列の
DSN
接続属性に未定義の値を指定した場合。 -
接続文字列の
DSN
接続属性に値を指定しなかった場合。
ただし、一般的には特定のデータソースを使用して接続するのが最善です。
デフォルトDSNを使用する場合、ttDestroy
ユーティリティによるデータベース破棄などDSN名を必要とするTimesTenユーティリティ操作を実行する際に、DSN名としてdefault
と入力してください。
次の例は、ユーザーがttIsql
を呼び出して、未定義のDSNで接続しているところを示します。odbc.ini
ファイルのdoesNotExist
に定義がないため、TimesTen Classicはdefault
DSNを使用してデータベースを作成し、そのデータベースへの接続を開始します。この例はまた、DSNにdefault
を指定してttStatus
とttDestroy
の両方のユーティリティを呼び出しているユーザーも示します。さらに、ユーザーがDSNとしてdefault
のかわりにdoesNotExist
を指定した場合のエラーも示します。
% ttIsql doesNotExist;
Copyright (c) 1996, 2024 Oracle. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
connect "DSN=doesNotExist";
Connection successful:
Command> exit
Disconnecting...
Done.
% ttStatus default
TimesTen status report as of Mon Oct 22 12:27:52 2021
Daemon pid 13623 port 16138 instance myhost
TimesTen Server pid 13632 started on port 16140
------------------------------------------------------------------------
Data store /timesten/install/sample_db/default
There are no connections to the data store
Replication policy : Manual
Cache Agent policy : Manual
PL/SQL enabled.
------------------------------------------------------------------------
Accessible by group xyz
End of report
% ttDestroy doesNotExist;
Failed to destroy data store: Specified DSN is not found in user and system
odbc.ini files (or registry)
% ttDestroy default;
次の例は、デフォルトDSN用の接続属性を構成する方法を示します。必須ではありませんが、他のDSNと同様の方法で、デフォルトDSN用の接続属性を構成できます。これは「ODBC Data Sources」の項には指定されていません。/disk1/timesten
がtimesten_home
であることに注意してください。
[ODBC Data Sources]
database1=TimesTen 22.1 Driver
[default]
Driver=/disk1/timesten/lib/libtten.so
DataStore=/disk1/timesten/sample_db/DemoDataStore/default
PermSize=128
TempSize=64
DatabaseCharacterSet=AL32UTF8
CacheAdminWallet=1
[database1]
Driver=/disk1/timesten/lib/libtten.so
DataStore=/disk1/timesten/sample_db/DemoDataStore/database1
PermSize=128
TempSize=64
DatabaseCharacterSet=AL32UTF8
CacheAdminWallet=1