AS400 SQL9010の確認ポイント|SQLCODE・SQLSTATE・ODBC/JDBC・権限を見る

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確認も合わせて見ると切り分けやすくなります。