# DB2 V9.7アダプタ制限事項

DB2 V9.7アダプタは販売およびサポートを終了しています。

- サポートする型
- テーブル読み取り処理
- 検索系SQL実行処理
- テーブル書き込み処理
- 更新系SQL実行処理
- ローダによる書き込み処理
- 主な例外

## サポートする型

本アダプタでサポートする型は以下の通りです。

型名 | サポート | 備考
--- | --- | ---
SMALLINT型 | ○ |
INTEGER型 | ○ |
BIGINT型 | ○ |
REAL型 | ○ |
DOUBLE型 | ○ |
DECIMAL型 | ○ |
DATE型 | ○ |
TIME型 | ○ |
TIMESTAMP型 | ○ |
CHAR型 | ○ |
CHAR FOR BIT DATA型 | △ |
VARCHAR型 | ○ |
VARCHAR FOR BIT DATA型 | △ |
LONG VARCHAR FOR BIT DATA型 | △ |
CLOB型 | ○ |
BLOB型 | △ |
GRAPHIC型 | ○ |
VARGRAPHIC型 | ○ |
LONGVARGRAPHIC型 | △ |
DBCLOB型 | △ |

- ○:サポートします。
- △:サポートしますが、制限事項があります。
- ×:サポートしません。

## テーブル読み取り処理

### 仕様制限

- テーブル名が引用符で囲われている場合、テーブル名の大文字小文字を区別します。

## 検索系SQL実行処理

### 仕様制限

ありません。

## テーブル書き込み処理

### 仕様制限

- CHAR型
  - データベース作成時のデフォルトのコードページが「UTF-8」になります。そのため、文字によっては文字列長が長くなるため、従来と処理結果が変わる可能性があります。たとえば、2バイトで定義されているカラムに"あ"を挿入する場合、3バイトとして扱われるためエラーになります。
- テーブル名が引用符で囲われている場合、テーブル名の大文字小文字を区別します。

## 更新系SQL実行処理

### 仕様制限

- CHAR型
  - データベース作成時のデフォルトのコードページが「UTF-8」になります。そのため、文字によっては文字列長が長くなるため、従来と処理結果が変わる可能性があります。たとえば、2バイトで定義されているカラムに"あ"を挿入する場合、3バイトとして扱われるためエラーになります。

## ローダによる書き込み処理

### 仕様制限

- CHAR型
  - データベース作成時のデフォルトのコードページが「UTF-8」になります。そのため、文字によっては文字列長が長くなるため、従来と処理結果が変わる可能性があります。たとえば、2バイトで定義されているカラムに"あ"を挿入する場合、3バイトとして扱われるためエラーになります。
- 以下の型はサポートしません。
  - LONG VARGRAPHIC型
  - DBCLOB型
  - BLOB型
  - CHAR FOR BIT DATA型
  - VARCHAR FOR BIT DATA型
  - LONG VARCHAR FOR BIT DATA型

### 注意事項

- データベースインスタンスのTCPサービス名の確認は、「DB2 GET DBM CONFIG」コマンドを実行し [TCP/IP サービス名(SVCENAME)] を参照してください。
- クライアントのノードディレクトリへの追加は、「DB2 CATALOG TCPIP NODE」コマンドを実行します。
  コマンドの詳細については、「CATALOG TCPIP NODEコマンド」(http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0001944.htm)を参照してください。

## 主な例外

例外名 | 原因 | 対策
--- | --- | ---
java.sql.SQLException | IO Exception opening socket to server <ホスト名> on port <ポート番号>. The DB2 Server may be down. | データベースに接続できません。 | グローバルリソースの[ホスト名]または[ポート番号]を確認してください。
The application server rejected establishment of the connection. An attempt was made to access a database, dstes, which was not found. | データベースが存在しません。 | グローバルリソースの[データベース名]で存在するデータベースを指定してください。
Connection authorization failure occurred. Reason: password invalid. | ユーザ名またはパスワードが不正です。 | グローバルリソースの[ユーザ名]または[パスワード]を確認してください。
DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: XXX;SELECT * FROM <テーブル名> ;<space> | テーブル名にスペースが挿入されている可能性があります。 | [テーブル名]で指定したテーブル名にスペースが挿入されている場合、テーブル名を引用符で囲ってください。
DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: <テーブル名> | テーブルが存在しません。 | [テーブル名]で存在するテーブルを指定してください。