一般接続属性の変更

db.iniファイルを変更していない場合は、「db.iniファイルの手動編集」に進みます。アクティブTimesTenデータベースのsys.odbc.iniファイルとスタンバイTimesTenデータベースのsys.odbc.iniファイルは、直接変更することも、「初期接続属性の変更」の項のステップに従って変更することもできます。最初の方法(sys.odbc.iniファイルの直接的な変更)のほうが、問題の発生が少なくなります。

この項では、sys.odbc.iniファイルを直接変更する手順について説明します。

sys.odbc.iniファイルは、アクティブTimesTenデータベースを収容するポッドのTimesTenコンテナと、スタンバイTimesTenデータベースを収容するポッドのTimesTenコンテナにあります。sys.odbc.iniファイルの変更を完了していると、それ以降のアプリケーションは該当する一般接続属性を使用してデータベースに接続できるようになります。

この例では、sys.odbc.iniファイルの編集方法について説明します。

  1. kubectl exec -itコマンドを使用して、アクティブ・ポッドのシェルを呼び出します。(この例では、sample-0がアクティブ・ポッドです)。

    % kubectl exec -it sample-0 -c tt -- /bin/bash
    Last login: Fri Apr 08 22:43:26 UTC 2024 on pts/8
  2. 現在のディレクトリ(/tt/home/timesten)を確認します。

    % pwd
    /tt/home/timesten
  3. sys.odbc.iniファイルが格納されているディレクトリに移動します。sys.odbc.iniファイルは、/tt/home/timesten/instances/instance1/confディレクトリにあります。したがって、instances/instance1/confディレクトリに移動します。

    % cd instances/instance1/conf
    
  4. DSN (この例ではsample)の一般接続属性を追加、変更または削除することで、sys.odbc.iniファイルを編集します。

    ノート:

    TimesTenの一般接続属性にのみ変更を加えるようにしてください。データ・ストア属性と初期接続属性は、sys.odbc.iniファイルを直接編集して変更することはできません。

    この例では、sample DSNを変更し、一般接続属性のConnectionCharacterSetを追加して、その値をAL32UTF8に設定します(boldで表示)。

    vi sys.odbc.ini
    
    [ODBC Data Sources]
    sample=TimesTen 22.1 Driver
    tt=TimesTen 22.1 Driver
     
    [sample]
    Datastore=/tt/home/timesten/datastore/sample
    PermSize=200
    DatabaseCharacterSet=AL32UTF8
    ConnectionCharacterSet=AL32UTF8
    DDLReplicationLevel=3
    AutoCreate=0
    ForceDisconnectEnabled=1
    ...
    
  5. ttIsqlユーティリティを使用して、sampleデータベースに接続し、ConnectionCharacterSet属性の値がAL32UTF8になっていることを確認します(boldで表示)。

    % ttIsql sample
     
    Copyright (c) 1996, 2024, Oracle and/or its affiliates. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
     
     
     
    connect "DSN=sample";
    Connection successful: 
    DSN=sample;UID=timesten;DataStore=/tt/home/timesten/datastore/sample;
    DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;
    AutoCreate=0;PermSize=200;DDLReplicationLevel=3;ForceDisconnectEnabled=1;
    (Default setting AutoCommit=1)
    

アクティブ・ポッド(この例ではsample-0)のTimesTenコンテナにある sys.odbc.iniファイルの変更が完了しました。同じ手順を使用して、スタンバイ・ポッド(この例ではsample-1)のTimesTenコンテナにあるsys.odbc.iniファイルを変更します。

次に例を示します。

  1. kubectl exec -itコマンドを使用して、スタンバイ・ポッド(この例ではsample-1)のシェルを呼び出します。
    % kubectl exec -it sample-1 -c tt -- /bin/bash
    Last login: Fri Apr 08 23:08:08 UTC 2024 on pts/0
  2. 現在のディレクトリ(/tt/home/timesten)を確認します。
    % pwd
    /tt/home/timesten
  3. sys.odbc.iniファイルが格納されているディレクトリに移動します。sys.odbc.iniファイルは、/tt/home/timesten/instances/instance1/confディレクトリにあります。したがって、instances/instance1/confディレクトリに移動します。
    % cd instances/instance1/conf
    
  4. sys.odbc.iniファイルを編集して、アクティブ・データベースで変更したものと同じ一般接続属性を追加、変更または削除します。したがって、この例では、sample DSNを変更し、一般接続属性のConnectionCharacterSetを追加して、その値をAL32UTF8に設定します(boldで表示)。
    vi sys.odbc.ini
    
    [ODBC Data Sources]
    sample=TimesTen 22.1 Driver
    tt=TimesTen 22.1 Driver
     
    [sample]
    Datastore=/tt/home/timesten/datastore/sample
    PermSize=200
    DatabaseCharacterSet=AL32UTF8
    ConnectionCharacterSet=AL32UTF8
    DDLReplicationLevel=3
    AutoCreate=0
    ForceDisconnectEnabled=1
    ...
    
  5. ttIsqlユーティリティを使用して、sampleデータベースに接続し、ConnectionCharacterSet属性の値がAL32UTF8になっていることを確認します(boldで表示)。
    % ttIsql sample
     
    Copyright (c) 1996, 2024, Oracle and/or its affiliates. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
     
     
     
    connect "DSN=sample";
    Connection successful:
    DSN=sample;UID=timesten;DataStore=/tt/home/timesten/datastore/sample;
    DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;
    AutoCreate=0;PermSize=200;DDLReplicationLevel=3;ForceDisconnectEnabled=1;
    (Default setting AutoCommit=1)
    

アクティブ・ポッド(sample-0)のTimesTenコンテナにあるsys.odbc.iniファイルと、スタンバイ・ポッド(sample-1)のTimesTenコンテナにあるsys.odbc.iniファイルの変更が完了しました。また、一般接続属性ConnectionCharacterSetも変更されました。