AS400 / IBM i でSQLを使っている時に SQL9010 が出ると、SQL文、権限、実行環境、対象ファイル、ODBC/JDBC接続、ACSの設定など、どこを見ればよいか迷いやすくなります。SQLエラーは、SQL文そのものだけでなく、実行ジョブやライブラリリスト、接続ユーザーにも関係します。
この記事では、SQL9010を見た時の初動確認を、AS400保守現場の目線で整理します。SQLCODEやSQLSTATEの確認、ジョブログ、ODBC/JDBC、ACS、DB2 for iの運用確認へつなげるための入口です。
SQL9010で最初に確認すること
- 実行したSQL文と実行元
- SQLCODE、SQLSTATE、ジョブログの直前メッセージ
- 対象ライブラリ、ファイル、ビュー、メンバー
- 実行ユーザー、接続ユーザー、権限
- ACS、ODBC/JDBC、外部アプリのどこから実行したか
SQL文だけで判断しない
SQL9010は、SQL文の構文だけでなく、対象オブジェクトの状態、権限、コミット、ジャーナル、ライブラリリストが関係することがあります。ACSでは動くが外部アプリでは動かない、5250では見えるがODBC/JDBCでは見えない、という場合は実行環境の差を確認します。
DB2 for iの基本は IBM i SQL Services入門、ODBC/JDBCは AS400 ODBC/JDBC接続の確認ポイント を確認してください。
SQL7008やCPF9802と合わせて見る
SQL9010の前後にSQL7008やCPF9802が出ている場合は、対象ファイル、ジャーナル、コミットメント制御、権限を合わせて確認します。SQLエラーの番号だけを見るのではなく、ジョブログの前後を保存して順番に追います。
関連する確認は SQL7008の確認ポイント、CPF9802の確認ポイント、AS400メッセージID・エラーコード索引 を参照してください。
SQL9010対応前チェックリスト
- SQL文、実行元、実行ユーザーを控えたか
- SQLCODE、SQLSTATE、ジョブログを保存したか
- ACS、ODBC/JDBC、外部アプリの環境差を確認したか
- 対象ファイル、権限、ライブラリリストを確認したか
- 本番更新SQLの場合はバックアップと戻し手順を確認したか
SQL9010は、SQLのエラーとして見えても、AS400の権限、ライブラリ、ジョブ、外部接続の問題が隠れていることがあります。SQL文、実行環境、ジョブログをセットで確認するのが近道です。
SQL9010は抽出条件と実行環境も見る
SQL9010が出た時は、SQL文だけでなく、実行ユーザー、ライブラリリスト、対象ファイル、権限、CCSID、ODBC/JDBC経由かACS経由かを分けて確認します。データ抽出の全体像はAS400データ抽出ガイド、接続ジョブ側はQZDASOINIT確認も合わせて見ると切り分けやすくなります。

