TimesTenデータベースへのネットワーク経由のクライアント/サーバー接続は、TimesTen ClientおよびTimesTen Serverを使用してオープンできます。
次の項では、TimesTen Client/TimesTen Serverおよびそれらを使用した接続方法について説明します。
TimesTen Serverは、サーバー・システム上で実行されるプロセスであり、TimesTen Clientからネットワーク・リクエストを受け付け、サーバー・システム上にあるデータベースでの処理に変換します。これにより、クライアントは、異なるプラットフォームおよびオペレーティング・システムのビット・レベルを実行している可能性のある様々なシステムに格納されているデータベースに接続できます。
TimesTen Clientfは、TimesTen Serverと別のシステムにも同じシステムにもインストールできます。TimesTen ClientをTimesTen Serverと同じシステムにインストールする場合は、それを使用してローカル・システムのTimesTenデータベースにアクセスできます。たとえば、32ビット・アプリケーションと64ビット・アプリケーションの両方をサポートするプラットフォームで、32ビット・アプリケーションを使用して同じシステム上の64ビット・データベースにアクセスできます。
注意: クライアント/サーバー接続は、TimesTenがサポートするプラットフォーム間のいずれの組合せに対しても作成できます。 |
図2-1に、それぞれのドライバを使用したTimesTen ClientとTimesTen Serverの通信方法を示します。
TimesTen Client: リモート・システム上のTimesTenデータベースにアクセスするには、TimesTen Client ODBCドライバにアプリケーションをリンクします。その後、アプリケーションはTimesTen Serverプロセスと通信します。TimesTen Clientドライバを使用すると、アプリケーションは、TimesTen ServerおよびTimesTen Data Managerがインストールされているリモート・システムまたはローカル・システム上のTimesTenデータベースに透過的に接続できます。
クライアント・アプリケーションは、TimesTen Clientドライバに直接リンクするか、Windows ODBCドライバ・マネージャにリンクして、TimesTenデータベースにアクセスできます。TimesTenでは、UNIXとWindows両方用のドライバ・マネージャを用意しており、クイック・スタート・サンプル・アプリケーションが付属しています。ドライバ・マネージャを使用する場合には、パフォーマンス上の考慮事項があります。
また、JDBC、OCI、Pro*C/C++など指定したインタフェースを通じて、クライアント・アプリケーションをリンクし、TimesTenデータベースにアクセスすることもできます。
注意: アプリケーションで各種のドライバとインタフェースを使用してTimesTenデータベースにアクセスする方法の詳細は、「ODBCドライバおよびJDBCドライバを使用したTimesTenへの接続」を参照してください。 |
TimesTen Server: サーバー・システムでは、TimesTen ServerはTimesTen Data Manager ODBCドライバを使用します。サーバーで実行する処理は、クライアント・アプリケーションからのリクエストをリスニングし、Data Manager ODBCドライバを介してリクエストを処理した後、結果およびエラーがあればその情報をクライアント・アプリケーションに戻すことです。
注意: TimesTenアプリケーションのコンパイルおよびリンク方法の詳細は、『Oracle TimesTen In-Memory Database Java開発者ガイド』のJavaアプリケーションのコンパイルに関する説明または『Oracle TimesTen In-Memory Database C開発者ガイド』のアプリケーションのコンパイルおよびリンクに関する説明を参照してください。 |
次の項では、クライアント/サーバー通信の制限および通信プロトコルについて説明します。
クライアント/サーバー通信に対する制限は、次のとおりです。
クライアント/サーバー接続にXLAを使用することはできません。
UNIXの場合、ttAdmin
、ttRepAdmin
、ttBackup
などの一部のTimesTenユーティリティは、直接接続経由でのみ動作します。UNIXプラットフォームのクライアント/サーバー接続経由で実行可能なユーティリティの名前には、ttIsqlCS
、ttBulkCpCS
、ttMigrateCS
、ttSchemaCS
など、CS
という接尾辞が付いています。これらのユーティリティは、TimesTen Clientドライバにリンクされており、クライアント/サーバー接続経由でデータべスースにするときにクライアントDSNに接続するために使用できます。『Oracle TimesTen In-Memory Databaseリファレンス』には、各ユーティリティにクライアント/サーバー・バージョンがある場合はその名前が示されています。
ttCacheUidPwdSet
組込みプロシージャは、クライアント/サーバー接続経由では使用できません。
あるホスト上で定義されている外部ユーザーは、リモート・ホスト上のTimesTenデータソースに接続できません。内部ユーザーの接続には制限はありません。
内部ユーザーを作成または変更できるのは直接接続経由のみであり、TimesTenデータベースへのクライアント/サーバー接続経由ではできません。したがって、CREATE USER
またはALTER USER
文は、TimesTenデータベースに直接接続されているときのみ実行できます。作成後、ユーザーがクライアントからサーバーに接続するには、そのユーザーにCREATE SESSION
権限を付与しないと、接続は失敗します。TimesTenデータベースでのユーザーの作成方法および管理者によるCREATE SESSION
権限の付与方法の詳細は、「ユーザーの作成およびデータベースでのユーザーの識別」および「データベースに接続するための権限の付与」を参照してください。
UNIX上のTimesTenでは、親プロセスがオープンした接続をその子プロセスが使用することはできません。親プロセスがオープンした接続を使用するために子プロセスがfork()
を使用して処理を試行すると、エラーが戻されます。
デフォルトでは、サーバー・プロセスは、クライアントが接続をリクエストした時点で生成されます。サーバー・システム上のttendaemon.options
ファイルに-serverPool
オプションを設定することで、サーバー・プロセスの予約プールを事前に生成できます。詳細は、「TimesTen Serverプロセスの事前生成」を参照してください。
次の項では、TimesTen ClientがTimesTen Serverとの間で使用できる通信プロトコルについて説明します。
デフォルトでは、TimesTen Clientは、TCP/IPソケットを使用してTimesTen Serverと通信します。これは、TimesTen ClientとTimesTen Serverが異なるシステムにインストールされている場合に使用可能な唯一の通信形式です。
TimesTen ClientおよびTimesTen Serverの両方が同じシステムにインストールされている場合、TimesTen Client ODBCドライバを使用しているアプリケーションでは、プロセス間通信(IPC)用の共有メモリー・セグメントを使用できます。共有メモリー・セグメントを使用すると、TCP/IP通信よりパフォーマンスが向上します。共有メモリー・セグメントを通信に使用するには、次の操作を行う必要があります。
共有メモリー通信を使用するように、ttendaemon.options
ファイルでサーバー・オプションを構成します。詳細は、「クライアント/サーバーIPCでの共有メモリーの使用方法」を参照してください。
論理サーバー名で、ネットワーク・アドレスをttShmHost
と定義します。詳細は、「論理サーバー名の定義」を参照してください。
注意: TimesTenでは、共有メモリーのIPC対応サーバーの最大16の異なるインスタンスがサポートされています。アプリケーションで16を超えて異なる共有メモリー・セグメントに接続しようとすると、エラーが戻されます。 |
UNIXプラットフォームでは、TimesTen ClientとTimesTen Serverが同一のシステムにインストールされている場合、通信用にUNIXドメイン・ソケットを使用できます。共有メモリー・セグメントを使用すると、パフォーマンスは向上しますが、消費されるメモリーがわずかに増大します。UNIXドメイン・ソケットを使用すると、共有メモリー・セグメントの接続より少ないメモリーの消費でTCP/IPのパフォーマンスを向上させることができます。ドメイン・ソケットを使用するには、論理サーバーのネットワーク・アドレスとしてttLocalHost
を定義する必要があります。詳細は、「論理サーバー名の定義」を参照してください。
注意: TimesTen ClientおよびTimesTen Serverを構成する前に、「ODBCおよびJDBCドライバを使用したTimesTenへの接続」および「TimesTenデータベース識別のためのデータソース名の指定」を参照してください。 |
次の各項では、TimesTen ClientおよびTimesTen Serverを使用してアプリケーションからTimesTenデータベースに接続する方法について説明します。
クライアント・アプリケーションをTimesTenデータベースに接続するには、「図2-2」に示すように、クライアントDSN(オプションとして論理サーバー名)およびサーバーDSNを構成して、目的のTimesTenデータベースを一意に識別する必要があります。
クライアント・アプリケーションは、接続の開始時にクライアントDSNを参照します。次の詳細情報により、接続リクエストが解決され、目的のTimesTenデータベースへの接続が可能になります。
クライアントDSNは、サーバー・ホスト名、論理サーバー名または実際のサーバー・システム名、およびサーバー上のTimesTenデータベースを識別するサーバーDSNを使用して、ユーザー・ファイルまたはシステム・ファイルのodbc.ini
で構成されます。
論理サーバー名は、クライアントでのオプションの構成です。使用すると、TimesTenデータベースがインストールされているサーバー・ホスト名が指定されます。サーバー・ホスト名を隠したり、簡略化する場合に使用します。論理サーバー名は、共有メモリーIPCまたはUNIXドメイン・ソケットを使用する場合に必ず使用します。
サーバーDSNは、TimesTenデータベース名およびその接続属性を使用して、システム・ファイルのodbc.ini
で構成されます。接続属性では、TimesTenデータベースのロードおよび構成方法と、TimesTenデータベースへの接続の制御または管理方法が指定されます。
したがって、これらの情報が正しく構成されると、クライアント・アプリケーションでは、クライアントDSNを使用してTimesTenデータベースを特定し、接続することが可能になります。クライアントDSNによって、サーバー・システムおよびサーバーDSNが定義されます。サーバーDSNでは、サーバー上のTimesTenデータベース、そのロード方法および接続の管理方法が指定されます。
次の項では、クライアント/サーバー接続のためにどのノードに何をインストールする必要があるかについて説明します。
次の項では、TimesTen ClientとTimesTen Serverが同じリリースのTimesTenの場合のTimesTenのインストールおよび構成方法について説明します。
TimesTenデータベースが格納されているシステムで、次のタスクを実行します。このシステムを、サーバー・システムと呼びます。
TimesTen Serverをインストールします。TimesTen Serverのインストール方法については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
TimesTenデータベースに対応するサーバーDSNを作成および構成します。「TimesTen ServerシステムでのサーバーDSNの定義」を参照してください。サーバーDSNでTimesTen接続属性を設定します。『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。
クライアント・アプリケーションが格納されているシステムで、次のタスクを実行します。このシステムを、クライアント・システムと呼びます。
TimesTen Clientをインストールします。TimesTen Clientのインストール方法については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
データベースとの接続にJDBCを使用している場合は、Java Development Kit (JDK)をインストールした後、CLASSPATH
や共有ライブラリ検索パスなどの環境変数を設定します。詳細は、『Oracle TimesTen In-Memory Database Java開発者ガイド』のJava環境変数の設定に関する説明を参照してください。
サーバーDSNに対応するクライアントDSNを作成および構成します。詳細は、「UNIXでのクライアントDSNの作成および構成」および「WindowsでのクライアントDSNの作成および構成」を参照してください。
OCIおよびPro*C/C++クライアント/サーバー接続の場合は、『Oracle TimesTen In-Memory Database C開発者ガイド』のOCIからのTimesTenデータベースへの接続に関する説明に従って、tnsnames.ora
または簡易接続を使用するようにアプリケーションを構成します。
クライアント/サーバー・アプリケーションをリンクするには、次の手順を実行します。
『Oracle TimesTen In-Memory Database C開発者ガイド』のオプションのリンクに関する説明に従って、CおよびC++クライアント/サーバー・アプリケーションをリンクします。
OCIまたはPro*C/C++直接接続アプリケーションの場合と同じ方法で、OCIまたはPro*C/C++アプリケーションをリンクします。リンク方法の詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』の「TimesTenでのOCIのサポート」および『TimesTenでのPro*C/C++のサポート」に関する説明を参照してください。
TimesTen Clientは、リリースやビット・レベルの異なるTimesTen Serverに接続できます。TimesTen Client 7.0以上のリリースは、任意のビット・レベルのTimesTen Server 7.0以上のリリースに接続できます。リリースの異なるTimesTen Client/TimesTen Server接続を構成する場合は、「同一リリースのTimesTen ClientおよびTimesTen Serverの構成方法」の説明に従って、インストールおよび構成します。
TimesTen ClientアプリケーションがTimesTenデータベースに接続されると、TimesTen Serverは自身のリリースおよびビット・レベルのドライバおよびTimesTenデータベースをロードします。TimesTen Data Managerが、TimesTen Serverシステムに自動的にインストールされます。
ttLocalHost
経由のUNIXドメイン・ソケットを使用したローカル・クライアント/サーバー接続を使用している場合は、クライアントおよびサーバーのプラットフォームがUNIXである必要があります。クライアント・ホストおよびサーバー・ホストのビット・レベルとリリース・レベルが同じである必要があります。
ttShmHost
を使用した共有メモリーIPC経由のローカル・クライアント/サーバー接続を使用している場合は、クライアントおよびサーバーのプラットフォームはWindowsとUNIXのいずれでもかまいません。ビット・レベルは、クライアント・ホストとサーバー・ホストで異なっている可能性があります。
サーバーDSNにより、クライアント/サーバー接続でアクセスするTimesTenデータベースが識別されます。サーバーDSNは、TimesTen Data Manager DSNと同じ構成形式および属性を持ち、システムDSNとして定義する必要があります。DSNおよびその作成方法については、「WindowsでのData Manager DSNの作成」または「UNIXでのData Manager DSN DSNの作成」を参照してください。
注意: TimesTen Serverの稼働中に、サーバーDSNの追加および構成を実行できます。 |
サーバーDSNはTimesTen Serverからアクセスされるデータベースを識別するため、Data Manager DSNと同じ接続属性を使用して構成することができます。さらに、サーバーDSNの指定でのみ許可される接続属性もあります。それらの属性を使用すると、単一のサーバーに対して複数のクライアント/サーバー接続を指定することが可能になります。
注意: 接続属性の中には、次の項で説明するものも含めて、TimesTenデーモン・オプション・ファイル(ttendaemon.options )で構成できるものがあります。サーバーDSNとデーモン・オプション・ファイルの両方で同じ接続属性が指定されている場合は、サーバーDSNの接続属性の値が優先されます。
TimesTenデーモン・オプションの詳細は、「TimesTen Client/Serverのオプションの管理」を参照してください。 |
次の項では、odbc.ini
ファイルまたはODBCデータソース・アドミニストレータのコンテキストにおけるサーバーDSN属性について説明します。
デフォルトでは、TimesTenは、1つのサーバーへの接続は1つの子プロセスにつき1つのみ作成されます。ただし、次のTimesTen Server接続属性を使用すると、単一のTimesTen Serverに対して複数のクライアント/サーバー接続を指定できます。
注意: 次の属性は、初期接続で読み込まれます。TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、次のコマンドを使用します。ttDaemonAdmin -restartserver |
MaxConnsPerServer
: 単一のサーバー・プロセスによって処理される最大クライアント接続数を設定します。サーバーは、サーバーDSNによって参照されます。サーバーには複数のサーバー・プロセスが存在できますが、その場合、この属性によって指定された接続数が各プロセスに許可される最大接続数になります。
ServersPerDSN
: サーバー上の複数の着信接続に対応する複数のサーバー・プロセスを設定できます。ServersPerDSN
属性は、サーバーで最初に生成されるサーバー・プロセスの数を指定します。新しい着信接続ごとに、ServersPerDSN
を上限として、新しいサーバー・プロセスが生成されます。ServersPerDSN
に指定した数に到達すると、MaxConnsPerServer
に指定された接続数を上限として、既存のサーバー・プロセスが複数の接続を処理します。
ServerStackSize
: 接続ごとに、サーバー上のスタック・サイズを設定します。
MaxConnsPerServer
属性とServersPerDSN
属性は関連しています。これらの属性では、指定したDSNのクライアント接続数は制限されません。かわりに、接続がサーバー・プロセスに対してどのように分散されるかが制御されます。たとえば、MaxConnsPerServer
を2に、ServersPerDSN
を5に設定すると、次のように処理が実行されます。
接続1がサーバーに接続され、その接続用に1つ目のサーバー・プロセスが起動されます。接続2から接続5までがサーバーに接続され、サーバー・プロセス2からサーバー・プロセス5が起動され、各サーバー・プロセスが1つの接続に対応します。
接続6がサーバーに接続されます。ServersPerDSN
には達しましたが、MaxConnsPerServer
には到達していないため、接続6には1つ目のサーバー・プロセスが割り当てられます。着信接続7から着信接続10までは、それぞれ、2つ目の接続としてサーバー・プロセス2からサーバー・プロセス5が割り当てられます。
接続11がサーバーに接続されます。ServersPerDSN
とMaxConnsPerServer
の両方の値に到達したため、接続11を処理するためにサーバー・プロセス6が起動されます。
サーバーDSNを使用して接続を複数作成する場合は、必要に応じてサーバーDSN属性に適切な値を指定します。WindowsのODBCデータソース・アドミニストレータの場合は、「Server」タブで指定します。
論理サーバー名は、TimesTen Client上のサーバー・システムに対する定義です。ローカル・クライアント/サーバーに対して、TCP/IP以外の通信プロトコルを使用したり、TimesTen Serverプロセスが、デフォルトのTCP/IPポートをリスニングしないなどの場合は、クライアント・システムで論理サーバー名を定義する必要があります。このような場合、クライアントDSNは、論理サーバー名を参照する必要があります。ただし、使用されている通信プロトコルがTCP/IPである場合、クライアントDSNが、サーバー・ホスト名を直接参照でき、論理サーバー名を定義する必要がないのが一般的です。
次の項では、WindowsプラットフォームまたはUNIXプラットフォームでの論理サーバー名の定義方法の例を示します。
論理サーバー名の作成および構成を行うには、次の手順を実行します。
Windowsデスクトップで、「スタート」→「設定」→「コントロール パネル」→「管理ツール」→「データ ソース (ODBC)」を選択します。
「ODBC データソース アドミニストレータ」が開きます。
「ユーザー DSN」または「システム DSN」をクリックします。
「TimesTen Client DSN」を選択して「構成」をクリックします。クライアントDSNが存在しない場合は「追加」をクリックし、「TimesTen Client 11.2.2」を選択して「完了」をクリックします。「TimesTen Client DSN Setup」ダイアログ・ボックスが開きます。
「Servers」をクリックします。「TimesTen Logical Server List」ダイアログ・ボックスが開きます。
「追加」をクリックします。「TimesTen Logical Server Name Setup」ダイアログ・ボックスが開きます。
「Server Name」フィールドに、論理サーバー名を入力します。
必要に応じて、「Description」フィールドにサーバーの説明を入力します。
「Network Address」フィールドに、サーバー・システムのホスト名またはIPアドレスを入力します。ネットワーク・アドレスは、次のいずれかである必要があります。
接続のタイプ | ネットワーク・アドレス |
---|---|
リモートのクライアント/サーバー接続 | TimesTen Serverが稼働しているシステムの名前。たとえば、server.mycompany.com などです。 |
プロセス間通信(IPC)に共有メモリーを使用する、ローカルのクライアント/サーバー接続 | ttShmHost
共有メモリーをIPCとして使用するには、システムが正しく構成されていることを検証します。「共有メモリー通信」を参照してください。 |
「Network Port」フィールドには、TimesTen Logical Serverがデフォルトでリスニングを行うポート番号が表示されます。TimesTen Serverが別のポートでリスニングしている場合は、「Network Port」フィールドにそのポート番号を入力します。
次に例を示します。
「OK」をクリックした後、「TimesTen Logical Server List」ダイアログ・ボックスの「Close」をクリックして、論理サーバー名の作成を終了します。
クライアント・システムのWindowsデスクトップで、「スタート」→「設定」→「コントロール パネル」を選択します。
「ODBC」をダブルクリックします。「ODBC データソース アドミニストレータ」が開きます。
「TimesTen Client DSN」を選択して「構成」をクリックします。「TimesTen Client DSN Setup」ダイアログ・ボックスが開きます。
「Servers」をクリックします。「TimesTen Logical Server List」ダイアログ・ボックスが開きます。
「TimesTen Servers」リストからサーバー名を削除します。
「Delete」をクリックします。
論理サーバー名を、SYSTTCONNECTINI
環境変数で指定されているファイルに定義します。このファイルは、ttconnect.ini
ファイルと呼ばれます。このファイルには、説明、ネットワーク・アドレスおよびポート番号が含まれています。
TimesTenは、論理サーバーを次の順序で検索します。
SYSTTCONNECTINI
環境変数によって指定されたファイル内(設定されている場合)
install_dir
/info/sys.ttconnect.ini
ファイル内
TimesTenでは、ttconnect.ini
ファイルを使用して、サーバーの名前と属性、および論理サーバー名とそれらのネットワーク・アドレスとの間のマッピングを定義します。この情報は、TimesTen Clientがインストールされているシステムに格納されます。デフォルトでは、ttconnect.ini
ファイルは、install_dir
/info/sys.ttconnect.ini
です。
実行時にこのファイルの名前および場所を上書きするには、TimesTenアプリケーションを起動する前に、SYSTTCONNECTINI
環境変数にttconnect.ini
ファイルの名前および場所を設定します。
UNIXでは、ttconnect.ini
ファイルにTimesTen Serverの短縮名を定義できます。表2-1に、ttconnect.ini
ファイルでのTimesTen Server指定の形式を示します。
表2-1 ttconnect.iniファイルでのTimesTen Serverの形式
コンポーネント | 説明 |
---|---|
[ |
TimesTen Serverシステムの論理サーバー名 |
|
TimesTen Serverの説明。 |
|
TimesTen Serverが実行されているシステムのDNS名、ホスト名またはIPアドレス。 |
|
TimesTen Serverが実行されているTCP/IPポート番号。TimesTenリリース11.2.2のデフォルトは、53393(32ビットのプラットフォーム用)および53397(64ビットのプラットフォーム用)です。 |
ネットワーク・アドレスは、次のいずれかである必要があります。
接続のタイプ | ネットワーク・アドレス |
---|---|
リモートのクライアント/サーバー接続 | TimesTen Serverが稼働しているシステムの名前。たとえば、server.mycompany.com などです。 |
UNIXドメイン・ソケットを使用する、ローカルのクライアント/サーバー接続 | ttLocalHost |
プロセス間通信に共有メモリーを使用する、ローカルのクライアント/サーバー接続 | ttShmHost |
例2-1 論理サーバー名の定義
この例はttconnect.ini
ファイルの一部を示しており、システムserver.mycompany.com
で稼働し、ポート53397
をリスニングするTimesTen Serverの論理サーバー名LogicalServer_1122
を定義しています。TimesTenインストールのインスタンス名はtt1122_64
です。
[LogicalServer_1122] Description=TimesTen Server 11.2.2 Network_Address=server.mycompany.com TCP_Port=53397
例2-2 通信におけるUNIXドメイン・ソケットの使用
クライアントとサーバーが同じUNIXシステム上にある場合、TimesTen Client ODBCドライバを使用するアプリケーションで、通信にUNIXドメイン・ソケットを使用すると、パフォーマンスが向上する場合があります。
また、同じバージョンのTimesTen Serverの複数のインスタンスを同じシステム上で実行できるように、TimesTen Serverがリスニングを行うポート番号を論理サーバー名に定義する必要もあります。これには、ttconnect.ini
ファイルで論理サーバー名を次のように定義します。
[LocalHost_1122] Description=Local TimesTen Server 11.2.2 through domain sockets Network_Address=ttLocalHost TCP_Port=53397
例2-3 プロセス間通信用の共有メモリーの構成
クライアントとサーバーが同じシステム上にある場合、アプリケーションでプロセス間通信に共有メモリーを使用できます。これによって、パフォーマンスが向上する場合があります。
また、TimesTen Serverが初期接続を行うためにリスニングを行っているポート番号を論理サーバー名に定義する必要もあります。これには、ttconnect.ini
ファイルで論理サーバー名を次のように定義します。
[ShmHost_1122] Description= Local TimesTen Server 11.2.2 through shared memory Network_Address=ttShmHost TCP_Port=53397
クライアントDSNは、リモート・データベースを指定し、TimesTen Clientを使用します。クライアントDSNは、ユーザーDSNとしても、システムDSNとしても定義できます。クライアントDSNは、hostname、DSN
(hostnameはTimesTenサーバーが実行しているサーバー・システムを表し、DSNはそのホスト上で定義されているサーバーDSNを表します)のペアを指定して間接的にTimesTenデータベースを参照します。これらは、クライアントDSN接続属性内で構成します。
また、実行時に接続属性を、ODBCのSQLDriverConnect
関数に渡される接続文字列として構成したり、JDBCのDriverManager.getConnection()
メソッドに渡されるURL文字列として構成することもできます。たとえば、サーバー上でクライアントが使用するDSNを指定するには、クライアントの接続文字列またはクライアントDSNでTTC_Server_DSN
属性を使用できます。
注意: クライアントDSNの定義内で構成されたサーバーDSNデータ・ストアまたは最初の接続属性はいずれも無視されます。ただし、TimesTen Clientでは、接続文字列またはURL文字列の一部として、ほとんどのサーバーDSN属性(DataStore接続属性を除く)を渡すことができます。それらは、サーバーに透過的に渡され、サーバーDSNの構成が上書きされます。 |
次の項では、WindowsプラットフォームまたはUNIXプラットフォームでのクライアントDSNとその属性の作成方法については説明します。
Windowsの場合、ODBCデータソース・アドミニストレータを使用して、論理サーバー名の構成およびクライアントDSNの定義を行います。
この項の内容は次のとおりです。
TimesTen Client DSNを定義するには、次の手順を実行します。
Windowsデスクトップで、「スタート」→「設定」→「コントロール パネル」→「管理ツール」→「データ ソース (ODBC)」を選択します。「ODBC データソース アドミニストレータ」が開きます。
「ユーザー DSN」または「システム DSN」をクリックします。ユーザーDSNおよびシステムDSNについては、「TimesTenデータベースを識別するためのデータソース名の指定」を参照してください。
「追加」をクリックします。「データソースの新規作成」ダイアログ・ボックスが開きます。
「TimesTen Client 11.2.2」を選択します。「完了」をクリックします。「Oracle TimesTen Client DSN Setup」ダイアログ・ボックスが開きます。
「Client DSN」フィールドに、クライアントDSNの名前を入力します。
クライアント・アプリケーションがインストールされているシステム上の定義したDSNの現行のリストで、この名前は最大32文字で一意である必要があります。論理サーバー名とサーバーDSNの名前を組み合せた一貫したネーミング規則を使用すると、名前の競合を回避できます。たとえば、ある企業に、Boston
およびChicago
という名前の論理サーバーと、Accounts
というサーバーDSNがある場合、クライアントDSNの名前はBoston_Accounts
およびChicago_Accounts
にできます。
必要に応じて、「Description」フィールドにクライアントDSNの説明を入力します。
「Server Name or Network Address」フィールドで、サーバー・システムの論理サーバー名またはネットワーク・アドレスを指定します。
この名前には、ホスト名、IPアドレスまたは論理サーバー名を指定できます。クライアント・システムで定義した論理サーバー名は、ドロップダウン・リストに表示されます。論理サーバー名を定義するには、「Servers」をクリックします。
このフィールドに論理サーバー名を指定しない場合、TimesTen Clientは、TimesTen ServerがデフォルトのTCP/IPポート番号で稼働していると想定します。このため、デフォルトのポート以外でサーバーが稼働しているときにこのフィールドに論理サーバー名を指定しない場合は、TCP_Port
属性を使用してODBC接続文字列にポート番号を指定する必要があります。
論理サーバー名の定義の詳細は、「Windowsでの論理サーバー名の作成および構成」を参照してください。
「Server DSN」フィールドに、クライアント・アプリケーションがアクセスするデータベースに対応するサーバーDSNを入力します。
サーバーDSNの名前がわからない場合は、「Refresh」をクリックして、「Server Name or Network Address」フィールドに指定したシステムで定義されているサーバーDSNのリストを取得します。ドロップダウン・リストから「Server DSN」を選択します。
TimesTen Serverが稼働しているシステムへのネットワーク・接続が必要です。
このリストに表示するサーバーDSNのカスタマイズ方法については、「ODBCデータソース」を参照してください。
「Connection Character Set」フィールドで、ターミナル設定またはデータソースと一致しているキャラクタ・セットを選択します。デフォルトの接続キャラクタ・セットはUS7ASCII
です。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のConnectionCharacterSetに関する説明を参照してください。
自動クライアント・フェイルオーバーを使用する場合は、「Failover Server Name」、「Failover Port Range」および「Failover DSN」を構成します。詳細は、「自動クライアント・フェイルオーバーの構成」を参照してください。
クライアント/サーバー接続のユーザー名、パスワードおよびタイムアウト時間は、UID
、PWD
およびTimeout
の各属性を使用して、クライアントDSNで定義できます。ただし、接続時にユーザー名およびパスワードを指定できるため、クライアントDSNでの認証の構成はオプションです。パスワードは暗号化されずにクライアントに格納されるため、クライアントDSNでパスワード指定することは絶対に避けてください。
UID
、PWD
およびTimeout
の各属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。
タイムアウト時間および認証を設定するには、次の手順を実行します。
Oracle TimesTenクライアントの「DSN Setup」ダイアログの「User ID」フィールドに、サーバー・システムで定義されているユーザー名を入力します。
「Password」フィールドには、ユーザーIDに対応するパスワードを入力します。「PwdCrypt」フィールドに、暗号化されたパスワードを入力することもできます。
「Timeout Interval」フィールドに、間隔を秒単位で入力します。負の整数以外を入力できます。0を指定すると、クライアント/サーバー処理でタイムアウトは設定されません。デフォルトは60秒です。最大値は99,999秒です。
「OK」をクリックして、設定を保存します。
この例で、TimesTen Clientシステムはclient.mycompany.com
です。クライアント・アプリケーションは、リモート・サーバー・システムserver.mycompany.com
.上のサーバーDSNにアクセスしています。論理サーバー名はLogicalServer_1122
です。
注意: これらの例は、TimesTenのフレッシュ・インストールで事前定義されるサンプルDSNを参照します。 |
サーバー・システムserver.mycompany.com
では、TimesTen Serverが稼働していること、およびTimesTen Serverによってリスニングが行われているポート番号について、ttStatus
ユーティリティを使用して確認します。
「TimesTen ServerシステムでのサーバーDSNの定義」の手順に従って、サーバーDSNのsampledb_1122
が、server.mycompany.com
上でシステムDSNとして定義されていることを確認します。
クライアント・システムclient.mycompany.com
で、リモートTimesTen Server用に論理サーバー名のエントリを作成します。「TimesTen Logical Server Name Setup」ダイアログ・ボックスで、次のように指定します。
「Server Name」フィールドに、LogicalServer_1122
と入力します。
「Network Address」フィールドに、server.mycompany.com
と入力します。
「Network Port」フィールドに、53397
と入力します。これは、TimesTenリリース11.2.2の場合の64ビット・プラットフォームでのTimesTen Serverのデフォルト・ポート番号です。この値は、手順1でttStatus
によって表示された値に対応している必要があります。
「TimesTen Server Name」ダイアログ・ボックスを開く手順および詳細は、「Windowsでの論理サーバー名の作成および構成」を参照してください。
クライアント・システムclient.mycompany.com
で、リモートのサーバーDSNであるsampledbCS_1122
に対応するクライアントDSNを作成します。「TimesTen Client DSN Setup」ダイアログ・ボックスで、次の値を入力します。
「Client DSN」フィールドに、sampledbCS_1122
と入力します。
「Server Name or Network Address」フィールドに、LogicalServer_1122
と入力します。
「Description」フィールドにサーバーの説明を入力します。このフィールドにデータを入力するかどうかはオプションです。
「Server DSN」フィールドに、sampledb_1122
と入力します。
クライアントDSNのsampledbCS_1122
を使用して、システムclient.mycompany.com
からクライアント・アプリケーションを実行します。次の例では、TimesTen ClientとともにインストールしたttIsql
プログラムを使用します。
ttIsql -connStr "DSN=sampledbCS_1122"
次の例では、デフォルトのポート番号以外を使用するTimesTen Serverにアクセスする方法について説明します。
TimesTen Serverのネットワーク・アドレスがserver.mycompany.com
で、TimesTen Serverがポート53397をリスニングしているとします。この場合は、次の方法を使用してサーバーDSNに接続できます。
ネットワーク・アドレスにserver.mycompany.com
、ネットワーク・ポートに53397
を指定して論理サーバー名LogicalServer_1122
を定義します。LogicalServer_1122
をサーバー名、Server_DSN
をサーバーDSNとして、Client_DSN
をクライアントDSNとして定義します。次に、コマンドを実行します。
ttIsql -connStr "DSN=Client_DSN"
または、ネットワーク・アドレスにserver.mycompany.com
、ネットワーク・ポートにデフォルトのポート番号を指定して論理サーバー名LogicalServer_tt1122
を定義します。LogicalServer_1122
をサーバー名、Server_DSN
をサーバーDSNとして、Client_DSN
をクライアントDSNとして定義します。コマンドのポート番号を上書きします。
ttIsql -connStr "DSN=Client_DSN;TCP_Port=53397"
TimesTenデータベースへのクライアント・アプリケーションの接続をテストするには、次の手順を実行します。
Windowsデスクトップで、「スタート」→「設定」→「コントロール パネル」を選択します。
「ODBC」をダブルクリックします。「ODBC データソース アドミニストレータ」が開きます。
接続をテストするTimesTen Client DSNを選択し、「構成」をクリックします。「TimesTen Client DSN Setup」ダイアログ・ボックスが開きます。
「Test Oracle TimesTen Server Connection」をクリックして、TimesTen Serverへの接続をテストします。
ODBCデータソース・アドミニストレータでTimesTen Serverへの接続が試行され、接続が成功したかどうかを示すメッセージが表示されます。このテスト中、TimesTen Clientによって次のことが検証されます。
クライアント・システムにODBC、WindowsソケットおよびTimesTen Clientがインストールされているかどうか。
「TimesTen Client DSN Setup」ダイアログ・ボックスの「Server Name or Network Address」フィールドで指定したサーバーが定義されていて、対応するシステムが存在しているかどうか。
TimesTen Serverはサーバー・システムで稼働しています。
「Test Data Source Connection」をクリックして、サーバーDSNへの接続をテストします。ODBCデータソース・アドミニストレータでサーバーDSNへの接続が試行され、接続が成功したかどうかを示すメッセージが表示されます。
このテスト中、TimesTen Clientによって次のことが検証されます。
「Server DSN」フィールドで指定したサーバーDSNがサーバー・システムで定義されているかどうか。
クライアント・アプリケーションでサーバーDSNに接続できるかどうか。
UNIXでは、ttconnect.ini
ファイルを編集して論理サーバー名を定義し、クライアントDSNは、ユーザーodbc.ini
ファイル(ユーザーDSN用)またはシステムodbc.ini
ファイル(システムDSN用)を編集して定義します。ユーザーDSNおよびシステムDSNについては、「TimesTenデータベースを識別するためのデータソース名の指定」を参照してください。
odbc.ini
ファイルのODBC Data Sourcesセクションに、クライアントDSNのエントリを追加します。クライアントDSNでは、次の属性を使用して、TimesTenデータベースの場所を指定します。
接続に使用するODBCクライアント・ドライバ。
データベースが存在するサーバー・システムは、TTC_Server
属性で指定します。
目的のデータベースを指定するサーバーDSNは、TTC_Server_DSN
属性で指定します。
注意: サーバーDSNは、データベースが存在するサーバー・システム上で定義します。 |
クライアントが接続されるTimesTenデータベースごとに、次の2つのエントリが必要です。
ODBC Data Sourcesセクションに、クライアントDSN名を定義し、使用するODBCクライアント・ドライバの名前を指定します。
ODBC Data Sourcesセクションで定義済のクライアントDSNを使用してエントリを作成します。このセクションで、サーバー・システムおよびサーバーDSNを指定します。
使用するクライアントDSN名およびODBCクライアント・ドライバを指定する構文を次に示します。
[ODBC Data Sources] Client_DSN=Name-of-ODBC-driver
たとえば、クライアントDSNとしてsampbledbCS_1122
を定義し、TimesTen Client ODBCドライバに関連付けるには、odbc.ini
ファイルのODBC Data Sourcesセクションに次のように入力します。
[ODBC Data Sources] sampledbCS_1122=TimesTen Client 11.2.2
ODBC Data Sourcesセクションの後に、定義した各データソースに対するサーバー・システムおよびサーバーDSNを指定するエントリを追加します。odbc.ini
ファイルのODBC Data Sourcesセクションに示されるクライアントDSNごとに指定セクションが必要です。
論理サーバー名LogicalServer_1122
を使用してTimesTen Serverを構成し、サーバーDSNがsampledb_1122
であるTimesTenクライアントDSN sampledbCS_1122
を指定する例を次に示します。
[sampledbCS_1122] TTC_Server=LogicalServer_1122 TTC_Server_DSN=sampledb_1122
TTC_Server*
属性が、クライアントDSN定義の主要属性です。クライアント接続属性の数はわずかですが、それぞれがサーバーDSNを識別します。クライアント定義に指定されたサーバー接続属性は無視されます。クライアント定義では、一般的な接続属性を指定できます。odbc.ini
ファイルで使用できるすべてのクライアントと、一般的な接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する項を参照してください。
自動クライアント・フェイルオーバーは、TimesTenアクティブ・スタンバイ・ペア・レプリケーション構成での高可用性シナリオで使用されます。アクティブTimesTenノードの障害によって元のスタンバイ・ノードが新しいアクティブ・ノードになるというシナリオを検討します。自動クライアント・フェイルオーバー機能を使用すると、新しいアクティブ(元のスタンバイ)・ノードへのフェイルオーバー(転送)が発生し、アプリケーションは新しいアクティブ・ノードに自動的に再接続されます。TimesTenは自動クライアント・フェイルオーバーが発生したときに、アプリケーションに警告を渡す機能を提供しているため、アプリケーションは適切な処理を行うことができます。
注意: 自動クライアント・フェイルオーバーは、Oracle Clusterwareが使用されている場合のOracle Clusterwareに対する補完機能ですが、この2つの機能は互いに依存しません。Oracle Clusterwareの詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の「Oracle Clusterwareを使用したアクティブ・スタンバイ・ペアの管理」に関する説明を参照してください。 |
次の項では、自動クライアント・フェイルオーバーを使用および有効化する方法について説明します。
アプリケーションがアクティブ・ノードに接続すると、接続が登録され、この登録はスタンバイ・ノードにレプリケートされます。アクティブ・ノードに障害が発生すると、スタンバイ・ノードがアクティブ・ノードになり、クライアントにフェイルオーバーのことが通知されます。この時点で、クライアントは新しいアクティブ・ノードに新しく接続します。接続ハンドル以外の状態は保持されません。元の接続からのすべてのクライアント文ハンドルは、無効とマークされます。
フェイルオーバーが完了すると、TimesTenは登録されているユーザー定義関数に対してコールバックを行います。この関数は、フェイルオーバーが発生している状況で実行する必要があるカスタム処理を行います。
注意: C開発者の場合、コールバックの作成方法および自動クライアント・フェイルオーバーの促進方法についての詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』の「アプリケーションでの自動クライアント・フェイルオーバーの使用」に関する説明を参照してください。Java開発者の場合、詳細は、『Oracle TimesTen In-Memory Database Java開発者ガイド』の「自動クライアント・フェイルオーバー用のJDBCのサポート」に関する説明を参照してください。 |
次の項目は、特定の障害シナリオにおける自動クライアント・フェイルオーバーの動作を示しています。
クライアント・ライブラリがアクティブ・ノードとの接続を失った場合、フェイルオーバーを実行してスタンバイ・ノードへの切換えを試行します。
なんらかの理由でアクティブ・ノードがない場合(サーバー側でフェイルオーバーが発生せず、両方のサーバーがスタンバイかアイドル状態)は、アプリケーションは接続できません。ただし、自動クライアント・フェイルオーバーは、アクティブ・ノードを見つけるか、タイムアウトになるまで、両方のサーバーの切替えを継続します。
フェイルオーバーがすでに発生し、クライアントがすでに新しいアクティブ・ノードに接続されている場合、次のフェイルオーバー・リクエストでは、元のアクティブ・ノードへの再接続が試みられます。これが失敗すると、タイムアウトになるまで、2つのサーバーに接続するために切替え試行が行われます。
注意: 自動クライアント・フェイルオーバーを使用している場合にTimesTenが障害からリカバリしようとするとき、タイムアウトは、フェイルオーバーのリカバリにおけるすべての試行の期間を指定します。フェイルオーバーが試行されている間は、接続はブロックされることがあります。このタイムアウトはデフォルトが60秒で、 |
クライアント登録がスタンバイ・ノードへのレプリケーションによって正常に伝播される前にアクティブ・ノードで障害が発生した場合、クライアントはフェイルオーバー・メッセージを受信せず、接続登録は失われます。ただし、最終的に、クライアント・ライブラリによって、元のアクティブ・ノードへの接続が失われたためにフェイルオーバーの試行を開始することが(TCPを介して)通知されます。
注意:
|
アクティブ・スタンバイ・ペアのレプリケーション・スキームを使用するデータベースに対して、自動クライアント・フェイルオーバーのみを構成できます。これにより、クライアントは、スタンバイ・データベースが存在するサーバーに自動的にフェイルオーバーできるようになります。
注意: フェイルオーバー後の接続オプションの永続性の詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』の「アプリケーションでの自動クライアント・フェイルオーバーの使用」に関する説明を参照してください。 |
Oracle TimesTenの「Client DSN Setup」ダイアログで、「WindowsでのクライアントDSNの作成および構成」の説明のとおり、残りのクライアントDSN情報を構成した後で、次のフィールドに入力します。
「Failover Server Name or Network Address」フィールドで、サーバー・システムの論理サーバー名またはネットワーク・アドレスを指定します。
この名前には、ホスト名、IPアドレスまたは論理サーバーを指定できます。クライアント・システムで定義した論理サーバー名は、ドロップダウン・リストに表示されます。論理サーバー名を定義するには、「Servers」をクリックします。
このフィールドに論理サーバー名を指定しない場合、TimesTen Clientは、TimesTen ServerがデフォルトのTCP/IPポート番号で稼働していると想定します。このため、デフォルトのポート以外でサーバーが稼働しているときにこのフィールドに論理サーバー名を指定しない場合は、TCP_Port
属性を使用してODBC接続文字列にポート番号を指定する必要があります。
論理サーバー名の定義の詳細は、「Windowsでの論理サーバー名の作成および構成」を参照してください。
「Failover Server DSN」フィールドに、スタンバイ・データベースに対応するサーバーDSNを入力します。
サーバーDSNの名前がわからない場合は、「Refresh」をクリックして、「Failover Server Name or Network Address」フィールドに指定したシステムで定義されているサーバーDSNのリストを取得します。ドロップダウン・リストから「Server DSN」を選択します。
TimesTen Serverが稼働しているシステムへのネットワーク・接続が必要です。
オプションで、TimesTenがフェイルオーバー通知をリスニングするポートまたはポート範囲に対応した「Failover Port Range」を指定します。サーバー・ホストとクライアント・ホスト間にファイアウォールの問題がある場合、この接続属性は単一ポート番号として指定する必要があります。TimesTenでは、デフォルトで、オペレーティング・システムによって選択されたポートが使用されます。フェイルオーバー通知がサーバー・ホストからクライアント・ホストに発行されます。ポート範囲は、最小値と最大値をハイフンで区切って設定します。
次の2つの条件が一致する場合は、ポート範囲のみを指定する必要があります。
サーバー・ホストとクライアント・ホスト間にファイアウォールの問題がある。
1つのクライアント・ホスト上で複数のクライアント・アプリケーションを使用して自動クライアント・フェイルオーバーを構成している。
クライアント・ホスト上で自動クライアント・フェイルオーバーを構成している各クライアント・アプリケーションは、フェイルオーバー通知用の個別ポートでリスニングする必要があります。
クライアントのodbc.ini
ファイルで、スタンバイ・データベースがあるサーバーに対してTTC_Server2
を構成することで、スタンバイ・ノードのクライアントDSNを定義します。TTC_Server_DSN2
をスタンバイ・データベースの名前に設定します。
次に例を示します。
[MyDSN] TTC_Server=LogicalServer_1122 TTC_Server_DSN=MyDSN TTC_Timeout=60 TTC_Server2=LogicalServer2_1122 TTC_Server_DSN2=MyDSN_Standby
クライアント上のttconnect.ini
ファイルで、スタンバイ・データベースがあるサーバーに対してNetwork_Address
とTCP_Port
を構成することによって、スタンバイ・ノードの論理サーバーを定義します。
[LogicalServer_1122] Description=TimesTen Server 11.2.2 Network_Address=server.mycompany.com TCP_Port=53397 [LogicalServer2_1122] Description=TimesTen Server 11.2.2 Network_Address=server2.mycompany.com TCP_Port=53397
TTC_Server2
、TTC_Server_DSN2
またはTCP_Port2
のいずれかを設定することは、暗黙的に次のことを意味します。
ユーザーは、自動クライアント・フェイルオーバーを使用するつもりである。
ユーザーは、フェイルオーバー・メカニズムをサポートするためにアプリケーションに新しいスレッドが作成されることを理解している。
オプションで、TTC_FailoverPortRange
属性を構成して、フェイルオーバー・スレッドがフェイルオーバー通知をリスニングするポートまたはポート範囲を指定します。サーバー・ホストとクライアント・ホスト間にファイアウォールの問題がある場合、この接続属性は単一ポート番号として指定する必要があります。デフォルトでは、オペレーティング・システムで選択されたポートが使用されます。フェイルオーバー通知がサーバー・ホストからクライアント・ホストに発行されます。ポート範囲は、最小値と最大値をハイフンで区切って設定します。
次の2つの条件が一致する場合は、ポート範囲のみを指定する必要があります。
サーバー・ホストとクライアント・ホスト間にファイアウォールの問題がある。
1つのクライアント・ホスト上で複数のクライアント・アプリケーションを使用して自動クライアント・フェイルオーバーを構成している。
クライアント・ホスト上で自動クライアント・フェイルオーバーを構成している各クライアント・アプリケーションは、フェイルオーバー通知用の個別ポートでリスニングする必要があります。
注意:
|
TimesTen Serverとは、TimesTenデーモンの子プロセスのことです。TimesTen Serverがインストールされていて、TimesTenデーモンまたはData Managerサービスが起動または停止されると、このプロセスは自動的に起動および停止されます。このデーモンまたはサービスは、ttDaemonAdmin
ユーティリティを使用して明示的に起動または停止できます。
TimesTen Serverは、TimesTen Clientドライバとリンクされたアプリケーションからのリクエストを処理します。
TimesTenデーモンおよびTimesTen Serverのデフォルト・ポートの詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』の「TimesTenのインストール」に関する説明の章を参照してください。システム管理者は、競合の回避またはセキュリティ上の理由から、インストール時にポート番号を変更できます。ポートの範囲は1から65535です。TimesTen Serverに接続するには、クライアントDSNで、論理サーバー名の定義の一部としてポート番号を指定するか、接続文字列にポート番号を指定する必要があります。
Windowsの場合、TimesTenサービスはSYSTEM
ユーザーとして実行されます。UNIXの場合、TimesTen Serverはインスタンス管理者として実行されます。
TimesTen Serverオプションの変更方法については、「TimesTen Serverオプションの変更」を参照してください。
TimesTen Serverは、接続、切断、様々な警告、エラーおよび情報エントリをログ・ファイルに記録します。
Windowsの場合、これらのアプリケーション・メッセージはイベント・ビューアで表示できます。
UNIXシステムの場合、TimesTen Serverはデフォルトでinstall_dir
/info/ttmesg.log
ファイルとinstall_dir
/info/tterrors.log
ファイルにメッセージを記録します。オプションで、syslog
機能にメッセージを記録するようTimesTenを構成することもできます。
「情報メッセージの変更」を参照してください。
この例では、TimesTen Clientアプリケーション・システムは64ビットSolarisシステム、client.mycompany.com
です。クライアント・アプリケーションは、リモート・サーバー・システムである、もう1つの64ビットSolarisシステム、server.mycompany.com
上のサーバーDSNsampledb_
1122
にアクセスしています。論理サーバー名はLogicalServer_1122
です。TimesTenインストールのインスタンス名はtt1122
_64
です。
サーバー・システムserver.mycompany.com
では、TimesTen Serverが稼働していること、およびTimesTen Serverによってリスニングが行われているポート番号について、ttStatus
ユーティリティを使用して確認します。
server.mycompany.com
上のシステムodbc.ini
ファイルに、サーバーDSNであるsampledb_1122
が指定されていることを確認します。
これらは、odbc.ini
ファイルで次のように指定されている必要があります。
[sampledb_1122] Driver=install_dir/lib/libtten.so DataStore=install_dir/server/sampledb_1122
client.mycompany.com
上のttconnect.ini
ファイルで、リモートTimesTen Server用に論理サーバー名のエントリを作成します。
[LogicalServer_1122] Network_Address=server.mycompany.com TCP_Port=53397
ttconnect.ini
ファイルの作成方法は、「UNIXでのクライアントDSNの作成および構成」を参照してください。
クライアント・システムclient.mycompany.com
で、リモートのサーバーDSNであるsampledb_1122
に対応するクライアントDSNを作成します。
これらは、odbc.ini
ファイルで次のように指定されている必要があります。
[sampledbCS_1122] TTC_Server=LogicalServer_1122 TTC_Server_DSN=sampledb_1122
適切なodbc.ini
ファイルの場所は、「ユーザーDSNおよびシステムDSNの概要」を参照してください。
クライアントDSNのsampledbCS_1122
を使用して、システムclient.mycompany.com
からクライアント・アプリケーションを実行します。次の例では、TimesTen ClientとともにインストールしたttIsql
プログラムを使用します。
ttIsqlCS -connStr "DSN=sampledbCS_1122"
次の例では、デフォルトのポート番号以外を使用するTimesTen Serverにアクセスする方法について説明します。
TimesTen Serverのネットワーク・アドレスがserver.mycompany.com
であり、TimesTen Serverがポート53397
をリスニングしているとします。この場合は、次の方法を使用してサーバーDSNに接続できます。
ネットワーク・アドレスにserver.mycompany.com
、ネットワーク・ポートに53397
を指定して論理サーバー名LogicalServer_1122
を定義します。LogicalServer_1122
をサーバー名、Server_DSN
をサーバーDSNとして、Client_DSN
をクライアントDSNとして定義します。次のコマンドを実行します。
ttIsqlCS -connStr "DSN=Client_DSN"
または、ネットワーク・アドレスにserver.mycompany.com
、ネットワーク・ポートにデフォルトのポート番号を指定して論理サーバー名logical_server
を定義します。サーバー名にLogicalServer_1122
、サーバーDSNにServer_DSN
を指定してクライアントDSNを定義します。コマンドのポート番号を上書きします。
ttIsqlCS -connStr "DSN=Client_DSN;TCP_Port=53397"
あるいは、接続文字列にサーバーを定義します。この場合、クライアントDSNや論理サーバー名を定義する必要はありません。
ttIsqlCS -connStr "TTC_Server=server.mycompany.com;TTC_Server_DSN=Server_DSN;TCP_Port=53397"
TimesTenデータベースへのクライアント・アプリケーションの接続をテストするには、次の手順を実行します。
クライアント・システムがサーバー・システムにアクセスできることを確認します。
サーバー・システムから応答があるかどうかを確認するために、クライアント・システムからping
を実行します。
TimesTen Serverがサーバー・システムで稼働していることを確認します。
TimesTen Serverがリスニングを行っているポートにtelnet
で接続します。次に例を示します。
telnet server.mycompany.com 53397
TimesTen Serverへの接続に成功すると、次のようなメッセージが表示されます。
Connected to server.mycompany.com
サーバー・システムはコマンドに応答するが、TimesTen Serverが応答しない場合は、TimesTen Serverが稼働していない可能性があります。接続に失敗した場合、次のようなメッセージが表示されます。
telnet: Unable to connect to remote host: Connection refused
サーバー・システム上のttStatus
ユーティリティを使用して、TimesTen Serverのステータスおよびポート番号を確認します。通常、TimesTen Serverはインストール時に起動されます。TimesTen Serverが稼働していない場合は、起動する必要があります。TimesTen Serverの起動方法は、「TimesTen Serverオプションの変更」を参照してください。
クライアント・アプリケーションがデータベースに接続可能であることを確認します。データベースへの接続を確立できない場合は、ttconnect.ini
ファイルに正しい情報が指定されていることを確認します。
ttconnect.ini
ファイルの情報が正しい場合は、データベースが存在し、TimesTen Serverが稼働しているシステムで、データベースに対応するサーバーDSNがシステムのodbc.ini
ファイルで適切に設定されていることを確認します。