LOTUS CONNECTOR


IBM i ユーザー用の odbc.ini の設定
odbc.ini ファイルは Microsoft(R) Windows(R) では不要ですが、IBM i では必要となります。同様に、複数のバージョンの IBM(R) Lotus(R) Domino が使用されているときは、複数の odbc.ini ファイルがあります。ODBC データソースを正しく設定するには、どの odbc.ini ファイルを編集するのかを正確に把握する必要があります。Lotus Domino のバージョンごとに、固有の ODBC ドライバのコピーと odbc.ini ファイルがあります。ドライバと odbc.ini ファイルがある場所は、実行されている Lotus Domino および LEI のバージョンによって異なります。odbc.ini ファイルは、サーバーが実行されている Lotus Domino のバージョンの UserData ディレクトリの下の EITODBC ディレクトリに保存されています。IBM i マシンにインストールされている Lotus Domino のバージョンごとに固有の UserData ディレクトリが割り当てられています。このディレクトリは、次のアドレスにあります。XXX はそのディレクトリを使用する Lotus Domino のバージョンを示します。

/QIBM/UserData/LOTUS/DOMINOXXX

たとえば、Lotus Domino 8.5.x の LEI (IBM(R) Lotus(R) Enterprise Integrator) Server で使用する odbc.ini ファイルは、次の場所にあります。

/QIBM/UserData/LOTUS/DOMINO85x/EITODBC/odbc.ini

IBM i ユーザー用に odbc.ini ファイルを編集する

odbc.ini ファイルを編集するには、odbc.ini ファイルへのパスを指定して EDTF コマンドを使用します。たとえば、Lotus Domino 8.5.x の LEI Server で使用する odbc.ini ファイルを編集するときは、コマンドラインで次のコマンドを入力します。

EDTF '/QIBM/UserData/LOTUS/DOMINO85x/EITODBC/odbc.ini'

メモ odbc.ini ファイルの編集には、Windows ベースのテキストエディタは使用しないでください。odbc.ini ファイルの各行は、ラインフィード (LF) 文字で終了しなければなりません。多くのテキストエディタでは、キャリッジリターンとラインフィード (CRLF) で各行が終了するので、odbc.ini ファイルを使用するときにエラーが発生します。すでに、行末が CRLF になるエディタを使用してしまった場合は、後述の「odbc.ini ファイルから CR を削除する」を参照して、odbc.ini から CR 文字を削除してください。

メモ odbc.ini 内のすべての /QIBM/ProdData/LOTUS/DOMINOXXX/... パスは、Lotus Domino Server で実行されている Lotus Domino のバージョンからの相対パスです。これらのパスは、Lotus Domino Server で実行されている Lotus Domino のバージョンに応じて異なります。たとえば、Lotus Domino 8.5 が実行されている Lotus Domino Server の場合は、パスは次のようになります。

/QIBM/UserData/LOTUS/DOMINO850/...

IBM i システムで Sybase Wire Protocol または Oracle Wire Protocol への接続に使用される odbc.ini のサンプルファイルを以下に示します。このファイルは、Lotus Domino 8.5.x Server 用のものです。.ini ファイルでは、「DataDirect」という用語は「IBM Lotus OEM」に置き換えられます。

[ODBC Data Sources]

DB2 Wire Protocol= 5.3 DB2 Wire Protocol Driver

dBase=IBM Lotus OEM 5.3 dBaseFile(*.dbf)

FoxPro3=IBM Lotus OEM 5.3 dBaseFile(*.dbf)

Informix=IBM Lotus OEM 5.3 Informix

Informix Wire Protocol=IBM Lotus OEM 5.3 Informix Wire Protocol

Oracle=IBM Lotus OEM 5.3 Oracle

Oracle Wire Protocol=IBM Lotus OEM 5.3 Oracle Wire Protocol

Progress9=IBM Lotus OEM 5.3 Progress9

Progress10=IBM Lotus OEM 5.3 Progress10

SQLServer Wire Protocol=IBM Lotus OEM 5.3 SQL Server Wire Protocol

Sybase Wire Protocol=DataDirect 5.2 Sybase Wire Protocol

Text=DataDirect 5.2 TextFile(*.*)

[DB2 Wire Protocol]

Driver=/opt/odbc/lib/LOdb223.so

Description=DataDirect 5.3 DB2 Wire Protocol Driver

AddStringToCreateTable=

AlternateID=

Collection=OS/390 and AS/400 (leave blank for DB2 UDB)

Database=DB2 UDB (leave blank for OS/390 and AS/400)

DynamicSections=100

GrantAuthid=PUBLIC

GrantExecute=1

IpAddress=DB2 server host

IsolationLevel=CURSOR_STABILITY

Location=OS/390 and AS/400 (leave blank for DB2 UDB)

LogonID=UID

password=PWD

Package=DB2 package name

PackageOwner=

TcpPort=DB2 server port

WithHold=1

[DB2V71]

Driver=/opt/odbc/lib/LOdb223.so

Description=DataDirect 5.3 DB2 Wire Protocol Driver

AddStringToCreateTable=

AlternateID=

Database=DB2V71

DynamicSections=100

GrantAuthid=PUBLIC

GrantExecute=1

IpAddress=rage

IsolationLevel=CURSOR_STABILITY

LogonID=UID

password=PWD

Package=DDODBC

PackageOwner=

TcpPort=50000

WithHold=1

[Informix Wire Protocol]

Driver=/opt/odbc/lib/LOifcl23.so.so

Description=DataDirect 5.3 Informix Wire Protocol

ApplicationUsingThreads=1

CancelDetectInterval=0

Database=db

HostName=Informix host

LogonID=UID

password=PWD

PortNumber=Informix server port

ServerName=Informix server

TrimBlankFromIndexName=1

[InformixDSN]

Driver=/opt/odbc/lib/LOifcl23.so.so

Description=DataDirect 5.3 Informix Wire Protocol

ApplicationUsingThreads=1

CancelDetectInterval=0

Database=qetest

HostName=flood

LogonID=UID

password=PWD

PortNumber=1526

ServerName=informix_940

TrimBlankFromIndexName=1

[Oracle Wire Protocol]

Driver=/opt/odbc/lib/LOora23.so

Description=DataDirect 5.3 Oracle Wire Protocol

ApplicationUsingThreads=1

ArraySize=60000

CachedCursorLimit=32

CachedDescLimit=0

CatalogIncludesSynonyms=1

CatalogOptions=0

DefaultLongDataBuffLen=1024

DescribeAtPrepare=0

EnableDescribeParam=0

EnableNcharSupport=0

EnableScrollableCursors=1

EnableStaticCursorsForLongData=0

EnableTimestampWithTimeZone=0

HostName=Oracle server

LocalTimeZoneOffset=

LockTimeOut=-1

LogonID=UID

password=PWD

PortNumber=1521

ProcedureRetResults=0

SID=Oracle SID

UseCurrentSchema=1

[ODBCToOracle10]

Driver=/opt/odbc/lib/LOora23.so

Description=DataDirect 5.3 Oracle Wire Protocol

ApplicationUsingThreads=1

ArraySize=60000

CachedCursorLimit=32

CachedDescLimit=0

CatalogIncludesSynonyms=1

CatalogOptions=0

DefaultLongDataBuffLen=1024

DescribeAtPrepare=0

EnableDescribeParam=0

EnableNcharSupport=0

EnableScrollableCursors=1

EnableStaticCursorsForLongData=0

EnableTimestampWithTimeZone=0

HostName=flood

LocalTimeZoneOffset=

LockTimeOut=-1

LogonID=UID

password=PWD

PortNumber=1521

ProcedureRetResults=0

SID=flood

UseCurrentSchema=1

[SQLServer Wire Protocol]

Driver=/opt/odbc/lib/LOmsss23.so

Description=DataDirect 5.3 SQL Server Wire Protocol

Address=SQLServer host,SQLServer server port

AnsiNPW=Yes

Database=db

LogonID=UID

password=PWD

QuotedId=No

[ODBCToSQLServer7]

Driver=/opt/odbc/lib/LOmsss23.so

Description=DataDirect 5.3 SQL Server Wire Protocol

Address=frost,1433

AnsiNPW=Yes

Database=Tracey

LogonID=UID

password=PWD

QuotedId=No

[Sybase Wire Protocol]

Driver=/opt/odbc/lib/LOase23.so

Description=DataDirect 5.3 Sybase Wire Protocol

ApplicationName=

ApplicationUsingThreads=1

ArraySize=50

Charset=

CursorCacheSize=1

Database=db

DefaultLongDataBuffLen=1024

EnableDescribeParam=0

EnableQuotedIdentifiers=0

InitializationString=

Language=

LogonID=UID

NetworkAddress=Sybase host,Sybase server port

OptimizePrepare=1

PacketSize=0

password=PWD

RaiseErrorPositionBehavior=0

SelectMethod=0

WorkStationID=

[ODBCTOSybase12]

Driver=/opt/odbc/lib/LOase23.so

Description=DataDirect 5.3 Sybase Wire Protocol

ApplicationName=

ApplicationUsingThreads=1

ArraySize=50

Charset=

CursorCacheSize=1

Database=SILK_DATA

DefaultLongDataBuffLen=1024

EnableDescribeParam=0

EnableQuotedIdentifiers=0

InitializationString=

Language=

LogonID=UID

NetworkAddress=frost,5000

OptimizePrepare=1

PacketSize=0

password=PWD

RaiseErrorPositionBehavior=0

SelectMethod=0

WorkStationID=

[ODBC]

IANAAppCodePage=4

InstallDir=/opt/odbc

Trace=0

TraceDll=/opt/odbc/lib/odbctrac.so

TraceFile=odbctrace.out

UseCursorLib=0

odbc.ini ファイルは、さまざまなデータソースへの接続例とともに提供されます。新しいデータソース名 (DSN) を作成するには、既存のサンプルをコピーし、データソースに合わせて必要な情報を書き換えます。上記のサンプルでは、「[ODBCToOracle10]」で始まるセクションに、ODBCtoOracle10 という名前のデータソースの設定情報があります。この設定により、Oracle Wire Protocol ドライバを使用して、SID flood のポート 1521 で、flood という名前のシステムに接続されます。ドライバ、SID、ポート番号、システム名は、それぞれ「Driver=」、「SID=」、「PortNumber=」、「HostName=」の各行によって指定されています。「HostName=」エントリを完全修飾ホスト名で指定することが必要な場合もあります。データソースによって、必要なオプションが異なります。設定オプションについて詳しくは、h ttp://www.datadirect.com/support/product_info/proddoc_product/index.ssp を参照してください。

メモ Oracle Wire Protocol ODBC データソースを使用する場合は、ストアドプロシージャから結果セットを取得するために、DataSet 設定で必ず「ProcedureRetResults=1」を指定してください。

メモ 上記で説明したように、odbc.ini 内のすべての /QIBM/ProdData/LOTUS/... パスは、Lotus Domino Server で実行されている Lotus Domino のバージョンによって異なります。

メモ データソースのコードページを指定するには、各コネクションのセクションの「IANAAppCodePage」パラメータを使用します。パラメータを追加しない場合、「[ODBC]」セクションのデフォルトの「IANAAppCodePage」が使用されます。詳しくは、 http://www.datadirect.com/support/troubleshooting/su_faq_iana/index.ssp を参照してください。

IANAAppCodePage による複数言語サポート

パラメータ「IANAAppCodePage」を odbc.ini に導入することにより、異なる ODBC データソースのために、複数の言語がサポートされます。パラメータは「IANAAppCodePage=XXX」の書式で、各コネクションのセクションに追加できます。「XXX」はODBC データソースのコードページを示します。

たとえば、コネクションのセクション「[ODBCToOracle10]」に「IANAAppCodePage=17」を追加することは、Oracle データソースのコードページが日本語の Shift_JIS ということを意味します。コードページについて詳しくは、 http://www.datadirect.com/support/troubleshooting/su_faq_iana/index.ssp を参照してください。

それぞれのコネクションのセクションで「IANAAppCodePage」が使用されない場合、[ODBC] セクションのデフォルト設定の「IANAAppCodePage=4」が使用されます。

odbc.ini ファイルで CR を削除する

行のターミネータが LF ではなく CRLF になるエディタを使用して odbc.ini ファイルを編集したときは、次の手順に従って CR 文字を削除してください。

1. コマンドラインで「CALL QP2TERM」と入力し、PASE ターミナルセッションを開始します。

2. odbc.ini ファイルがあるディレクトリへ移動します。次に例を示します。


3. 次のコマンドを使用して、既存の odbc.ini ファイルのバックアップを作成します。
4. 次のコマンドを使用して、ファイルから CR を削除します。