SQL メッセージのリスト

以下の表には、SQL メッセージがリストされています。 これらの表を使用して、メッセージ・テキスト、原因テキスト、リカバリー・テキスト、 および対応する SQLCODE と SQLSTATE を見つけることができます。

SQLCODE が正であっても負であっても、下記の表を使用することができます。 SQLCODE の絶対値に文字 SQL (SQLCODE が 10000 より小さい場合) または文字 SQ (SQLCODE が 10000 以上の場合) を付加して、 メッセージ ID を判別します。 各 SQLCODE は 1 つまたは複数の SQLSTATE と対応しています。

SQ16000
メッセージ・テキスト: 静的コンテキストの構成要素が割り当てられていません。
原因: 静的コンテキストの &1 コンポーネントが割り当てられていないため、XPath 式を処理できません。

式の静的分析は静的コンテキストのコンポーネント &1 に依存していますが、これに値が割り当てられていません。

XPATH式は処理できません。

回復手順: &1 に値を割り当ててください。
SQLCODE: -16000
SQLSTATE: 10501
SQ16001
メッセージ・テキスト: XPATH式に動的コンテキストのフォーカス構成要素が定義されていません。
原因: トークン &1 で始まる XPath 式は、動的コンテキストのフォーカス・コンポーネントが定義されていないため、処理できません。

&1 で始まる式の評価の場合、動的コンテキストのフォーカス・コンポーネントを割り当てる必要があります。 このトークンはパス式の始まりとみなされていますが,その式に関連のコンテキスト項目またはコンテキスト・シーケンスがありません。 これは,パッシング文節にXPATHコンテキスト項目式を指定しなかった結果と考えられます。 このエラーの他の一般的原因は次の通りです。

  • トークン &1 内の値がリテラル・ストリングとして指定されているが、区切り用の引用符がない。
  • トークン &1 内の値が関数として指定されているが、左括弧と右括弧がない。

XPATH式は処理できません。

回復手順: フォーカス構成要素を割り当てるようにXPATH式を訂正するか,トークンにフォーカス構成要素を割り当てる必要がなくなるようにその他の変更を行ってください。
SQLCODE: -16001
SQLSTATE: 10501
SQ16002
メッセージ・テキスト: XPath 式で &2 の後に予期しないトークン &1 があります。 必要なのは &3 である可能性があります。
原因: 式内では &2 に続く &1 は無効です。 &3 は、予期しないトークンに置き換わることができる 1 つ以上のトークンを含みます。 XPATH式は処理できません。
回復手順: 式に正しい構文を使用してください。
SQLCODE: -16002
SQLSTATE: 10505
SQ16003
メッセージ・テキスト: XPATH式に,その式が使用されたコンテキストでは無効な型があります。
原因: コンテキストにデータ・タイプ &2 が必要な場合、データ・タイプ &1 の式は使用できません。 このエラーの原因として次の状態が考えられます。
  • XML スキーマのアトミック・タイプのコンストラクター関数の場合、引数のアトミック化の結果が複数のアトミック値になってはいけません。
  • ターゲット &2 への値 &1 のキャストは、サポートされるキャストでなければなりません。
  • XPath 式が XMLTABLE 組み込みテーブル関数の出力列で使用されましたが、必要とするタイプにその列をキャストできませんでした。 一般的にこれは,式結果に複数のアトミック値が含まれていて,1つのSINGLETONが必要な場合に発生します。あるいは結果の型から必要なデータ・タイプへのキャストがサポートされない場合にも発生します。

XPATH式は処理できません。

回復手順: 正しい型の値を指定してください。
SQLCODE: -16003
SQLSTATE: 10507
SQ16005
メッセージ・テキスト: XPath 式が静的コンテキスト内で未定義の名前 &1 を参照しています。
原因: 静的分析フェーズの過程で,静的コンテキストは,要素名,属性名,型名,関数名,ネームスペース接頭部,および変数名を解決するために使用されます。 静的コンテキストに存在しない &1 が式で使用された場合、静的エラーが発生します。 XPATH式は処理できません。
回復手順: 静的コンテキスト内に定義されている名前を使用してください。 QNAMEに接頭部が含まれる場合,ネームスペース接頭部がネームスペース宣言を通じてネームスペースにバインドされていることを確認してください。 エラーの原因が変数参照である場合,変数が式の有効範囲内にあるかを確認してください。
SQLCODE: -16005
SQLSTATE: 10506
SQ16007
メッセージ・テキスト: XPath パス式が、サポートされていない軸 &1 を参照しています。
原因: DB2 XPATHがFULL AXIS FEATUREをサポートしないため,指定された&1はサポートされていません。 サポートされる軸にはCHILD, ATTRIBUTE, DESCENDANT, SELF, DESCENDANT-OR-SELF,およびPARENTがあります。 XPATH式は処理できません。
回復手順: サポートされる軸を指定してください。
SQLCODE: -16007
SQLSTATE: 10505
SQ16009
メッセージ・テキスト: &1 という名前の XPath 関数が静的コンテキストに定義されていません。
原因: &2 個のパラメーターによる関数 &1 の呼び出しで、拡張 QName とパラメーター数が静的コンテキスト内の関数シグニチャーの関数名とパラメーター数に一致しません。

XPATH式は処理できません。

回復手順: 次の処置の1つを実行してみてください。

- 関数呼び出しに正しい数のパラメーターを渡していることを確認します。

- 関数呼び出しで接頭部のない関数名を使用している場合は、関数のローカル名がデフォルトの関数名前空間に定義されている関数と一致していることを確認します。さもなければ正しい接頭部構文を使用します。

- 関数呼び出しで接頭部を使用している場合は、関数のローカル名がその接頭部で示された名前空間に定義されている関数と一致していることを確認します。

SQLCODE: -16009
SQLSTATE: 10506
SQ16011
メッセージ・テキスト: XPATH式の中間ステップ式の結果にアトミック値が含まれています。
原因: XPATH式の各中間ステップを評価した結果はXPATHノードのシーケンスにならなければなりません。 このシーケンスは空である場合もありますが,アトミック値を含むことはできません。 式は処理できません。
回復手順: XPATH式の各中間ステップでノードのシーケンスが戻されるように式を変更してください。
SQLCODE: -16011
SQLSTATE: 10507
SQ16012
メッセージ・テキスト: 軸ステップのコンテキスト項目はノードでなければなりません。
原因: 軸ステップでは,現在処理中の項目であるコンテキスト項目は,XPATHデータ・モデルのノードでなければなりません。 XPATH式は処理できません。
回復手順: コンテキスト項目がノードになるように軸ステップまたは入力を変更してください。
SQLCODE: -16012
SQLSTATE: 10507
SQ16015
メッセージ・テキスト: 属性ノード &1 の処理中に、エラーが発生しました。
原因: 要素の内容の構成に使用されるシーケンスには、属性ノードではない XPath ノードに続いて &1 という名前の属性ノードが含まれています。 属性ノードは,内容シーケンスの先頭でしか使用できません。 XPATH式は処理できません。
回復手順: 属性ノードが他の属性ノードに続くように内容シーケンスを変更してください。
SQLCODE: -16015
SQLSTATE: 10507
SQ16020
メッセージ・テキスト: パス式のコンテキスト・ノードに文書ノード・ルートがありません。
原因: パス式でコンテキスト・ノードの上にあるルート・ノードは,XPATH文書ノードでなければなりません。 XPATH式は処理できません。
回復手順: コンテキスト・ノードがXPATH文書ノードであるルート・ノードを持つように,「/」または「//」で始まる各パス式を変更してください。
SQLCODE: -16020
SQLSTATE: 10507
SQ16022
メッセージ・テキスト: タイプ &1 のオペランドは、演算子 &2 には有効でありません。
原因: 演算子の一方または両方のオペランドが無効なデータ・タイプになっています。 このエラーの原因として次の状態が考えられます。
  • オペランドのタイプが、指定の演算子の有効な組み合わせではありません。 例えば,算術演算子のオペランドが数値型ではありません。
  • 算術演算子の片方あるいは両方のオペランドが複数項目のシーケンスですが、指定の演算子は単一項目のオペランドを要求しています。 表記(ITEM(), ITEM()+)は,複数項目のシーケンスの型を表します。
  • XML 文書が属性ノードから構成されようとしています。 XML文書を構成するために使用されるシーケンス項目は,属性ノードであってはなりません。 このエラーは,属性を含むシーケンスがXML値としてSQLに戻される場合に起こることがあります。

XPATH式は処理できません。

回復手順: 演算子に正しい型のオペランドを使用してください。
SQLCODE: -16022
SQLSTATE: 10507
SQ16023
メッセージ・テキスト: XPath プロローグは、同じ名前空間接頭部 &1 に多重宣言を含むことができません。
原因: プロローグに、名前空間接頭部 &1 の多重宣言が含まれています。 プロローグ内のネームスペース宣言は静的コンテキストに事前宣言されている接頭部を一時変更することができますが,同じネームスペース接頭部をプロローグ内に複数回宣言することはできません。 XPATH式は処理できません。
回復手順: 接頭部の余分な宣言をすべてプロローグから除去するか,余分な宣言に割り当てられている接頭部を変更してください。 QUERYで使用された接頭部が正しいネームスペースを参照しているかを確認してください。
SQLCODE: -16023
SQLSTATE: 10503
SQ16024
メッセージ・テキスト: 名前空間接頭部 &1 は、再宣言することも、指定された URI にバインドすることもできません。
原因: ネームスペース宣言は,事前定義のネームスペース接頭部「XML」または「XMLNS」を再宣言することはできません。 「XML」でない場合の接頭部名は,ネームスペースURI「HTTP://WWW.W3.ORG/XML/1998/NAMESPACE」にバインドすることはできません。 ネームスペースURI「HTTP://WWW.W3.ORG/2000/XMLNS/」にバインドできる接頭部もありません。 XPATH式は処理できません。
回復手順: 次の処置のいずれかを実行してください。
  • 接頭部名が「xml」または「xmlns」である場合、接頭部名を別の名前空間接頭部に変更するか、名前空間宣言を除去してください。
  • 名前空間 URI が「http://www.w3.org/XML/1998/namespace」または「http://www.w3.org/2000/xmlns/」である場合、名前空間接頭部の宣言に指定された名前空間 URI を変更してください。
SQLCODE: -16024
SQLSTATE: 10503
SQ16031
メッセージ・テキスト: このXPATH式はサポートされていません。
原因: XPath 式構文 &1 はサポートされていません。
回復手順: 式を訂正するか,さもなければサポートされない構文を除去してください。
SQLCODE: -16031
SQLSTATE: 10509
SQ16036
メッセージ・テキスト: ネームスペース宣言に指定するURIは,長さがゼロのストリングとすることはできません。
原因: ネームスペース宣言に指定されているURIは,WORLD WIDE WEB CONSORTIUM(W3C)によって指定された汎用URI構文に準拠している有効なURIでなければなりません。 URIは,長さがゼロのストリングとすることはできません。 XPATH式は処理できません。
回復手順: ネームスペース宣言に有効なURIを指定してください。
SQLCODE: -16036
SQLSTATE: 10504
SQ16038
メッセージ・テキスト: FN:DATETIMEの引数に異なる時間帯があります。
原因: 関数FN:DATETIMEに異なる時間帯を参照する引数が含まれています。 どちらかの引数の時間帯が,値の明示部分であるか,あるいはその引数にXPATH実行環境の暗黙時間帯を使用した結果である可能性があります。 XPATH式は処理されませんでした。
回復手順: 関数FN:DATETIMEの両方の引数に同じ時間帯が使用されていることを確認してください。
SQLCODE: -16038
SQLSTATE: 10608
SQ16041
メッセージ・テキスト: シーケンスの有効なブール値を計算できませんでした。
原因: XPATH式でのFN:BOOLEAN関数の暗黙または明示の呼び出しで,シーケンスの有効なブール値を計算できませんでした。

有効なブール値を計算できるのは、シーケンス・オペランドが以下のいずれかのシーケンスである場合だけです。

  • 空シーケンス
  • 最初の項目の値がノードであるシーケンス
  • 値のタイプが xs:string、xs:untypedAtomic、またはこれらのタイプのいずれかから派生したタイプである singleton シーケンス
  • 値が数値タイプであるか、数値タイプから派生した singleton シーケンス

式は処理できません。

回復手順: 有効なブール値が暗黙的または明示的に計算される,XPATH式内の考えられる式を調べてください。 FN:BOOLEAN関数の暗黙呼び出しは,以下の型の式を処理するときに行うことができます。
  • AND および OR 論理式
  • fn:not 関数呼び出し
  • a[b] のような、特定の種類の述部
  • FLWOR 式の WHERE 文節
  • IF などの条件式

それぞれの有効ブール値計算のシーケンス・オペランドが、説明に記載されているとおりの有効なシーケンス・オペランドを持つようにしてください。

SQLCODE: -16041
SQLSTATE: 10608
SQ16046
メッセージ・テキスト: 数値XPATH式でゼロ除算が試みられました。
原因: 除算またはモジュラス演算で,ゼロによる整数値または10進値の除算が試みられました。 XPATH式は処理できません。
回復手順: 除数にゼロでない値を使用してください。
SQLCODE: -16046
SQLSTATE: 10601
SQ16047
メッセージ・テキスト: XPATH式の結果,算術オーバーフローまたはアンダーフローが生じました。
原因: 算術演算で許容最大値を上回るか,許容最小値を下回る数値が発生しました。 XPATH式は処理できません。
回復手順: 算術オーバーフローまたはアンダーフローが生じない数値となるように,式を変更してください。
SQLCODE: -16047
SQLSTATE: 10601
SQ16048
メッセージ・テキスト: XPath プロローグは、複数の &1 宣言を含むことができません。
原因: プロローグに複数の &1 を宣言した結果、エラーとなりました。 XPATH式は処理できません。
回復手順: プロローグから余分の &1 を除去してください。
SQLCODE: -16048
SQLSTATE: 10502
SQ16049
メッセージ・テキスト: 字句値 &1 は、関数またはキャストの &2 データ・タイプには無効です。
原因: キャスト式または関数呼び出しに、&2 データ・タイプの正しい字句形式を持たない &1 が含まれています。 XPATH式は処理できません。
回復手順: 次の処置の1つを実行してみてください。
  • エラーが関数呼び出しによるものである場合は、QName またはローカル名に使用されたストリング・パラメーターの字句形式が正しいことを確認してください。
  • エラーがキャスト式によるものである場合は、ソース値が、特殊な float 値または double 値 NaN、INF、 -INF のいずれでもないことを確認してください。
SQLCODE: -16049
SQLSTATE: 10602
SQ16051
メッセージ・テキスト: ターゲット・データ・タイプ &3 に対する暗黙または明示キャストで値 &1 のデータ・タイプ &2 が範囲外です。
原因: XPath 式では、データ・タイプ &2 の &1 を暗黙的または明示的にターゲット・データ・タイプ &3 にキャストする必要があります。 値が,そのデータ・タイプの値の定義された範囲外にあります。 このエラーは,FOAR0002, FOCA0001, FOCA0003などのさまざまなエラーQNAMEで戻されることがあります。 XPATH式は処理できません。
回復手順: 特定の値をサポートする範囲のターゲット・データ・タイプを使用するようにXPATH式を変更するか,ターゲット・データ・タイプの定義された範囲内に収まるように値を変更してください。
SQLCODE: -16051
SQLSTATE: 10602
SQ16052
メッセージ・テキスト: NANは,DATETIME演算のFLOAT値またはDOUBLE値として使用することはできません。
原因: 値「NAN」が日付,時刻,または期間の演算に引数として渡されましたが,その値はこの演算には無効です。 XPATH式は処理されませんでした。
回復手順: 日付,時刻,または期間の演算に有効なFLOAT値またはDOUBLE値を渡してください。
SQLCODE: -16052
SQLSTATE: 10602
SQ16055
メッセージ・テキスト: 日付値またはDATETIME値を含む算術演算の結果,オーバーフローが起こりました。
原因: 日付値またはDATETIME値を含む算術演算で,許容最大値を超える数値が戻されました。 XPATH式は処理されませんでした。
回復手順: 結果が許容最大値を超えないように,XPATH式を変更してください。
SQLCODE: -16055
SQLSTATE: 10605
SQ16056
メッセージ・テキスト: 期間値を含む算術演算の結果,オーバーフローが起こりました。
原因: 期間値を含む算術演算で,結果が許容最大値を超える数値となりました。 XPATH式は処理できません。
回復手順: 結果が許容最大値を超えない数値となるように,XPATH式を変更してください。
SQLCODE: -16056
SQLSTATE: 10605
SQ16057
メッセージ・テキスト: 時間帯値が無効です。
原因: XPATH式が-PT14H00M未満またはPT14H00Mを超える時間帯値を指定しています。 XPATH式は処理されませんでした。
回復手順: -PT14H00M以上またはPT14H00M以下の時間帯値を指定してください。
SQLCODE: -16057
SQLSTATE: 10605
SQ16061
メッセージ・テキスト: 値 &1 は、データ・タイプ &2 として構成することも、それにキャストすることもできません。
原因: XPath 式で値 &1 を &2 値として使用しようとしましたが、この値はこのデータ・タイプには無効です。 このエラーの原因として次の状態が考えられます。
  • &1 が明示的にコンストラクター関数に渡されたか、&2 というターゲット・データ・タイプのキャスト式に指定されました。
  • &1 を含む式で値をターゲット・データ・タイプ &2 に暗黙的にキャストしました。 多くのXPATH式で,式の処理に暗黙的キャストが使用されます。 例えば,暗黙的キャストは,値がデータ・タイプXS:DOUBLEとなる必要がある数値の一般的比較で使用されます。
  • &1 がターゲット・タイプ &2 の有効値の範囲内にありません。

XPATH式は処理できません。

回復手順: 次の処置の1つを実行してください。
  • プリミティブ・タイプ間でキャストする式でエラーが発生した場合は、そのソース・タイプからそのターゲット・タイプへのキャストがサポートされていることを確認してください。 キャストがサポートされない場合,式を除去するか,値を異なるデータ・タイプにキャストしてください。
  • 暗黙的キャストのデータ・タイプに準拠しない可能性のある値への暗黙的キャストを引き起こすと考えられる式を調べてください。
SQLCODE: -16061
SQLSTATE: 10608
SQ16066
メッセージ・テキスト: 集約関数 &1 に渡された引数が無効です。
原因: 集約関数 &1 に渡された引数は、その関数 &1 に渡される引数に必要な条件を満たしていないため無効です。
回復手順: 次の処置の1つを実行してみてください。
  • 関数が fn:avg である場合、次の条件が満たされていることを確認してください。つまり入力シーケンスに期間値が含まれる場合、値はすべて xs:yearMonthDuration 値であるか、すべて xs:dayTimeDuration 値でなければなりません。 入力シーケンスに数値が含まれる場合,値は4つの数値型の1つ,XS:YEARMONTHDURATION,またはXS:DAYTIMEDURATIONである単一の共通型,あるいはその副型の1つにすべてプロモート可能でなければなりません。
  • 関数が fn:max または fn:min の場合は、次の条件が満たされていることを確認してください。つまり入力シーケンスのすべての項目は数値であるか、gt 演算子 (fn:max の場合) または lt 演算子 (fn:min の場合) が定義された単一の基本タイプから派生したものでなければなりません。 入力シーケンスに数値が含まれる場合,値はすべて単一の共通型にプロモート可能でなければならず,シーケンス内の値は全順序をもっていなければなりません。 入力シーケンスに期間値が含まれる場合,値はすべてXS:YEARMONTHDURATION値であるか,すべてXS:DAYTIMEDURATION値でなければなりません。
  • 関数が fn:sum の場合は、次の条件が満たされていることを確認してください。つまり入力シーケンスのすべての項目は数値であるか、単一の基本タイプから派生したものでなければなりません。 型は加算をサポートするものでなければなりません。 入力シーケンスに数値が含まれる場合,値はすべて単一の共通型にプロモート可能でなければなりません。 入力シーケンスに期間値が含まれる場合,値はすべてXS:YEARMONTHDURATION値であるか,すべてXS:DAYTIMEDURATION値でなければなりません。
SQLCODE: -16066
SQLSTATE: 10608
SQ16067
メッセージ・テキスト: 関数 &2 に渡されたフラグ引数 &1 が無効です。
原因: 関数 &2 には、正規表現フラグ・パラメーターとして関数に渡された &1 が含まれています。 しかし,関数に渡されたストリングには,フラグとして定義されていない文字が含まれています。
回復手順: フラグとして定義されている文字だけを含むストリング引数が渡されるように関数呼び出しを変更してください。 有効な文字にはS, M, I,およびXが含まれます。
SQLCODE: -16067
SQLSTATE: 10609
SQ16068
メッセージ・テキスト: 関数 &2 に渡された正規表現引数 &1 が無効です。
原因: 関数 &2 に渡された &1 は、XPath での正規表現の規則に照らして無効です。 XPath 正規表現構文については、 IBM ドキュメントの「SQL XML プログラミング」( https://www.ibm.com/docs/en/i )を参照してください。
回復手順: 正規表現に有効な値を指定してください。
SQLCODE: -16068
SQLSTATE: 10609
SQ16069
メッセージ・テキスト: 関数 &2 に渡された正規表現引数 &1 は、長さがゼロのストリングです。
原因: 関数 &2 の呼び出しでパターン・パラメーターに指定された &1 は、長さがゼロのストリングです。 長さがゼロのストリングは,パターンが入力ストリング内のサブストリングと一致することがないため,この関数に有効なパターンではありません。
回復手順: 有効なパターンを関数呼び出しに渡すか,式から関数呼び出しを除去してください。
SQLCODE: -16069
SQLSTATE: 10609
SQ16104
メッセージ・テキスト: XMLパーサーで内部エラーが検出されました。
原因: XML文書の構文解析中に,パーサーが内部エラーを検出しました。 UTF-8 への変換後に処理する XML 値へのバイト・オフセットは &1 です。 XML パーサー・エラーの説明は次のとおりです。&2。
回復手順: XML値を訂正してください。 要求をやり直してください。
SQLCODE: -16104
SQLSTATE: 2200M
SQ16168
メッセージ・テキスト: XML文書のXML宣言が無効です。
原因: XML文書またはXMLスキーマのXML宣言が正しくありません。 エラー・タイプは &1 です。 エラーのタイプは次の通りです。
  • 1 -- サポートされていないバイト・オーダー・マークが存在するか、宣言ストリングの順序が正しくないか、宣言が小文字でないか、「version=」ストリングが欠落している、またはサポートされていない属性が指定されています。
  • 6 -- 指定されたバージョンがサポートされていません。
  • 7 -- 指定されたエンコードがサポートされていないか、または内部エンコードと外部エンコードが一致していません。
  • 8 -- XML 宣言が終結していません。
回復手順: XML文書を訂正してください。 要求をやり直してください。
SQLCODE: -16168
SQLSTATE: 2200M
SQ16246
メッセージ・テキスト: XML スキーマ文書 &2 の &1 またはその近傍にある注釈マッピングが不完全です。 理由コードは &3 です。
原因: XML スキーマ項目をデータベース・オブジェクトにマップする注釈で、&2 の &1 の近くの情報の一部が欠落しています。 理由コードは &3 です。 理由コードとそ の意味は次の通りです。
  • 1 - 行セット名が指定されていないか、または完全修飾されていません。
  • 2 - マッピングでは宛先カラムまたは条件のいずれかを指定する必要があります。 宛先カラムと条件のどちらも指定されていません。
  • 3 - 注釈の形式が予期していたものではありません。
  • 4 - 注釈が空です。

&2 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。

回復手順: XMLスキーマの注釈を変更してください。 理由コードに基づく可能な処置は次の通りです。
  • 1 - 行セット名または完全修飾行セット名を指定してください。
  • 2 - 宛先カラムまたは条件のいずれかを指定してください。
  • 3 - 注釈の形式を訂正してください。
  • 4 - 注釈値を指定してください。
SQLCODE: -16246
SQLSTATE: 225DE
SQ16247
メッセージ・テキスト: ソース XML タイプ &1 をターゲット SQL タイプ &2 にマップすることはできません。
原因: XML スキーマ文書 &4 の &3 またはその周辺にある注釈は、XML スキーマ・タイプ &1 を非互換の SQL タイプ &2 にマップします。 &4 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: XMLスキーマ・タイプとSQLタイプとの互換性については,注釈付きXMLスキーマの資料を参照してください。 それに従って適切に注釈を訂正してください。
SQLCODE: -16247
SQLSTATE: 225DE
SQ16248
メッセージ・テキスト: XML スキーマ文書 &3 中の &2 またはその近傍に不明な注釈 &1 があります。
原因: 注釈付き XML スキーマ文書 &3 には &2 またはその近くの注釈にエラーが含まれています。 注釈タグに指定された、認識されない名前は &1 です。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: 正しい注釈とその構文のリストについては,注釈付きXMLスキーマの資料を参照してください。 不明な注釈を訂正するか,さもなければ除去してください。
SQLCODE: -16248
SQLSTATE: 225DE
SQ16249
メッセージ・テキスト: XML スキーマ文書 &3 の &2 またはその近傍にある db2-xdb:expression 注釈 &1 が長すぎます。
原因: 指定された式のストリング長が許容最大長を超えています。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: DB2-XDB:EXPRESSION注釈で指定されるストリングの制限については,注釈付きXMLスキーマの資料を参照してください。 それに従って適切に式を訂正してください。
SQLCODE: -16249
SQLSTATE: 225DE
SQ16250
メッセージ・テキスト: XMLスキーマ内に複数のDB2-XDB:DEFAULTSQLSCHEMAが存在しています。
原因: XML スキーマ文書 &3 の &2 またはその近くにある、値 &1 の db2-xdb:defaultSQLSchema は、同じ XML スキーマ内にある XML スキーマ文書のいずれかに指定されている別の db2-xdb:defaultSQLSchema と競合します。 XMLスキーマは分解の対象として有効ではありません。

注釈付き XML スキーマを構成するすべての XML スキーマ文書を通じて、db2-xdb:defaultSQLSchema 注釈の値は 1 つでなければなりません。 XML スキーマ文書 &3 の &2 またはその近くにある、指定された SQL スキーマ名 &1 は、XML スキーマのこの XML スキーマ文書または別の XML スキーマ文書にある db2-xdb:defaultSQLSchema 注釈の別の値と競合します。

回復手順: DB2-XDB:DEFAULTSQLSCHEMAのすべての指定が競合しないように注釈付きXMLスキーマを訂正してください。
SQLCODE: -16250
SQLSTATE: 225DE
SQ16251
メッセージ・テキスト: XML スキーマ文書 &3 の &2 またはその近傍に &1 の重複注釈が定義されています。
原因: 注釈付き XML スキーマ内に &1 の注釈が複数あります。 XML スキーマ文書 &3 中の &2 またはその周辺で、このオブジェクトの重複注釈が見つかりました。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: XMLスキーマのXMLスキーマ文書から重複注釈を除去することで,注釈付きXMLスキーマを訂正してください。
SQLCODE: -16251
SQLSTATE: 225DE
SQ16252
メッセージ・テキスト: XML スキーマ文書 &3 中の &2 の近傍にある db2-xdb:rowSet &1 は別のテーブルに関連付けられています。
原因: 注釈付きXMLスキーマ内の行セットは,厳密に1つのテーブルに対応していなければなりません。 &2 またはその近くにある行セット宣言で、行セット &1 とエンクロージング db2-xdb:table 注釈に指定されたテーブルとの関連付けが宣言されています。 指定された行セットは,別のDB2-XDB:TABLE注釈にある異なるテーブルにすでに関連付けられています。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: XMLスキーマのすべての注釈付きXMLスキーマ文書を通じて各行セット名が厳密に1つのテーブルに一意に関連付けられるように,注釈付きXMLスキーマを訂正してください。
SQLCODE: -16252
SQLSTATE: 225DE
SQ16253
メッセージ・テキスト: XML スキーマ文書 &3 の行 &2 またはその近傍にある db2-xdb:condition 注釈 &1 が長すぎます。
原因: &1 で始まる db2-xdb:condition に関連付けられているストリングの長さが許容最大長を超えています。 この db2-xdb:condition は XML スキーマ文書 &3 中の行番号 &2 またはその周辺にあります。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: XMLスキーマ文書のDB2-XDB:CONDITIONの条件ストリングのサイズを小さくしてください。
SQLCODE: -16253
SQLSTATE: 225DE
SQ16254
メッセージ・テキスト: XML スキーマ文書 &3 の &2 の近傍にある db2-xdb:locationPath &1 が無効です。理由コードは &4 です。
原因: &3 の注釈付きスキーマに指定された値が無効です。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 考えられる理由コードの値は次の通りです。
  • 1 - URI にマップされないネーム・スペース接頭部を持つ要素または属性があります。 ロケーション・パスで使用されるすべてのネームスペース接頭部は,このロケーション・パスを指定する注釈が含まれるXMLスキーマ文書内のネームスペースに関連付けられていなければなりません。
  • 2 - 構文がロケーション・パスには無効な構文です。
  • 3 - 指定されたパスは、ルート・ノードから、当該要素または属性がインスタンス文書内に出現する可能性のあるロケーションへの、考えうるどのパスとも一致していません。
回復手順: XMLスキーマの注釈を変更してください。 理由コードに基づく可能な処置は次の通りです。
  • 1 - db2-xdb:locationPath のネーム・スペース接頭部が必ず正しいことを確認するか、欠落しているネーム・スペースの宣言を追加してください。
  • 2 - db2-xdb:locationPath の値の構文がロケーション・パスに有効な構文になるようにしてください。
  • 3 - db2-xdb:locationPath の値が、ルート・ノードからロケーション・パスの終わりにある要素または属性への可能なパスに対応するようにしてください。
SQLCODE: -16254
SQLSTATE: 225DE
SQ16255
メッセージ・テキスト: DB2-XDB:ROWSET値は同じ名前のDB2-XDB:TABLE注釈と競合します。
原因: XML スキーマ文書 &3 中の &2 またはその近くで使用される db2-xdb:rowSet 値 &1 は、同じ名前の db2-xdb:table 注釈と競合します。 注釈付き XML スキーマに &1 という名前のテーブルを宣言する db2-xdb:table 注釈が含まれていますが、注釈付き XML スキーマには &1 をテーブルに関連付ける db2-xdb:rowSet 注釈宣言がありません。 行セットがどのDB2-XDB:TABLE注釈でも宣言されていない場合,その行セットはDB2-XDB:DEFAULTSQLSCHEMAの値によって修飾された同じ名前のテーブルに暗黙的に関連付けられます。 注釈付き XML スキーマは、行セットと &1 という同じ名前のテーブルとの暗黙的関連付けに依存する db2-xdb:rowSet 注釈を使用し、同時に db2-xdb:table 注釈を使用して &1 という名前のテーブルを宣言することはできません。 &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 スキーマが分解の対象として有効ではありません。
回復手順: &1 という名前の db2-xdb:table 要素に db2-xdb:rowSet 子要素を追加することによって、注釈付き XML スキーマを訂正してください。 そうすると,行セットがテーブルに明示的に関連付けられます。
SQLCODE: -16255
SQLSTATE: 225DE
SQ16257
メッセージ・テキスト: XML スキーマ機能 &1 は分解の対象としてサポートされていません。
原因: 機能 &1 が XML スキーマで使用されています。 場合によっては,XMLスキーマの中にサポートされていない機能が存在すると,XMLスキーマが分解の対象として有効にならないことがあります。
回復手順: 必要に応じて,この機能をXMLスキーマから除去するか,またはこの機能に関連付けられている分解注釈を除去してください。 指定されたXMLスキーマ機能の使用制限については,分解に関する資料を参照してください。
SQLCODE: -16257
SQLSTATE: 225DE
SQ16258
メッセージ・テキスト: XMLスキーマに再帰的要素が含まれていますが,この要素は分解の対象としてサポートされていない機能です。
原因: XMLスキーマに再帰的要素が含まれていますが,この要素は分解の対象としてサポートされていない機能です。 この再帰的要素はタイプ &2 の &1 であると識別されます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: この再帰の使用をXMLスキーマから除去してください。
SQLCODE: -16258
SQLSTATE: 225DE
SQ16259
メッセージ・テキスト: 同じ行セットにマップされる要素間の多対多マッピング関係が無効です。
原因: XML スキーマ文書 &1 中の &2 の近傍および XML スキーマ文書 &3 の &4 の近くで検出された多対多マッピングが無効です。 2つの要素宣言にそれらにLOWEST COMMON ANCESTORとして順序モデル・グループがある場合は,それらの要素宣言からそのモデル・グループまでのパスの一方のみが,そのパス内の1つ以上の要素宣言またはモデル・グループでMAXOCCURS > 1を持つことが可能です。 &1 および &3 と XSROBJECTCOMPONENTS カタログ・テーブルの SCHEMALOCATION カラムを照合することによって、XML スキーマ文書を確認することができます。 XMLスキーマは分解の対象として有効ではありません。
回復手順: 多対多マッピングがなくなるように注釈を訂正してください。 要素および属性のマッピングに関する規則については,注釈付きXMLスキーマの資料を参照してください。
SQLCODE: -16259
SQLSTATE: 225DE
SQ16260
メッセージ・テキスト: XMLスキーマ注釈にテーブルのカラムへのマッピングが含まれていません。
原因: XML要素または属性をテーブルのカラムにマップする注釈がXMLスキーマに含まれていません。 XMLスキーマは分解の対象として有効ではありません。
回復手順: 少なくとも1つのXML要素または属性がテーブルのカラムにマップされるように,注釈をXMLスキーマに追加してください。
SQLCODE: -16260
SQLSTATE: 225DE
SQ16262
メッセージ・テキスト: 注釈付き XML スキーマに、行セット &1 にマップされるカラムがありません。
原因: 行セット &1 に関連する注釈のセットにどのカラムへのマッピングも含まれていません。 行セットを分解の対象とするためには,少なくとも1つのカラムをいずれかのXML要素または属性にマップする必要があります。
回復手順: 指定された行セットのカラムをいずれかのXML要素または属性にマップする注釈を追加してください。 この行セットを分解の対象とする意図がない場合は,この行セットへの参照を注釈付きXMLスキーマから除去してください。
SQLCODE: -16262
SQLSTATE: 225DE
SQ16263
メッセージ・テキスト: XML スキーマ文書 &3 内の &2 またはその近くにある行セット名 &1 は、どのマッピングでも使用されていません。
原因: XML スキーマ文書 &3 内の &2 またはその近くにある行セット名 &1 は、XML スキーマ内の少なくとも 1 つのマッピングに指定する必要があります。
回復手順: rowSet 名 &1 を XML スキーマ内の少なくとも 1 つの要素または属性のマッピングに指定してください。
SQLCODE: -16263
SQLSTATE: 225DE
SQ16264
メッセージ・テキスト: XML スキーマ文書 &3 内の &2 またはその近くにある行セット名 &1 は、&4 の下で複数回使用することはできません。
原因: &4 の下では行セット名を 1 回しか指定できません。 これは,1つの演算順序の階層にしか関与できません。
回復手順: 要素DB2-XDB:ORDERの複数インスタンスの下で同じROWSET名を使用する必要があるかを確認してください。 影響を受けるDB2-XDB:ORDER要素を結合して,結果の順序が挿入に必要な順序と矛盾しないようにしてください。
SQLCODE: -16264
SQLSTATE: 225DE
SQ16265
メッセージ・テキスト: &2 内の XML スキーマ &1 は分解の対象として有効ではありません。
原因: &2 の &1 によって識別される XML スキーマは、分解を実行するために適した状態ではありません。 このXMLスキーマは次のいずれかの状態である可能性があります。
  • 分解の対象として有効ではありません (おそらく有効になる可能性はありません)
  • 分解の対象として無効です

分解の対象として有効な XML スキーマを使用する場合にのみ分解を実行できます。 XML分解は開始されませんでした。

回復手順: XMLスキーマをXML文書の分解のために使用する前に,そのXMLスキーマが分解の対象として有効であることを確認してください。 XML スキーマの分解状況は、&1 によって識別される XML スキーマの XSROBJECTS カタログ・テーブルの DECOMPOSITION カラムを選択することで確認することができます。
SQLCODE: -16265
SQLSTATE: 225D1
SQ16266
メッセージ・テキスト: XML 文書 &1 の分解中にエラーが発生しました。
原因: 文書 &1 の分解中、データの挿入を試みている際、SQL エラーが発生しました。 このエラーで戻された情報は SQLCODE &2 および SQLSTATE &3 です。 このエラーは,XML文書の何らかのデータに基づいてSQL挿入操作を試みているときに発生しました。 XML文書は分解されませんでした。
回復手順: SQLCODE &2 に関連付けられているメッセージを確認してください。 そのメッセージで示されている処置に従ってください。
SQLCODE: -16266
SQLSTATE: 225D2
SQ16277
メッセージ・テキスト: グローバル注釈 &1 が XML スキーマで複数回使用されています。
原因: 注釈付き XML スキーマでは、注釈 &1 を 1 回しか使用できません。 XML スキーマ文書 &3 の &2 またはその近くにこの注釈がもう一度使用されています。
回復手順: 複数の &1 注釈の内容を 1 つの注釈に結合し、結果の注釈に重複情報がなくなるようにしてください。
SQLCODE: -16277
SQLSTATE: 225DE
SQ16280
メッセージ・テキスト: XSLTプロセッサー・エラー。
原因: XSLTRANSFORM機能のためのXSLT処理でエラーが発生しました。 問題を説明しているテキストは &1 です。
回復手順: このエラーについては,XSLTプロセッサーの資料を参照してください。 要求をやり直してください。
SQLCODE: -16280
SQLSTATE: 225X0
SQ16400
メッセージ・テキスト: 重複キー名 &1 です。
原因: JSON テキストの生成の結果として、重複キー名 &1 が生じました。
回復手順: JSON_OBJECTまたはJSON_OBJECTAGG関数の引数を変更して,重複名が生成されないようにしてください。
SQLCODE: -16400
SQLSTATE: 22030
SQ16402
メッセージ・テキスト: JSONデータが無効です。
原因: JSON式で指定されているデータに,正しく形式設定されたJSONデータが含まれていません。 式ストリング内のオフセット &1 でエラーが発生しました。
回復手順: 有効なJSONデータが含まれている式を指定してください。
SQLCODE: +16402, -16402
SQLSTATE: 0169F, 22032
SQ16403
メッセージ・テキスト: SQL/JSONの添字が無効です。
原因: 列 &1 の SQL/JSON パス式内の配列添字が無効です。
回復手順: 列 &1 のパス式で使用されている添字を修正してください。
SQLCODE: +16403, -16403
SQLSTATE: 0169F, 22033
SQ16404
メッセージ・テキスト: 結果に複数のSQL/JSON項目が含まれています。
原因: カラムSQL/JSONパス式の結果,複数の項目が生じました。
回復手順: 項目が1つだけ返されるようにパス式を変更してください。
SQLCODE: +16404, -16404
SQLSTATE: 0169F, 22034
SQ16405
メッセージ・テキスト: 結果にSQL/JSON項目が含まれていません。
原因: 指定されたSQL/JSONパスを使用して,項目が見つかりませんでした。
回復手順: 項目が返されるようにパス式を変更してください。
SQLCODE: +16405, -16405
SQLSTATE: 0169F, 22035
SQ16407
メッセージ・テキスト: JSONオブジェクトに固有でないキーがあります。
原因: JSONオブジェクト内の2つのキーに同じ名前が含まれています。
回復手順: JSONオブジェクトを修正して,すべてのキーが固有の名前を持つようにしてください。
SQLCODE: +16407, -16407
SQLSTATE: 0169F, 22037
SQ16409
メッセージ・テキスト: SQL/JSON配列が見つかりません。
原因: SQL/JSONパス式で参照されている配列がJSONテキストに存在しません。
回復手順: パス式を変更し,存在する配列を指定してください。
SQLCODE: +16409, -16409
SQLSTATE: 0169F, 22039
SQ16410
メッセージ・テキスト: SQL/JSONメンバーが見つかりません。
原因: STRICTモードでSQL/JSONパス式を使用して,指定されたメンバーは見つかりませんでした。
回復手順: メンバーを含むJSON式を指定するか,またはLAXモードを使用してください。
SQLCODE: +16410, -16410
SQLSTATE: 0169F, 2203A
SQ16413
メッセージ・テキスト: SQL/JSONスカラーが必要です。
原因: SQL/JSON式の結果,SQL/JSON配列またはオブジェクトが生じました。 SQL/JSON配列またはオブジェクトをSQLタイプに変換することはできません。
回復手順: スカラー値を返すSQL/JSON式を指定してください。
SQLCODE: +16413, -16413
SQLSTATE: 0169F, 0169F
SQ16546
メッセージ・テキスト: 関数 &1 の引数が正しいジオメトリ・タイプではありません。
原因: 関数 &1 に指定された引数が、期待されたジオメトリ・タイプではない。 空間データを扱う関数の多くは、データ型の文字列表現ではなく、ジオメトリデータ型のいずれかを引数に必要とします。
回復手順: 関数に有効なジオメトリを指定する。
SQLCODE: -16546
SQLSTATE: 38SS3
SQ20038
メッセージ・テキスト: 同じ定義では文節が正しくない。
原因: &1と&2は同時に指定できません。
  • WITH DATAオプションをON REPLACE PRESERVE ROWSと一緒に指定することはできません。
  • 生成された式を含むカラムに対してフィールド・プロシージャーを定義することはできません。
回復手順: 定義が有効となるように文節を変更または除去してください。
SQLCODE: -20038
SQLSTATE: 42613
SQ20054
メッセージ・テキスト: &2 のファイル &1 にはリンク保留モードのデータ・リンクがあります。
原因: アクセスしたファイル &1 には、理由コード &3 のためにリンク保留モードのデータ・リンクがあります。 理由コードは次の通りです。
  • 21 データ・リンクの状況を確認できません。 ファイルはリンク保 留モードの時には,INSERTおよびUPDATEステートメントに使用することはできません。
回復手順: WRKPFDL(物理ファイル・データ・リンクの処理)コマンドを使用して,データ・リンクがリンク保留モードになっているファイルを判別してください。 保留 中のリンクを解決して要求を再試行してください。
SQLCODE: -20054
SQLSTATE: 55019
SQ20055
メッセージ・テキスト: 結果欄が実体化された QUERY テーブルの欄 &1 と互換性がありません。
原因: 選択リストの結果列のデータ・タイプが実体化された QUERY テーブルの列 &1 と互換性がありません。
回復手順: SELECTのすべての結果カラムのデータ・タイプが実体化されたQUERYテーブルの対応する既存のカラムと互換性があるようにしてください。
SQLCODE: -20055
SQLSTATE: 42854
SQ20058
メッセージ・テキスト: 実体化された QUERY テーブル &1 の副選択が理由コード &3 のために有効でありません。
原因: SELECT ステートメントに無効な参照または式が含まれているので、&2 で &1 を作成または変更できません。 理由コードとそ の意味は次の通りです。
  • 1 -- 別のマテリアライズ照会表または保護されたシステム・ファイルを参照しているか、またはマテリアライズ照会表または保護されたシステム・ファイルを参照するビューを参照している。
  • 2 -- FROM文節で,宣言されたグローバル一時テーブル,作成されたグローバル一時テーブル,QTEMP中のテーブル,プログラム記述ファイル,または非SQL論理ファイルを参照しています。
  • 3 -- 無効なマテリアライズ照会表の項目を格納した VIEW を参照している。
  • 4 -- データ・リンクをもつ式、あるいはデータ・リンクが FILE LINK CONTROL である場合に、そのデータ・リンクに基づく特殊タイプをもつ式が含まれている。
  • 6 -- 外部アクションをもつか、決定論関数でない関数を参照している。
  • 8 -- 特殊レジスターまたはグローバル変数を参照している。
  • 9 -- 精度付きバイナリー、DBCS 専用、DBCS 択一など SQL データ・タイプでない結果列を参照している。
  • 10 -- フィールド・プロシージャーの定義がある列を参照しており、その列が選択リスト内の式で使用されている。
回復手順: 理由コードに基づいて,実体化されたQUERYテーブルのSELECTステートメントを訂正して, 要求をやり直してください。
SQLCODE: -20058
SQLSTATE: 428EC
SQ20073
メッセージ・テキスト: &2 の中の関数 &1 の属性が無効です。
原因: &2 内の関数 &1 は、MQT 内、WITH CHECK OPTION 属性のあるビュー内、またはグローバル変数内で参照されているため、NOT DETERMINISTIC または EXTERNAL ACTION として作成することも変更することもできません。
回復手順: この関数には,DETERMINISTICまたはNO EXTERNAL ACTIONを指定してください。 要求をやり直してください。
SQLCODE: -20073
SQLSTATE: 42927
SQ20093
メッセージ・テキスト: &2 中のテーブル &1 の ALTER は失敗しました。 理由コードは &3 です。
原因: 実体化されたQUERYテーブルが含まれるALTER要求を完了できません。 この要求は,ALTER TABLEステートメントによって直接行うことも, CREATE OR REPLACE TABLEステートメントによって間接的に行うこともできます。 理由コードとそ の意味は次の通りです。
  • 2 -- ALTER で DROP MATERIALIZED QUERY または ALTER MATERIALIZED QUERY を指定していますが、指定されたテーブルが実体化された QUERY テーブルではない。
  • 4 -- テーブルに 1 つ以上のトリガーが定義されている。
  • 8 -- テーブルが別の実体化された QUERY テーブルの定義で参照されている。
  • 9 -- テーブルが SELECT ステートメントで直接または間接に (例えばビューを介して) 参照されている。
  • 10 -- ALTER で ADD MATERIALIZED QUERY を指定しているが、指定されたテーブルがすでに実体化された QUERY テーブルとなっている。
  • 11 -- 既存のテーブルの列数が SELECT ステートメントの結果の列数と一致しない。
  • 12 -- 既存のテーブルの列のデータ・タイプが SELECT ステートメントの結果の列のデータ・タイプと一致しない。
  • 16 -- ALTER で ADD MATERIALIZED QUERY を指定しているが、指定されたテーブルに複数のメンバーがある。
  • 19 -- テーブルはシステム期間一時テーブルまたはヒストリー・テーブルであるため,実体化されたQUERYテーブルとして定義できません。
  • 20 -- ALTER で ALTER MATERIALIZED QUERY または ADD MATERIALIZED QUERY を指定しており、&2 内の指定されたテーブル &1 または &5 内の参照されたテーブル &4 が行または列のアクセス制御を使用している。
回復手順: このステートメントを変更するか,別のテーブルを指定するか, あるいは別の結果のカラムを指定するようSELECTステートメントを変更してください。 要求をやり直してください。

障害の原因が理由コード 20 である場合は、&2 内の &1 または &5 内の &4 に定義されたすべてのマスクおよび許可を除去する必要があります。 さらに両方のテーブルに対して行およびカラムのアクセス制御を非活動状態にしなければなりません。

SQLCODE: -20093
SQLSTATE: 428EW
SQ20102
メッセージ・テキスト: ルーチン &1 に &3 を指定できません。
原因: &3 は、&2 のルーチン &1 に指定できません。 ALTER REPLACEは,SQLルーチンでのみ指定できます。 DEBUG MODEは,SQLおよびJAVAルーチンでのみ指定することができます。 SQLルーチンの言語タイプは変更できません。 SQLルーチンでは,外部名は指定できません。
回復手順: 許可されない節を除去してください。 要求をやり直してください。
SQLCODE: -20102
SQLSTATE: 42849
SQ20110
メッセージ・テキスト: セーブポイントが未解決であるとリモート・サイトには暗黙に接続できません。
原因: 活動セーブポイントが存在している時に,ステートメントがリモートDBMSのオブジェクトを参照しました。
回復手順: セーブポイントが未解決であるので,リモート・サーバーへの暗黙の接続は許可されません。 RELEASE TO SAVEPOINTまたはROLLBACK TO SAVEPOINTを出してから,ステートメントを再試行してください。 トランザクションをコミットまたはロールバックすると,既存のセーブポイントも解放されます。
SQLCODE: -20110
SQLSTATE: 51036
SQ20112
メッセージ・テキスト: セーブポイントの最大数に達しました。
原因: 資源限界を超えました。
回復手順: RELEASE TO SAVEPOINTまたはROLLBACK TO SAVEPOINTを出してから,追加のセーブポイントを作成してください。 既存のセーブポイントを解放するには,COMMITまたはROLLBACKを出すことができます。
SQLCODE: -20112
SQLSTATE: 3B002
SQ20117
メッセージ・テキスト: ウィンドウ定義が正しくない。
原因: OLAP仕様のウィンドウ定義(OVER文節)が正しくありません。 理由コードは &1 です。 理由コードとその定義は次の通りです。
  • 1 - RANGEまたはROWSが指定されましたが,OVER文節にORDER BY文節が含まれません。
  • 2 - RANGEが指定されましたが,OVER文節の中に複数のソート・キー式を含むORDER BY文節があります。
  • 3 - RANGEが指定されましたが,OVER文節内のORDER BY文節にあるソート・キー式から範囲値のデータ・タイプを引くことができません。
  • 4 - BETWEENの最初の値としてUNBOUNDED FOLLOWINGが指定されたか,BETWEEENの2番目の値としてUNBOUNDED PRECEDINGが指定されました。
回復手順: 理由コードに従ってウィンドウ定義を変更してください。
  • 1 - RANGEまたはROWSを使用しているOVER文節にORDER BY文節を追加してください。
  • 2 - RANGEを指定しているOVER文節の中のORDER BY文節がソート・キー式を1つだけ含むようにしてください。
  • 3 - RANGEを使用しているOVER文節の中のORDER BY文節にあるソート・キー式から範囲値を引けるようにしてください。 ソート・キー式は,NUMERICまたはDATETIMEデータ・タイプでなければなりません。 ソート・キー式がDATETIMEデータ・タイプである場合,範囲値はそのデータ・タイプの期間を表す10進数リテラルでなければなりません。
  • 4 - BETWEEN文節に正しい境界値を指定してください。
SQLCODE: -20117
SQLSTATE: 428EZ
SQ20120
メッセージ・テキスト: SQLテーブル関数はテーブル結果を戻さなければなりません。
原因: SQLテーブル関数は,以下のようにテーブル結果を戻す必要があります。
  • RETURNステートメントの全選択でテーブル全体を戻すことができます。 この場合,関数には,RETURNステートメントが1つだけ存在する必要があり,PIPEステートメントはあってはなりません。
  • PIPEステートメントでは一度に1行ずつテーブルを戻すことができます。 空のRETURNステートメントで関数の終わりを示します。 この場合,関数には,RETURNステートメントが少なくとも1つ存在する必要があり,PIPEステートメントはいくつあっても構いません。
回復手順: 有効な関数テーブル結果を指定してください。 要求をやり直してください。
SQLCODE: -20120
SQLSTATE: 428F1
SQ20141
メッセージ・テキスト: 長さが &1 の値の切り捨てが &2 で起こった。
原因: ホスト変数またはパラメーターへの値の代入時に,切り捨てが起こり,切り捨てられた値の長さが標識変数に戻すには大きすぎます。 この状態が起こる可能性があるのは,切り捨てが以下の代入時に起こる場合です。
  • リモート・ストアード・プロシージャーのパラメーターへの値および切り捨てようとしている値が 127 バイトより大きい。 この場合は,標識変数には値127が入ります。
  • ホスト変数への LOB 値 または XML 値および切り捨てようとしている値が 32767 バイトより大きい。 この場合は,標識変数には値32767が入ります。

以上の場合は、切り捨てられた値の実際の長さは標識変数を使用してアプリケーションに戻すことができません。 値の実際の長さはメッセージ・トークンの長さとして戻されます。

回復手順: ホスト変数またはパラメーターの長さを変更し,要求を再試行してください。
SQLCODE: -20141
SQLSTATE: 01004
SQ20143
メッセージ・テキスト: 暗号化または復号関数が失敗しました。
原因: 暗号化パスワード値が設定されていないので,暗号化または復号関数が失敗しました。
回復手順: SET ENCRYPTION PASSWORDステートメントを使用して,暗号化および復号関数に使用されるパスワードを設定してください。 パスワードは,暗号化および復号関数の引数として指定することもできます。
SQLCODE: -20143
SQLSTATE: 51039
SQ20144
メッセージ・テキスト: 暗号化パスワードの長さが有効でありません。
原因: 暗号化パスワードの長さは6から127文字でなければなりません。
回復手順: パスワード値の長さを訂正してください。 要求を再投入してください。
SQLCODE: -20144
SQLSTATE: 428FC
SQ20145
メッセージ・テキスト: 復号関数は失敗しました。
原因: 復号に使用されるパスワードがデータの暗号化に使用されたパスワードと一致しません。 データの復号は,データの暗号化に使用されたものと同じパスワードを使用して行う必要があります。
回復手順: データの暗号化と復号に同じパスワードが使用されるようにしてください。
SQLCODE: -20145
SQLSTATE: 428FD
SQ20146
メッセージ・テキスト: 復号関数は失敗しました。 データが暗号化されていません。
原因: データはENCRYPT、ENCRYPT_AES、 ENCRYPT_AES256、 ENCRYPT_RC2、またはENCRYPT_TDES関数の結果でなければならない。
回復手順: データがENCRYPT、ENCRYPT_AES、 ENCRYPT_AES256、 ENCRYPT_RC2、ENCRYPT_TDES関数の結果であることを確認する。 復号関数に渡されるデータは暗号化されたデータでなければなりません。
SQLCODE: -20146
SQLSTATE: 428FE
SQ20147
メッセージ・テキスト: ENCRYPT関数が失敗しました。 データは既に暗号化されています。
原因: 既に暗号化されたデータを暗号化しようとしました。
回復手順: データがまだ暗号化されていないことを確認してください。
SQLCODE: -20147
SQLSTATE: 55048
SQ20148
メッセージ・テキスト: &2 の関数 &1 には RETURN ステートメントを指定する必要があります。
原因: SQL関数にはRETURNステートメントを指定する必要があります。
回復手順: RETURNステートメントを指定してください。 要求をやり直してください。
SQLCODE: -20148
SQLSTATE: 429BD
SQ20159
メッセージ・テキスト: 分離節または同時アクセス解決節が無視されました。
原因: インラインに適格な関数の作成時に分離レベルまたは同時アクセス解決の値が指定されました。 関数がインラインとして実装された場合,インラインにしたステートメントの値が使用されます。
回復手順: 処置は必要ありません。
SQLCODE: +20159
SQLSTATE: 01652
SQ20165
メッセージ・テキスト: データ変更テーブル参照が指定された条件では許可されません。
原因: データ変更テーブル参照は,特定のFROM節でのみ指定できます。 データ変更テーブル参照は,以下で使用されるFROM節の唯一のテーブル参照である必要があります。
  • SELECT または SELECT INTO ステートメントの外部全選択
  • SET または VALUES INTO ステートメントの唯一の全選択
  • RETURN ステートメントの QUERY 式
回復手順: データ変更テーブル参照が正しく使用されるようにステートメントを修正してください。 FROM節の唯一のテーブル参照になるようにしてください。
SQLCODE: -20165
SQLSTATE: 428FL
SQ20166
メッセージ・テキスト: データ変更テーブル参照のビューまたは論理ファイル &1 は、許可されません。
原因: &2 の中の &1 を、データ変更テーブル参照のターゲットとして指定することはできません。

&1 がビューである場合、確定的でない関数、外部アクションを持つ関数、または SQL データを変更する関数をビュー定義内の WHERE 文節中で使用できません。

&1 が論理ファイルである場合、選択/省略の指定を付けることも、結合論理ファイルにすることもできません。

回復手順: データ変更テーブル参照の別のビューまたは論理ファイルを指定してください。
SQLCODE: -20166
SQLSTATE: 428FM
SQ20178
メッセージ・テキスト: INSTEAD OF トリガーは、ビュー &1 用に作成されていません。
原因: &2 のビュー &1 には、指定した操作の INSTEAD OF トリガーがすでに定義されています。 ビューは,INSERT, UPDATE,およびDELETEの各操作に定義された唯一のINSTEAD OFトリガーをもつことができます。
回復手順: 既存のトリガーを除去してください。 既存のトリガーと新規のトリガーを単一のトリガーの機能に結合します。 トリガーを再び作成します。
SQLCODE: -20178
SQLSTATE: 428FP
SQ20179
メッセージ・テキスト: WITH CHECK OPTION を使用するビュー &1 用のトリガーは作成できません。
原因: &2 のビュー &1 は、WITH CHECK OPTION を指定するか、または WITH CHECK OPTION のあるビューに依存します。 INSTEAD OFトリガーは,WITH CHECK OPTIONをもつビュー用には定義できません。
回復手順: WITH CHECK OPTIONをビューから除去してください。
SQLCODE: -20179
SQLSTATE: 428FQ
SQ20180
メッセージ・テキスト: 欄 &1 は変更できません。
原因: 以下のいずれかの理由で,&3内のテーブル&2のカラム&1は変更できません。
  • カラム&1は区分化キー・カラムである。
  • カラム&1はヒストリー・テーブル内のカラムである。
  • カラム&1はROW BEGIN, ROW END,またはTRANSACTION START IDであるため,そのデータ・タイプは精度12のタイム・スタンプでなければならない。
  • カラム&1はROW BEGINまたはROW ENDであるため,NULL 値を許可してはならない。
回復手順: テーブルを非区分テーブルに変更してから,カラムを変更するか,テーブルがヒストリー・テーブルでなくなるようにバージョン管理を除去するか,ステートメントからALTER COLUMN文節を取り除いてください。 要求をやり直してください。
SQLCODE: -20180
SQLSTATE: 428FR
SQ20183
メッセージ・テキスト: ALTER TABLE 区分化文節は &1 には有効でありません。
原因: &2 中のテーブル &1 は変更できません。 理由コードは &3 です。
  • 1 -- ALTER TABLEステートメントにADD PARTITION BYが指定されましたが,テーブルは既に区分テーブルであるか,物理ファイルです。
  • 2 -- ALTER TABLEステートメントにADD PARTITION, ALTER PARTITION, ATTACH PARTITION, DETACH PARTITION,またはDROP PARTITIONが指定されましたが,テーブルは区分テーブルではありません。
  • 3 -- ALTER TABLEステートメントにRANGE区分のDROP PARTITIONが指定されましたが,PRESERVE ROWS文節が使用されています。 PRESERVE ROWS文節は,HASH区分化のある区分テーブルの場合にのみ有効です。
  • 4 -- ALTER TABLEステートメントでHASH区分のALTER PARTITION, ATTACH PARTITION,またはDETACH PARTITIONが指定されました。
  • 5 -- CREATE OR REPLACE TABLEステートメントで指定されたRANGE区分が既存のテーブル内の区分と一致しませんでした。
  • 6 -- 接続しようとしている区分は範囲が定義されていません。
回復手順: ステートメントを有効なものに変更するか,別のテーブルを指定してください。 要求をやり直してください。
SQLCODE: -20183
SQLSTATE: 428FT
SQ20200
メッセージ・テキスト: &3 が見つからなかったので、&2 の &1 の導入または置換が失敗しました。
原因: JAR導入または置換プロシージャーで指定されているURLが有効なJARファイルを識別しませんでした。
回復手順: 有効なJARファイルを識別URLを指定してJAR導入または置換プロシージャーを出し直してください。
SQLCODE: -20200
SQLSTATE: 46001
SQ20201
メッセージ・テキスト: JAR 名が無効なので、&2 の &1 の導入、置換、または除去が失敗しました。
原因: JAR導入,置換,または除去プロシージャーに指定されているJAR名が無効です。 例えば,JAR IDの形式が不適切であるか,置換または除去する JAR IDが存在していないか,既に存在しているので導入できません。
回復手順: JAR IDの形式が正しいことを確認してください。 JAR IDが存在している場合には,導入する前に除去することが必要な場合があります。 除去または置換プロシージャーの場合は,JAR IDが存在していることを確認してください。
SQLCODE: -20201
SQLSTATE: 46002
SQ20202
メッセージ・テキスト: &3 は使用中なので、&2 の &1 の置換または除去が失敗しました。
原因: JARファイル中に指定されているクラスが定義済みのプロシージャーによって現在使用中であるか,あるいは置換JARファイルにはプロシージャーを定義するために指定されたクラスが入っていません。
回復手順: 除去しようとしているクラスを参照しているすべてのプロシージャーが除去されていることを確認し,置換または除去プロシージャーを投入し直してください。
SQLCODE: -20202
SQLSTATE: 46003
SQ20203
メッセージ・テキスト: & 2 のユーザー定義関数またはプロシージャー & 1 の Java™ メソッドのシグニチャーが無効です。
原因: 関数またはプロシージャーを実装するために使用されるJAVAメソッドのシグニチャーが無効です。 例えば,メソッドには対応しているCREATEステートメントのパラメーターと互換性のないパラメーターがあるか,あるいはプロシージャーのメソッドに戻り値が指定されていない場合があります。
回復手順: JAVAメソッドと一致しているパラメーターが指定されている対応しているCREATEステートメントを再投入するか,あるいはJAVAメソッドのパラメーターまたは戻りタイプを訂正して,クラスを再ビルドしてください。
SQLCODE: -20203
SQLSTATE: 46007
SQ20204
メッセージ・テキスト: &2 のユーザー定義関数またはプロシージャー &1 が単一の Java メソッドにマップできませんでした。
原因: 識別された機能またはプロシージャーが,一致しているJAVAメソッドの検出に失敗したか,あるいは一致しているJAVAメソッドを複数検出しました。
回復手順: JAVAメソッドまたは対応しているCREATEステートメントを,関数またはプロシージャー呼び出しが単一のJAVAメソッドに解決されるように訂正してください。
SQLCODE: -20204
SQLSTATE: 46008
SQ20205
メッセージ・テキスト: &2 のユーザー定義関数またはプロシージャー &1 には NULL 値の入力引数があります。
原因: CALLED ON NULL INPUTで作成された関数またはプロシージャーにはヌル値のパラメーターがありますが,この引数のJAVAデータ・タイプはヌル値をサポートしません。 ヌル値をサポートしないJAVAデータ・タイプの例は,BOOLEAN, BYTE, SHORT, INT, LONG,またはDOUBLEです。
回復手順: メソッドがヌル値を指定して呼び出すためのものである場合には,入力JAVAタイプがヌル値の受け入れ可能であることを確認してください。 &1 が関数である場合には、RETURNS NULL ON NULL INPUT が CREATE FUNCTION ステートメントに指定されていると考えられます。
SQLCODE: -20205
SQLSTATE: 39004
SQ20206
メッセージ・テキスト: &2 のプロシージャー &1 が戻した結果セットが多すぎます。
原因: 指定したプロシージャーが,プロシージャー定義に指定されていた数より多くの結果セットを戻しました。
回復手順: プロシージャーを,もっと少ない結果セットを戻すように変更するか,あるいはそのプロシージャーを除去して,正しい数の結果セットを指定して再作成してください。
SQLCODE: -20206
SQLSTATE: 0100E
SQ20207
メッセージ・テキスト: &2 の JAR 導入または置換プロシージャー &1 で展開記述子の使用が指定されていました。
原因: JAR導入または置換プロシージャーのDEPLOYまたはUNDEPLOYパラメーターが非ゼロでした。このパラメーターはサポートされず,ゼロでなければなりません。
回復手順: DEPLOYまたはUNDEPLOYパラメーターをゼロに設定してプロシージャーを再投入してください。
SQLCODE: -20207
SQLSTATE: 46501
SQ20211
メッセージ・テキスト: CREATE VIEWの文節が許可されていません。
原因: ビューの外部全選択ではORDER BY, FETCH FIRST N ROWS,およびOFFSETは許可されません。
回復手順: この文節を除去してください。 要求をやり直してください。
SQLCODE: -20211
SQLSTATE: 428FJ
SQ20214
メッセージ・テキスト: テーブル指定子 &1 が順序付けられていません。
原因: ORDER OF 文節を指定しましたが、テーブル指定子 &1 が順番になっていません。
回復手順: ORDER OF文節を訂正してください。 要求をやり直してください。
SQLCODE: -20214
SQLSTATE: 428FI
SQ20223
メッセージ・テキスト: 暗号化または復号関数が失敗しました。 暗号化機能エラーです。
原因: 関数 ENCRYPT、ENCRYPT_AES、 ENCRYPT_AES256、 ENCRYPT_RC2、ENCRYPT_TDES、DECRYPT_BIN、DECRYPT_BINARY、DECRYPT_BIT、DECRYPT_CHAR、DECRYPT_DB、または GETHINT を使用しようとしましたが、暗号化機能のエラーにより失敗しました。
回復手順: ソフトウェア・サービス提供元に連絡してください。
SQLCODE: -20223
SQLSTATE: 560BF
SQ20224
メッセージ・テキスト: 元からバイナリー・ストリングであった暗号化されたデータは,文字ストリングに復号できません。
原因: DECRYPT_CHAR関数が呼び出されましたが,その引数が元はバイナリー・ストリングであった暗号化されたストリングを表しています. バイナリー・ストリングは,DECRYPT_CHAR関数を使用して文字ストリングにキャストすることはできません。
回復手順: 暗号化された値は,DECRYPT_BINARY関数を使用してしか復号できません。
SQLCODE: -20224
SQLSTATE: 22528
SQ20226
メッセージ・テキスト: スタックされた診断域の最大数を超えています。
原因: 条件情報項目またはスタックされた診断情報を収めるのに使用可能な記憶域が不足しています。
回復手順: SQL警告が少なくなるようにアプリケーション・ロジックを変更するか,SET TRANSACTIONステートメントを使用して追加の条件域を指定してください。
SQLCODE: -20226
SQLSTATE: 0Z001
SQ20227
メッセージ・テキスト: XML関数にはAS文節が必要です。
原因: 引数が名前付けられていないために、XMLATTRIBUTES、XMLFOREST、XMLROW、または XMLGROUP 関数の引数 &1 には AS 文節を指定しなければなりません。 引数 &1 が &2 として指定されています。
回復手順: AS文節を指定して,引数に名前付けしてください。 要求をやり直してください。
SQLCODE: -20227
SQLSTATE: 42633
SQ20228
メッセージ・テキスト: STACKED診断が使用可能でありません。
原因: STACKED診断は,ハンドラーからしかアクセスできません。
回復手順: STACKED診断がハンドラー内だけからアクセスされるようにアプリケーション・ロジックを変更してください。
SQLCODE: -20228
SQLSTATE: 0Z002
SQ20235
メッセージ・テキスト: &2 中の実体化された QUERY テーブル &1 の変更は有効でありません。
原因: 実体化されたQUERYテーブルのカラムを追加,除去,または変更できません。
回復手順: ステートメントを有効なものに変更するか,別のテーブルを指定してください。 要求をやり直してください。
SQLCODE: -20235
SQLSTATE: 428FY
SQ20236
メッセージ・テキスト: カーソル &1 は戻すことができません。
原因: SET RESULT SETS ステートメントが WITHOUT RETURN 属性付きで宣言されたカーソル &1 を参照しています。 カーソル &1 は、SET RESULT SETS ステートメントには指定できません。
回復手順: カーソルへの参照をSET RESULT SETS ステートメントから取り除いてください。 要求をやり直してください。
SQLCODE: -20236
SQLSTATE: 428BA
SQ20246
メッセージ・テキスト: &2 中の &1 は変更できません。
原因: &2のテーブル&1は,&4の論理ファイル&3が原因で変更できません。
  • テーブル&1は区分テーブルであり,DDS作成の論理ファイル&3がこのテーブルを基にしています。
  • テーブル&1は,複数形式の論理ファイル&3がこのテーブルを基にしているため,生成カラムを含むことができません。
  • テーブル&1は,複数の物理ファイルを基にした単一形式の論理ファイル&3がこのテーブルを基にしているため,生成カラムを含むことができません。
  • テーブル &1 に Boolean 列を追加できません。
回復手順: 論理ファイルを取り除いてください。 要求をやり直してください。
SQLCODE: -20246
SQLSTATE: 428G0
SQ20251
メッセージ・テキスト: 区画 &1 は除去できません。
原因: 区分&1を除去または切り離そうとしましたが,この区分はテーブル中の最後の区分です。 区分テーブルは,少なくとも1つの区分を含んでいなければなりません。
回復手順: DROP TABLEステートメントを使用して,テーブルを除去してください。
SQLCODE: -20251
SQLSTATE: 428G2
SQ20257
メッセージ・テキスト: INSTEAD OF トリガを使用した &2 での &1 の表示は、データ変更操作では許可されません。
原因: データ変更操作のターゲットは、INSTEAD OF トリガで定義されたビューです。
回復手順: ビューからINSTEAD OFトリガを削除するか、INSERT、UPDATE、DELETEの対象として別のテーブルやビューを指定します。
SQLCODE: -20257
SQLSTATE: 428G3
SQ20258
メッセージ・テキスト: INPUT SEQUENCE配列の使用が正しくありません。
原因: ORDER BY節でINPUT SEQUENCEが指定されていますが, 全選択のFROM節でINSERTステートメントが指定されていません。
回復手順: ORDER BY節で有効なソート・キーを指定するか, FROM節にINSERTステートメントを含めるようにしてください。
SQLCODE: -20258
SQLSTATE: 428G4
SQ20259
メッセージ・テキスト: ビュー &2 は、データ変更テーブル参照内では許可されません。
原因: &3 の中のビュー &2 の定義が原因で、データ変更テーブル参照のターゲットとしてこのビューを使用できません。 ビュー定義には,スカラー副選択,スカラー全選択,またはSUBQUERYを含めることはできません。
回復手順: 別のビューをデータ変更テーブル参照のターゲットとして指定するか,ビュー定義を変更してください。
SQLCODE: -20259
SQLSTATE: 428G6
SQ20267
メッセージ・テキスト: &2内の関数&1は指定された場所では使用できません。
原因: &2内の関数&1は指定された場所では使用できません。 特定の名前は &3 です。 理由コードは&4です。
  • 8 -- MODIFIES SQL DATAとして定義された関数は,OFFSET文節を含むQUERYの選択リストでは指定できません。
回復手順: QUERYからこの関数を除去するか,OFFSET文節を除去してください。
SQLCODE: -20267
SQLSTATE: 429BL
SQ20268
メッセージ・テキスト: ソート順序は適用できません。 理由コードは &4 です。
原因: ライブラリー &3 中のソート順序テーブル &2 は、理由コード &4 のために適用できません。 理由コードとその意味は次の通りです。
  • 1 -- ソート順序テーブルをフィールド &1 に適用した結果が 32,742 バイトを超えます。
  • 2 -- ソート順序テーブルは、LOCATE、POSITION、POSSTR、および LOCATE_IN_STRING 関数には適用できません。
  • 3 -- ソート順序テーブルは LIKE 述部または %WLDCRD 関数には適用できません。
  • 4 -- 共有ウェイト・ソート順序テーブルは、INCLUDE が指定された CREATE ENCODED VECTOR INDEX ステートメントのキー・フィールドには適用できません。
  • 5 -- この索引には ICU (UNICODE 国際コンポーネント) テーブルを使用できません。
回復手順: ソート順序テーブル &2 は INTERNATIONAL COMPONENTS OF UNICODE (ICU) テーブルです。 理由コード1の場合の回復処置: ICUソート順序テーブルの結果がその作用するフィールドの長さを超えます。 フィールドにSBCSデータを入れることができる場合には,ソート順序テーブルを適用した結果はフィールドの長さを6倍したものになることがあります。 このソート順序テーブルをDBCSフィールドに適用すると,フィールドの長さの3倍になることがあります。 より小さいフィールドを指定するか,ICUタイプでないソート順序テーブルを指定してください。 理由コード4の回復手順: 固有の重みのソート順序テーブルを使用します。 他の理由コードの場合の回復手順: 関数を省略するか,あるいは非ICUタイプのソート順序テーブルを指定してください。
SQLCODE: -20268
SQLSTATE: 429BM
SQ20275
メッセージ・テキスト: XML 名 &1 が無効です。
原因: XML 名 &1 が理由コード &2 のために有効でありません。 理由コードは次の通りです。
  • 1 --「xmlns」は XML 属性名として、あるいは XML 要素または属性名の接頭部として使用される。
  • 2 -- 修飾された XML 名の XML ネーム・スペース接頭部はその有効範囲内に宣言されない。
  • 3 -- XML 要素または XML 属性の名前が XML QName ではない。
  • 4 -- XML 処理命令の名前が XML NCName ではない。
  • 5 -- XML 処理命令の名前に「XML」を含めることはできない。
  • 6 -- XMLTABLE の引数の名前が XML NCName ではない。
回復手順: 有効なXML名を指定してください。 要求をやり直してください。
SQLCODE: -20275
SQLSTATE: 42634
SQ20276
メッセージ・テキスト: XML ネーム・スペース接頭部 &1 が無効です。
原因: XML ネーム・スペース接頭部 &1 は理由コード &2 で無効です。 理由コードは次の通りです。
  • 1 -- XML ネーム・スペース接頭部が XML NCName でない。
  • 2 -- 名前「xml」または「xmlns」は XML ネーム・スペース接頭部として使用できない。
  • 3 -- XML ネーム・スペース接頭部が固有でない。
回復手順: XMLネームスペース接頭部に有効な固有の名前を指定してください。 要求をやり直してください。
SQLCODE: -20276
SQLSTATE: 42635
SQ20298
メッセージ・テキスト: GET DESCRIPTORに指定されたVALUEが現行COUNTより大きくなっています。
原因: GET DESCRIPTORのVALUEに指定された項目番号が記述子の現行COUNTより大きくなっています。
回復手順: これは警告です。 VALUEで提供した記述子項目について要求した情報が戻されていません。
SQLCODE: -20298
SQLSTATE: 02505
SQ20299
メッセージ・テキスト: 項目 &1 は記述子にすでに設定されています。
原因: この SET DESCRIPTOR ステートメントに対して記述子項目 &1 がすでに指定されています。 各項目は1回しか指定できません。
回復手順: 重複する項目を除去してください。 要求をやり直してください。
SQLCODE: -20299
SQLSTATE: 42747
SQ20307
メッセージ・テキスト: テーブル&1は理由コード&5のためにテーブル&3に対して接続または切り離しを行えません。
原因: &4内のターゲット・テーブル&3が&2内のソース・テーブル&1と一致しないため,ATTACH PARTITIONまたはDETACH PARTITION要求は失敗しました。 この失敗は理由コード &5 で説明されています。
  • 1 -- ソース・テーブルとターゲット・テーブルのカラム数が一致しません。
  • 5 -- ソース・テーブルに複数の区分があります。
  • 6 -- ソース・テーブルはビュー、実体化された QUERY テーブル、宣言されたグローバル一時テーブル、システム期間一時テーブル、ヒストリー・テーブル、またはシステム・テーブルです。
  • 7 -- ソース・テーブルとターゲット・テーブルが同じテーブルです。
  • 8 -- NOT LOGGED INITIALLYがソース・テーブルまたはターゲット・テーブルのいずれかに指定され,両方には指定されませんでした。
  • 20 -- 行アクセス制御がソース・テーブルでは活動化されていますが,ターゲット・テーブルでは活動化されていません。
  • 21 -- カラム・アクセス制御がソース・テーブルでは活動化されていますが,ターゲット・テーブルでは活動化されていません。
  • 28 -- 使用可能になっている参照整合性制約の親であるテーブルから区分を切り離すことはできません。
  • 29 -- ソース・テーブルとターゲット・テーブルが別々の IASP にあります。
  • 31 -- ソース表とターゲット表の両方を複製する必要があります。そうしないと、どちらの表も複製できません。
回復手順: 問題を訂正してください。 要求をやり直してください。
SQLCODE: -20307
SQLSTATE: 428GE
SQ20313
メッセージ・テキスト: &2 のルーチン &1 の DEBUG MODE は変更できません。
原因: &2 のルーチン &1 は、DISABLE の DEBUG MODE を使用して作成されました。 DEBUG MODEは変更できません。
回復手順: そのルーチンを除去し,DEBUG MODE ALLOWまたはDEBUG MODE DISALLOWを指定して再作成してください。
SQLCODE: -20313
SQLSTATE: 55058
SQ20326
メッセージ・テキスト: XML 名 &1 が長すぎます。
原因: XML 名 &1 が長すぎます。 XML要素名,XML属性名,XMLネームスペース接頭部,およびXML処理命令名の最大長は128です。 XMLネームスペースURIの最大長は1024です。
回復手順: この名前が長すぎないようにしてください。 要求をやり直してください。
SQLCODE: -20326
SQLSTATE: 54057
SQ20327
メッセージ・テキスト: XML文書の深さがレベルの最大数を超えています。
原因: XPATH式の評価中に解析,妥当性検査,保管,または全探索しようとしているXML値は,サポートされる最大の深さよりも深くネストされています。 ステートメントを処理できません。
回復手順: XML値で使用される要素および属性のレベルの数を減らしてください。
SQLCODE: -20327
SQLSTATE: 54058
SQ20328
メッセージ・テキスト: 同じターゲット・ネームスペースおよびスキーマ・ロケーションを持つXMLスキーマ文書が既に存在しています。
原因: 同じターゲット・ネーム・スペース &1 およびスキーマ・ロケーション &2 を持つ XML スキーマ文書が、&4 内の XML スキーマ &3 に既に存在しています。 XSR_ADDSCHEMADOCストアード・プロシージャーを使用して,同じターゲット・ネームスペースおよびスキーマ・ロケーションを持つ複数のXMLスキーマ文書が追加されました。 同じターゲット・ネームスペースおよびスキーマ・ロケーションを持つ文書が同一XMLスキーマ内に2つ存在することはできません。
回復手順: XSR_REMOVEストアード・プロシージャーを使用してXMLスキーマを除去してから,完了前にXMLスキーマ文書を登録して追加してください。 これらの文書を,同じターゲット・ネームスペースおよびスキーマ・ロケーションを持たないように変更してください。
SQLCODE: -20328
SQLSTATE: 42749
SQ20329
メッセージ・テキスト: XMLスキーマ文書が1つ以上欠落していたため,XMLスキーマの完了検査に失敗しました。
原因: XMLスキーマ登録完了処理で,完全なXMLスキーマには複数のXMLスキーマ文書が必要であり,少なくとも1つのXMLスキーマ文書がXMLスキーマ・リポジトリーから欠落していることが確認されました。 欠落している XML スキーマ文書は、値 &2 を持つ targetnamespace または schemalocation &1 によって識別されます。
回復手順: 欠落しているXMLスキーマ文書をXMLスキーマ・リポジトリーに追加してから,SYSPROC内のXSR_COMPLETEストアード・プロシージャーを呼び出してください。
SQLCODE: -20329
SQLSTATE: 428GI
SQ20330
メッセージ・テキスト: ターゲット・ネーム・スペース &3 およびスキーマ・ロケーション &5 によって識別された XML スキーマがリポジトリーに見つかりません。
原因: XML & 2 & 3 および XML & 4 & 5 によって識別される & 1 が、XML スキーマ・リポジトリーに見つかりません。 要求時にいずれかの値がヌル値であった場合は、対応する &3 または &5 が空ストリングです。
回復手順: 欠落しているXMLスキーマをXMLスキーマ・リポジトリーに追加し,ステートメントを再発行してください。
SQLCODE: -20330
SQLSTATE: 4274A
SQ20331
メッセージ・テキスト: XML 注記の値 &1 が無効です。
原因: XML注記内のストリング式は2つの隣接ハイフンを含めたり,ハイフンで終了したりすることはできません。
回復手順: XML注記の値が有効であることを確認してください。
SQLCODE: -20331
SQLSTATE: 2200S
SQ20332
メッセージ・テキスト: XML 処理命令 &1 が無効です。
原因: XML処理命令にサブストリング「?>」を含めることはできません。
回復手順: XML処理命令の値が有効であることを確認してください。
SQLCODE: -20332
SQLSTATE: 2200T
SQ20335
メッセージ・テキスト: ターゲット・ネームスペースおよびスキーマ・ロケーションによって識別されるXMLスキーマが複数存在します。
原因: ターゲット名前空間 &3 およびスキーマ・ロケーション &5 と一致する登録済み XML スキーマが複数存在します。
回復手順: 固有のXMLスキーマIDを使用してXMLスキーマを識別してください。
SQLCODE: -20335
SQLSTATE: 4274B
SQ20337
メッセージ・テキスト: BY VALUE文節が正しく使用されていません。
原因: BY VALUE の使用が理由コード &1 のために無効です。 理由コードは次の通りです。
  • 1 -- BY VALUE 文節は、XMLTABLE 関数の引数で対応するデータ・タイプが XML である場合にしか指定できません。
  • 2 -- BY VALUE 文節は、データ・タイプ XML の XMLTABLE 結果列にしか指定できません。
回復手順: BY VALUE文節を除去してください。 要求をやり直してください。
SQLCODE: -20337
SQLSTATE: 42636
SQ20338
メッセージ・テキスト: XMLCAST仕様のデータ・タイプはXMLでなければなりません。
原因: XMLCAST仕様のオペランドは両方ともXMLデータ・タイプでなければなりません。 XMLCAST仕様を使用して,NULL XML値をキャストしたり,指定されたCCSIDにXML値をキャストしたりすることができます。
回復手順: 両方のオペランドがXMLデータ・タイプになるようにXMLCAST仕様を変更してください。 要求をやり直してください。
SQLCODE: -20338
SQLSTATE: 42815
SQ20339
メッセージ・テキスト: &2 の XML スキーマ &1 は操作 &3 に適した状態ではありません。
原因: &2 の &1 によって識別される XML スキーマは正しい状態ではないため、これに対して操作 &3 を実行することはできません。 例えば,XMLスキーマは既に完了していて,操作はXMLスキーマ文書の追加を試みる場合などです。
回復手順: スキーマがまだ完了していない場合は,SYSPROCのXSR_COMPLETEストアード・プロシージャーを呼び出し,操作をやり直してください。 スキーマが既に完了していて,そのスキーマを更新する必要がある場合は,まず,そのスキーマを除去するか,または別の名前を使用してそのスキーマを登録する必要があります。
SQLCODE: -20339
SQLSTATE: 55063
SQ20340
メッセージ・テキスト: XMLスキーマ文書が他のXMLスキーマ文書に接続されていません。
原因: &2 の ID &1 によって識別される XML スキーマには、ネーム・スペース &3 に複数の XML スキーマ文書が含まれています。 これらのXMLスキーマ文書のうち少なくとも1つが,このXMLスキーマに登録されている他のXMLスキーマ文書に接続されていません。
回復手順: インポート,組み込み,または再定義を使用してXMLスキーマ内のすべてのXMLスキーマ文書が(プライマリー・スキーマ文書から始めて)接続されるように,XMLスキーマ文書を訂正するか,あるいは新しいXMLスキーマ文書を追加してください。 SYSPROCのXSR_REMOVEストアード・プロシージャーを使用して無効なスキーマを除去し,XSRストアード・プロシージャーを再び呼び出してそのスキーマを,訂正済みまたは新規の(あるいはその両方の)XMLスキーマ文書に登録してください。
SQLCODE: -20340
SQLSTATE: 22534
SQ20341
メッセージ・テキスト: &1 がすでにデータベース・オブジェクトの所有者であるため、転送操作は無視されました。
原因: 指定されたユーザー・プロファイルは,既にオブジェクトを所有しています。
回復手順: TRANSFER OWNERSHIPステートメントに別の所有者を指定してください。
SQLCODE: +20341
SQLSTATE: 01676
SQ20345
メッセージ・テキスト: XML値が適格な文書ではありません。
原因: XML値が適格な文書ではありません。 テーブルに格納中のXML値は,単一のルート要素を含む適格なXML文書でなければなりません。
回復手順: XML値を,単一のルート要素を含む適格なXML文書になるように変更してください。 要求をやり直してください。
SQLCODE: -20345
SQLSTATE: 2200L
SQ20346
メッセージ・テキスト: 指定されたグローバル要素がXMLスキーマにありません。
原因: 妥当性検査操作で、ネーム・スペース &3 内の明示的な要素ローカル名 &2 を妥当性検査する XML 文書のルート要素にするように指定されました。 SQL ID &1 を持つ XML スキーマに、ネーム・スペース &3 内のグローバル要素として宣言された &2 がありません。 ステートメントを処理できません。
回復手順: ネーム・スペース URI &3 の要素ローカル名 &2 が XML スキーマおよび妥当性検査される XML 文書に適したものであることを確認してください。 要素ローカル名,ネームスペース,またはXMLスキーマを変更し,妥当性検査をやり直してください。
SQLCODE: -20346
SQLSTATE: 22535
SQ20347
メッセージ・テキスト: 必要なルート要素がXML文書にありません。
原因: XML 文書のルート要素が、妥当性検査操作の対象として指定されたネーム・スペース URI &2 の必要な要素ローカル名 &1 と一致しません。 ステートメントを処理できません。
回復手順: ルート要素が指定された要素ローカル名 &1 およびネーム・スペース URI &2 と一致することを確認してください。 XML値が正しい場合は,指定された要素ローカル名またはネームスペースURIを変更してください。
SQLCODE: -20347
SQLSTATE: 22536
SQ20353
メッセージ・テキスト: データ・タイプ &2 は &1 では許可されません。
原因: &1 文節にデータ・タイプ &2 の値が含まれています。 &1 に比較が組み込まれているため、このデータ・タイプは許可されていません。
回復手順: &1 文節に別のデータ・タイプの式を使用し、要求をやり直してください。
SQLCODE: -20353
SQLSTATE: 42818
SQ20354
メッセージ・テキスト: ROW CHANGE TIMESTAMPカラムがキーで無効です。
原因: &2 の中のテーブル &1 の外部キーまたはパーティション・キーには、ROW CHANGE TIMESTAMP 列を指定できません。
回復手順: キーの指定からそのカラムを除去してください。 要求をやり直してください。
SQLCODE: -20354
SQLSTATE: 429BV
SQ20356
メッセージ・テキスト: &2 内のテーブル &1 は切り捨てることができません。
原因: 以下のいずれかの理由で,テーブルを切り捨てることができません。
  • TRUNCATE ステートメントの結果、削除トリガーが活動化するが、このステートメントが暗黙的または明示的のいずれかで RESTRICT WHEN DELETE TRIGGERS を指定している。 この状況は,切り捨ての対象となっているテーブルに対して有効な削除トリガーが存在する場合に発生することがあり,TRUNCATEステートメントを使用するとこのトリガーが活動化します。
  • TRUNCATEステートメントが,参照制約で親テーブルであるテーブルに対するものです。
  • ON REPLACE DELETE ROWSを指定したCREATE OR REPLACE TABLEステートメントが,参照制約で親テーブルであるテーブルに対するものです。
回復手順: ステートメント失敗の原因が削除トリガーの存在にある場合は,TRUNCATEステートメントにIGNORE DELETE TRIGGERS文節を指定してください。 ステートメント失敗の原因が参照制約にある場合は,ALTER TABLEステートメントを使用してもう一方のテーブルからFOREIGN KEY制約を除去し,要求を再試行してください。
SQLCODE: -20356
SQLSTATE: 428GJ
SQ20365
メッセージ・テキスト: NANのシグナルが検出されたか,DECFLOATに関連する例外が発生しました。
原因: 式,算術演算,または関数,または例外を引き起こすDECFLOATカラムまたは値に関連する式, 算術演算,または関で,DECFLOAT特殊値SNANを検出しました。
回復手順: 算術演算または関数で,SNAN値を参照しないでください。
SQLCODE: +20365, -20365
SQLSTATE: 01565, 22502
SQ20367
メッセージ・テキスト: 文節 &1 は無視されます。
原因: &1は,DB2 FOR IBM Iによってサポートされていないか,それが指定されたコンテキスト内ではサポートされていません。 無視されています。
回復手順: 処置は必要ありません。
SQLCODE: +20367
SQLSTATE: 01680
SQ20377
メッセージ・テキスト: 文字 &1 を有効な XML 文字にマップすることができません。
原因: ストリング &2 で始まる XML 式または関数引数で文字 &1 が見つかりました。 この文字はXML式では許可されていません。
回復手順: この文字を除去するか,または許可されている文字で置き換えてください。
SQLCODE: -20377
SQLSTATE: 0N002
SQ20379
メッセージ・テキスト: &2 は、自身に所有権を転送したり、権限を付与したりすることはできません。
原因: &2 には、QIBM_DB_SECADM 関数に対する権限があります。 QIBM_DB_SECADM関数に対する権限がある権限IDは,オブジェクトの所有権を自身に転送することはできません。 同様にオブジェクトに対する権限を自身に付与することはできません。
回復手順: オブジェクトの新しい所有者として別の権限IDを選択するか,別の権限IDを使用してこの要求を実行してください。
SQLCODE: -20379
SQLSTATE: 42502
SQ20398
メッセージ・テキスト: XML構文解析に失敗しました。
原因: SQL処理でXML構文解析に失敗しました。 UTF-8 への変換後に処理する XML 値へのバイト・オフセットは &1 です。 XML パーサー・エラーの説明は次のとおりです。&2。
回復手順: XML値を訂正してください。 要求をやり直してください。
SQLCODE: -20398
SQLSTATE: 2200M
SQ20399
メッセージ・テキスト: XML構文解析または妥当性検査に失敗しました。
原因: 妥当性検査でXML構文解析に失敗しました。 UTF-8 への変換後に処理する XML 値へのバイト・オフセットは &1 です。 XML パーサー・エラーの説明は次のとおりです。&2。
回復手順: XMLインスタンス文書の問題を訂正してください。 XMLVALIDATEまたはXDBDECOMPXMLをやり直してください。
SQLCODE: -20399
SQLSTATE: 2201R
SQ20400
メッセージ・テキスト: XMLスキーマ文書が処理されませんでした。
原因: XML文書処理に失敗しました。 UTF-8 への変換後に処理する XML 値へのバイト・オフセットは &1 です。 XML パーサー・エラーの説明は次のとおりです。&2。
回復手順: XMLスキーマ文書の問題を訂正し,XSR_COMPLETEストアード・プロシージャーを再度呼び出してください。
SQLCODE: -20400
SQLSTATE: 2200M
SQ20408
メッセージ・テキスト: カラム&6と&7が一致しないため,テーブル&1の区分をテーブル&3に移動できません。
原因: &4のターゲット・テーブル&3のカラム&7が&2のソース・テーブル&1のカラム&6に一致しないため,ATTACH PARTITIONまたはDETACH PARTITION要求は失敗しました。 この失敗は理由コード &5 で説明されています。
  • 1 -- データ・タイプが一致しません。
  • 2 -- ヌル属性が一致しません。
  • 4 -- CCSIDが一致しません。
  • 7 -- 行変更タイム・スタンプ属性が一致しません。
  • 8 -- 割り振りの長さが一致しません。
  • 9 -- カラム・マスクが定義され,カラム&6に使用可能になっていますが,カラム&7には使用可能になっていません。
  • 10 -- 行開始属性が一致しません。
  • 11 -- 行終了属性が一致しません。
  • 12 -- トランザクション開始ID属性が一致しません。
  • 24 -- フィールド・プロシージャーが一致しません。
  • 25 -- 生成された式属性が一致しません。
  • 27 -- 省略時値が一致しません。
回復手順: どちらか一方のテーブルでこのカラムを変更して,問題を訂正してください。 要求をやり直してください。
SQLCODE: -20408
SQLSTATE: 428GE
SQ20412
メッセージ・テキスト: XML値の直列化で変換エラーが発生しました。
原因: XMLデータの直列化では,ソースCCSIDとは異なるCCSIDへの変換が必要になることがあります。 XML直列化の結果では置換文字は許可されていません。 ステートメントを処理できません。
回復手順: XML値内のすべての文字を表すことができるターゲット・エンコードを選択してください。 すべての文字を表すことができるので,ユニコード・エンコードを推奨します。 要求をやり直してください。
SQLCODE: -20412
SQLSTATE: 2200W
SQ20422
メッセージ・テキスト: &2 の中のテーブル &1 には、非表示でない列が入っていなければなりません。
原因: スキーマ &2 でテーブル &1 の CREATE または ALTER TABLE が試みられましたが、このステートメントの結果は、IMPLICITLY HIDDEN 列のみの入ったテーブルになります。 テーブルには少なくとも1つ以上のIMPLICITLY HIDDENではないカラムが必要です。
回復手順: テーブルには少なくとも1つ以上のIMPLICITLY HIDDENではないカラムが存在するようにしてください。 要求をやり直してください。
SQLCODE: -20422
SQLSTATE: 428GU
SQ20423
メッセージ・テキスト: テキスト検索処理中にエラーが発生しました。
原因: CONTAINSまたはSCORE関数のテキスト検索処理中に,エラーが発生しました。 理由コード &3 のエラーが、テキスト検索索引 &2 の使用時にサーバー &1 で発生しました。

問題を説明しているテキストは &4 です。

回復手順: この理由コードについては,テキスト検索の資料を参照してください。 要求をやり直してください。
SQLCODE: -20423
SQLSTATE: 38H10
SQ20424
メッセージ・テキスト: &1 の理由で、テキスト検索サポートを利用できません。
原因: テキスト検索管理テーブルの1つで問題が検出されました。 理由コードは &1 です。
  • 1 - テキスト検索管理テーブルの 1 つが見つかりませんでした。
  • 3 - テキスト検索サポートがインストールされていません。
  • 4 - テキスト検索サポートが開始されていません。
  • 7 - テキスト検索サーバーが定義されていません。
回復手順: テキスト検索サポートが正常にインストールされていて開始されている状態にしてください。 要求をやり直してください。
SQLCODE: -20424
SQLSTATE: 38H11
SQ20425
メッセージ・テキスト: 列 &1 のテキスト検索は許可されません。
原因: CONTAINS または SCORE テキスト検索関数が、&3 のテーブル &2 の中に列 &1 を指定しました。 このカラムにはテキスト索引が存在しないため,テキスト検索処理を実行できません。
回復手順: このカラムにテキスト索引を定義するか,テキスト索引が既に定義されたカラムを使用してください。
SQLCODE: -20425
SQLSTATE: 38H12
SQ20426
メッセージ・テキスト: 競合するテキスト検索管理プロシージャーが既に実行中です。
原因: 更新など,競合するテキスト検索管理プロシージャーが既にこの索引に対して実行されています。
回復手順: もう一方の管理プロシージャーが完了するまで待機してください。 要求をやり直してください。
SQLCODE: -20426
SQLSTATE: 38H13
SQ20427
メッセージ・テキスト: テキスト検索管理プロシージャー中にエラーが発生しました。
原因: テキスト検索管理プロシージャー中にエラーが発生しました。 理由コードは &2 です。 戻されたテキストは &1 です。
回復手順: 理由コードで示されている問題を修正して,管理プロシージャーを再試行してください。
SQLCODE: -20427
SQLSTATE: 38H14
SQ20430
メッセージ・テキスト: &2 のグローバル変数 &1 がこのコンテキストで使用されていない可能性があります。
原因: &2 内のグローバル変数 &1 が設定または使用されていない可能性があります。 現行接続がリモート・データベースへの接続である時には,PREPARE, OPEN, EXECUTE IMMEDIATE,またはFETCHステートメントでグローバル変数を使用することはできません。
回復手順:

現行接続がローカル・データベースへの接続である時に、PREPARE、OPEN、EXECUTE IMMEDIATE、または FETCH ステートメントを実行してください。

SQLCODE: -20430
SQLSTATE: 428GX
SQ20431
メッセージ・テキスト: ROW CHANGE TIMESTAMP 式は、&2 の中のテーブル &1 に対して無効です。
原因: ROW CHANGE TIMESTAMP 式が &2 の中のテーブル &1 に指定されていますが、ROW CHANGE TIMESTAMP と定義されている列がテーブル内にありません。
回復手順: ROW CHANGE TIMESTAMP式を除去するか, ROW CHANGE TIMESTAMPカラムが存在するテーブルを指定してください。 要求をやり直してください。
SQLCODE: -20431
SQLSTATE: 55068
SQ20434
メッセージ・テキスト: UPDATEステートメントですべてのカラムをUNASSIGNED値に設定することはできません。
原因: UPDATEステートメントで,値UNASSIGNEDがステートメントのすべてのカラムの値に設定されるように使用されました。 少なくとも1つ以上のカラムは, UNASSIGNED以外の値に設定する必要があります。
回復手順: 少なくとも1つ以上の拡張標識変数の値を UNASSIGNED以外の値に変更してください。 要求をやり直してください。
SQLCODE: -20434
SQLSTATE: 22540
SQ20436
メッセージ・テキスト: 配列には無効なデータ・タイプです。
原因: 配列ではサポートされていないデータ・タイプを使用して,配列のCREATE TYPEが指定されました。
回復手順: データ・タイプを,配列で使用できるものに変更してください。 要求をやり直してください。
SQLCODE: -20436
SQLSTATE: 429C2
SQ20437
メッセージ・テキスト: この操作は配列変数の場合にのみ許可されます。
原因: 配列にのみ許可されている操作で,SQL配列以外のオペランドが指定されました。 SQL配列のパラメーターまたは変数に指定できるのは,配列添え字,ARRAY_TRIM, TRIM_ARRAY, UNNEST, CARDINALITY,およびMAX_CARDINALITYのみです。
回復手順: オペランドをSQL配列の変数またはパラメーターに変更してください。 要求をやり直してください。
SQLCODE: -20437
SQLSTATE: 428H0
SQ20438
メッセージ・テキスト: 配列添え字の値が正しいデータ・タイプではありません。
原因: 配列添え字に指定される値は,数値またはストリングの組み込みデータ・タイプでなければなりません。
回復手順: 配列添え字を有効な値に変更してください。 要求をやり直してください。
SQLCODE: -20438
SQLSTATE: 428H1
SQ20439
メッセージ・テキスト: 値 &1 は配列添え字には無効です。
原因: 配列添え字として値 &1 が指定されましたが、この値は、負またはゼロであるか、配列の最大カーディナリティーを超えているか、あるいは現行カーディナリティーより大きい配列要素を参照するために使用されています。 値が-1の場合は,添え字にNULL値が指定されたか,配列が読み取り専用配列である可能性があります。
回復手順: 添え字を有効な値に変更するか,読み取り専用でない配列を使用してください。 要求をやり直してください。
SQLCODE: -20439
SQLSTATE: 2200E, 2202E
SQ20440
メッセージ・テキスト: ソース配列のカーディナリティー &1 がターゲット配列の最大カーディナリティー &2 を超えています。
原因: ソース配列のカーディナリティー &1 がターゲット配列の最大カーディナリティーを超えています。 配列を割り当てることができません。
回復手順: ソース配列のすべての要素が配列に適合するように,ターゲット配列の最大カーディナリティーを変更してください。 ARRAY_TRIMまたはTRIM_ARRAYを使用してソース配列のサイズを減らすことができます。 要求をやり直してください。
SQLCODE: -20440
SQLSTATE: 2202F
SQ20441
メッセージ・テキスト: 指定されている場所では配列タイプが無効です。
原因: 配列タイプが使用されましたが,この配列タイプは指定されたコンテキストでは許可されません。

配列タイプは以下の場合にのみ使用できます。

  • SQL スカラー関数の引数として、あるいは SQL プロシージャーまたは JAVA プロシージャーの引数として使用する場合。
  • SQL プロシージャーまたは SQL スカラー関数で宣言された SQL 変数に使用する場合。
  • SQL プロシージャまたは SQL スカラ関数の CAST または TRY_CAST 指定。

ルーチンの呼び出し時に使用される配列タイプのデータ・タイプは、ルーチンの作成時に使用された配列のデータ・タイプと一致する必要があります。

回復手順: 配列タイプの参照を除去してください。 ルーチンの作成後に配列のデータ・タイプが変更された場合,新しい定義を使用するようにルーチンを再作成してください。 要求をやり直してください。
SQLCODE: -20441
SQLSTATE: 428H2
SQ20446
メッセージ・テキスト: CCSIDが変更されました。
原因: ジョブのデフォルトの CCSID &1 用として関連付けられた混合またはグラフィックの CCSID が存在しません。 UTF-8またはUTF-16のCCSIDが使用されます。
回復手順: ジョブのCCSIDを関連付けられた混合またはグラフィックCCSIDが存在するものに変更してください。
SQLCODE: +20446
SQLSTATE: 0168P
SQ20447
メッセージ・テキスト: 関数 &1 のフォーマット・ストリングは有効ではありません。
原因: 関数 &1 の引数 2 に指定されたフォーマット・ストリングが無効です。理由は、フォーマット・ストリングの長さが 255 より大きいか、または VARCHAR_FORMAT 関数の結果の長さが 255 より大きくなるか、あるいはサポートされていない要素がフォーマット・ストリングに入っているからです。

以下のいずれかの理由で、フォーマット・ストリングは有効でないと考えられます。

  • フォーマットにフォーマット要素が含まれていません。
  • 同じタイム・スタンプ・コンポーネントを表す複数の要素が、フォーマットに入れられています。
  • 式のデータ・タイプに適用されないフォーマット要素がフォーマットに含まれています。
  • フォーマットに、AM、IYYY が入っています。
回復手順: 関数に有効な書式制御ストリングを指定してください。 要求をやり直してください。
SQLCODE: -20447
SQLSTATE: 22007
SQ20448
メッセージ・テキスト: TIMESTAMP_FORMATに指定された書式制御ストリングを使用した式が無効です。
原因: TIMESTAMP_FORMAT関数の引数1が,次のいずれかの理由のため, 引数2で指定された書式制御ストリングを使用して解釈できません。
  • ストリング式が短かすぎるか長すぎます。
  • ストリング式は、フォーマット・ストリングに指定されているテンプレートに準拠していません。
  • フォーマット・ストリング内の対応するフォーマット・エレメント用として、ストリング式に指定された桁数が多すぎます。
  • フォーマット・ストリング内の対応するフォーマット・エレメント用の、ストリング式内の値が無効です。
回復手順: 関数に有効な書式制御ストリングを指定してください。 要求をやり直してください。
SQLCODE: -20448
SQLSTATE: 22007
SQ20451
メッセージ・テキスト: 階層的QUERYでサイクルが検出されました。
原因: CONNECT BY文節を使用した階層的QUERYで,CONNECT BY検索条件を使用した結果,自身の直接または間接の親となっている行が見つかりました。
回復手順: 次の1つを実行してください。
  • 循環が予想される場合、CONNECT BY 文節に NOCYCLE キーワードを追加してください。
  • 循環が予想されない場合、CONNECT_BY_ISCYCLE 疑似列を NOCYCLE キーワードと一緒に使用して、直接または間接に自身の祖先となっている行を見つけてください。
SQLCODE: -20451
SQLSTATE: 560CO
SQ20452
メッセージ・テキスト: 階層的 QUERY 構成 &1 が正しく使用されていません。
原因: 次の理由のいずれかのために、&1 構成がその許可されたコンテキストの外部に見つかりました。
  • 構成が START WITH 文節に指定された。
  • 構成が指定された副選択に CONNECT BY 文節がない。
  • PRIOR が CONNECT BY 文節のコンテキストの外部に指定された。
  • CONNECT_BY_ROOT または SYS_CONNECT_BY_PATH の引数は、集約関数にすることも OLAP 仕様にすることもできない。
  • ORDER SIBLINGS BY が指定されているが、QUERY には階層的 QUERY によって提供された部分順序を変更した DISTINCT 文節、GROUP BY 文節、または HAVING 文節がある。
回復手順: 次の変更の1つを行って要求を再試行してください。
  • 構成が LEVEL で、これが階層的 QUERY でない場合、該当の名前の列または変数が存在し、ステートメント用に解決できることを確認してください。
  • &1 を含む副選択に CONNECT BY 文節があることを確認してください。
  • ステートメントから &1 を除去してください。
SQLCODE: -20452
SQLSTATE: 428H4
SQ20454
メッセージ・テキスト: 指定された結合演算が無効です。
原因: 指定された結合操作は、理由コード &1 で無効です。 理由コードとそ の意味は次の通りです。
  • 20 -- USING 文節が指定されていて, 選択リストに T しか入っていない。* ここで、T は結合内の表です。 テーブルTのすべてのカラムがUSING文節に含まれているので,結果テーブルは空です。
回復手順: 少なくとも1つ結果のカラムを戻すように選択リストを変更してください。 要求をやり直してください。
SQLCODE: -20454
SQLSTATE: 428H5
SQ20455
メッセージ・テキスト: テキスト検索索引 &1 は、期限切れの可能性があります。
原因: CONTAINS 関数または SCORE 関数のテキスト検索処理で使用されたテキスト索引 &1 は、期限が切れている可能性があります。
回復手順: 管理ストアード・プロシージャーを実行して,テキスト索引を更新してください。 要求をやり直してください。
SQLCODE: +20455
SQLSTATE: 0168R
SQ20463
メッセージ・テキスト: プロシージャーが関数またはトリガーによって呼び出されたため,結果セットが戻されませんでした。
原因: プロシージャーが関数またはトリガーによって直接または間接に呼び出されたため,結果セットはクライアントに戻されません。
回復手順: 回復処置は不要です。
SQLCODE: +20463
SQLSTATE: 0168U
SQ20467
メッセージ・テキスト: &1 が含まれている式では、定数値を計算する必要があります。
原因: &2 によって使用されている式の結果は、QUERY の単一値でなければなりません。

式に含めることができるのは、定数、特殊レジスター、変数、およびパラメーター・マーカーのみです。 式には,カラム,スカラー全選択,DETERMINISTIC以外の関数,外部アクションがある関数を含めることはできません。

回復手順: 別の式を指定してください。 要求をやり直してください。
SQLCODE: -20467
SQLSTATE: 428H7
SQ20469
メッセージ・テキスト: &2 内のテーブル &1 のアクセス制御が無効です。
原因: &2 内のテーブル &1 の行または列のアクセス制御が活動化できないか、無効です。 理由コードは &3 です。 理由コードは次の通りです。
  • 37 -- テーブル用に定義されている &5 内のトリガー &4 が、セキュアとして定義されていないか、読み取りトリガーです。
  • 38 -- ビューがテーブルに定義されています。 そのビュー用に定義されている &5 内のトリガー &4 が、セキュアとして定義されていません。
  • 39 -- 実体化された QUERY テーブル定義が直接的または間接的に &5 内のユーザー定義関数 &4 を参照していますが、 その関数は、次の条件のいずれかが原因でセキュアとして定義される必要があります。1) 実体化された QUERY テーブルがテーブルに定義されていて、そのテーブルに行または列のアクセス制御がある。 2)実体化されたQUERYテーブルに行またはカラムのアクセス制御がある。 3)関数が行またはカラムのアクセス制御のあるテーブルを直接または間接的に参照している。
回復手順: 理由コードに基づいて,以下のいずれかを実行してください。

37、38 -- &5 内のトリガー &4 を、SECURE キーワードを使用してセキュアに変更してください。

  • 39 -- SECURE キーワードを使用してセキュアにすることで &5 内のユーザー定義関数 &4 を変更してください。 ユーザー定義関数名が*Nの場合,ジョブ・ログを調べて変更が必要な関数を判別してください。
SQLCODE: -20469
SQLSTATE: 55019
SQ20470
メッセージ・テキスト: &3 内の &2 は行および列のアクセス制御に使用できません。
原因: &3 タイプ &1 内の &2 は、&6 タイプ &4 内の &5 が行または列レベルのアクセス制御について依存しているため、次の理由のいずれかにより、作成も変更もできません。
  • ユーザー定義関数は、PERMISSION または MASK で参照される場合、または PERMISSION または MASK が参照するビューで参照される場合は、セキュアである必要がある。
  • トリガーは、活動状態の PERMISSION または MASK があるテーブルで定義されている場合、セキュアである必要がある。
  • トリガーは、活動状態の PERMISSION または MASK があるテーブルに基づくビューで定義されている場合、セキュアである必要がある。
  • 読み取りトリガーは、活動状態の行または列レベルのアクセス制御のあるテーブルに対して定義することはできない。
回復手順: &3 内の &2 が読み取りトリガーである場合、行または列のアクセス制御は非活動状態にしなければなりません。 さもなければ、SECURE キーワードを使用して、&3 内のタイプ &1 の &2 をセキュアとなるように作成または変更してください。
SQLCODE: -20470
SQLSTATE: 428H8
SQ20471
メッセージ・テキスト: INSERTまたはUPDATEが行許可を満たさない。
原因: &2 内の &1 には行アクセス制御が強制されます。 したがって,このテーブルに対して定義された行許可に結果の行が確実に適合するようにするために,このテーブルへの行の挿入や更新の試行はすべてチェックされます。 結果の行が &2 の &1 の 1 つ以上の行許可を満たしていないので、INSERT または UPDATE を行うことができませんでした。
回復手順: 挿入または更新するデータを,行許可用に定義された規則に適合するように変更して ください。
SQLCODE: -20471
SQLSTATE: 22542
SQ20472
メッセージ・テキスト: &1 は、許可またはマスクの名前として使用することはできません。
原因: マスクまたは許可に指定された名前は、理由コード &2 のために使用できません。
  • 3 -- &1 は、QIBM という語で始まっていますが、これは行許可名または列マスク名の最初の 4 文字として許可されていません。
回復手順: 別のマスク名または許可名を選択してください。
SQLCODE: -20472
SQLSTATE: 428H9
SQ20473
メッセージ・テキスト: 列 &3 は、関数 &1 の引数として使用することはできません。
原因: &2 内の関数 &1 はセキュアでなく、列 &3 には活動状態で有効な列マスクがあります。 保護されていない関数の入力引数は,活動状態のカラムのアクセス制御のあるテーブルで使用可能なマスクを持つカラムを参照することはできません。
回復手順: &2 内の関数 &1 を SECURE に変更してください。 要求をやり直してください。
SQLCODE: -20473
SQLSTATE: 428HA
SQ20474
メッセージ・テキスト: &8 内の許可またはマスク &7 が無効です。
原因: &8 内の許可またはマスク &7 が、理由コード &4 で説明されているように、直接的または間接的に次の 1 つを参照しているため、要求された操作は失敗しました。
  • 1 -- 行許可または列マスクが定義されようとしているテーブル。 定義は &2 内のタイプ *&3 の &1 を参照しているか、&2 内の &1 について定義されている &6 内のビューまたは別名 &5 を参照しています。
  • 3 -- &6 内のセキュアでないユーザー定義関数 &5。
  • 4 -- &6 内の決定論的でないものとして定義されているか、外部アクションを持つように定義されている関数 &5。 許可またはマスクが定義されているテーブルを関数が参照している場合, 関数をRRN,RID,HASHED_VALUE,DATAPARTITIONNAME,DATAPARTITIONNUM,DBPARTITIONNAME,DBPARTITIONNUMにすることはできません。
  • 5 -- OLAP 仕様。
  • 7 -- ROW CHANGE 式。
  • 8 -- 順序参照。
  • 9 -- 宣言されたグローバル一時テーブル、QTEMP 内のテーブル、読み取りトリガーを持つファイル、または分散ファイル。
  • 11 -- A * または name.* SELECT 文節内。
  • 35 -- NOT NULLとして定義されたカラムについてNULLをマスクで戻すことはできません。
  • 53 -- &6 内の、メンバー別名であるテーブル &5。

この失敗は、次のいずれかの操作を行おうとしたときに発生することがあります。

  • &8 内の &7 の CREATE MASK または CREATE PERMISSION。
  • &8 内のタイプ &9 の &7 によって使用される関数の CREATE FUNCTION または ALTER FUNCTION。
  • &2 内の &1 の ALTER TABLE。
  • &8 内の &7 の ALTER MASK または ALTER PERMISSION。
  • &2 内の &1 に定義されたマスクまたは許可の ALTER MASK、ALTER PERMISSION、DROP MASK、または DROP PERMISSION。
  • &2 内の &1 に定義された追加のマスクまたは許可の CREATE MASK または CREATE PERMISSION。
  • &2 内のテーブル &1 を使用するすべての操作。
回復手順: 問題を訂正してください。 要求をやり直してください。
SQLCODE: -20474
SQLSTATE: 428HB
SQ20475
メッセージ・テキスト: 列 &5 にはマスクがすでに定義されています。
原因: 列 &5 には、&2 内の列マスク &1 が現在定義されています。 1つのカラムにはカラム・マスクを1つしか定義できません。
回復手順: この列マスクを別の列に定義するか、&2 内の列マスク &1 を除去してください。その後で要求をやり直してください。
SQLCODE: -20475
SQLSTATE: 428HC
SQ20476
メッセージ・テキスト: 関数 &1 のフォーマット・ストリングが無効です。
原因: 関数 &1 に指定されているフォーマット・ストリング &2 は無効です。 書式制御ストリングは,次のようになっている必要があります。
  • 実際の長さが 254 バイト以下である。
  • サポートされる書式要素のみが含まれている。
  • 結果として生成されるストリングの実際の長さが、結果の長さ属性以下である。
回復手順: 関数の書式制御ストリングを変更してください。
SQLCODE: -20476
SQLSTATE: 22018
SQ20477
メッセージ・テキスト: 関数 &1 で、フォーマット・ストリングを使用してストリング式を解釈できません。
原因: 関数 &1 に指定されているフォーマット・ストリングを使用してストリング式を解釈できません。 ストリング式は &3 です。 フォーマット・ストリングは &2 です。 次のいずれかが起こっています。
  • ストリング式がフォーマット・ストリングに対して長すぎます。
  • ストリング式は、フォーマット・ストリングに指定されているテンプレートに準拠していません。 例えば,ストリング式の桁数が,書式制御ストリングの対応する書式要素よりも多い場合や, ストリング式内の値が書式制御ストリング内の対応する書式要素で無効である場合が考えられます。
回復手順: 関数の書式制御ストリングまたはストリング式を有効な値に変更してください。
SQLCODE: -20477
SQLSTATE: 22018
SQ20478
メッセージ・テキスト: 行またはカラムのアクセス制御が無効である。
原因: &2 内の行許可または列マスク &1 によって指定された行または列のアクセス制御が理由コード &4 のために QUERY には無効です。 理由コードとその意味は次の通りです。
  • 20 -- 結果テーブルが再帰的共通テーブル式から派生し、再帰的共通テーブル式の全選択に列 &3 が指定されています。 列マスクは、列 &3 には適用できません。
  • 30 -- 挿入操作または更新操作で、列 &3 に対して &2 内の列マスク &1 から戻された、マスクされた値を使用しています。 マスクされた値を戻すために使用される列マスク定義の THEN 文節または ELSE 文節に指定された式が、列 &3 の直接参照ではありません。
  • 51 -- 分散テーブルは、活動状態の許可またはマスクのあるテーブルも参照する QUERY では参照できません。
  • 52 -- 読み取りトリガーのあるテーブルは、活動状態の許可またはマスクのあるテーブルも参照する QUERY では参照できません。
回復手順:

INSERT および UPDATE の場合、マスクから戻される値は、列そのものへの直接参照とする必要があります。

正しくない参照を除去して、要求をやり直してください。

SQLCODE: -20478
SQLSTATE: 428HD
SQ20479
メッセージ・テキスト: &2 タイプ *&4 内ののオブジェクト &1 は、除去することも変更することもできません。
原因: &2 内の &1 は、&6 内の行または列のアクセス制御 &5 に組み込まれているため、指定どおりに除去することも変更することもできません。 障害について詳しくは、理由コード &3 を参照してください。
  • 1 -- &6 タイプ &7 内の従属オブジェクト &5 は列 &8 を参照しています。
  • 2 -- ステートメントに関連する許可 ID は、QIBM_DB_SECADM 関数に対する権限を持っていません。
  • 3 -- &2 タイプ *&4 内のの &1 は、行または列のアクセス制御で定義されています。 &6 内の &5 を再生成しようとしましたが、失敗しました。
回復手順: 理由コードに基づいて次の1つを実行してください。
  • 1 -- &6 タイプ &7 内の従属オブジェクト &5 を除去して、要求をやり直してください。
  • 2 -- データベース・セキュリティー管理者機能に対する権限を持つユーザー・プロファイルを使用して、操作を実行してください。 これは、 Navigator for iのApplication Administration、またはファンクションIDがQIBM_DB_SECADMのChange Function Usage Information(CHGFCNUSG)コマンドで取得できます。
  • 3 -- 障害の原因について前にリストされたジョブ・ログのメッセージを参照し、問題を訂正して、要求をやり直してください。
SQLCODE: -20479
SQLSTATE: 42917
SQ20481
メッセージ・テキスト: &2のテーブル,ビュー,または関数&1がそれ自身を参照している。
原因: &2で関数&1の作成または呼び出しを試行したか,あるいは&2内のテーブルまたはビュー&1の定義を置き換えようとしました。 操作は、理由 &3 のために失敗しました。 理由コードは次の通りです。
  • 1 -- &2 内の &1 の新規ビュー定義にそれ自身に対する参照が含まれています。 この循環自己参照は、定義内で明示的に生じることも、&1 を明示的または暗黙的に参照する別のビューへの参照によって暗黙的に生じることもあります。
  • 1 -- &2 内の関数 &1 のそのデフォルト式にそれ自身に対する参照が含まれています。 これは、&1 を参照する別の関数の呼び出しによって発生することがあります。
  • 3 -- &2内の&1のCREATE OR REPLACE TABLEに,自身の参照,あるいは従属ビュー,実体化されたQUERYテーブル,または別名の参照が含まれます。
回復手順: オブジェクト定義から循環自己参照を除去して,要求を再試行してください。
SQLCODE: -20481
SQLSTATE: 429C3
SQ20483
メッセージ・テキスト: ルーチン &2 の名前付き引数 &1 が理由コード &4 のために無効です。
原因: パラメーター &1 の名前付き引数が理由コード &4 のために無効です。
  • 1 -- CALL ステートメントまたは関数呼び出しに名前付き引数 &1 が含まれていますが、その引数がスキーマ &3 内のルーチン &2 には存在しません。
  • 2 -- CALL ステートメントまたは関数呼び出しに名前付き引数 &1 が含まれていますが、この引数の後に 1 つ以上の名前のない引数が続いています。 名前付き引数に続く引数のすべてにも名前が必要です。
  • 3 -- CALL ステートメントまたは関数呼び出しが名前付き引数 &1 を明示的または暗黙的に複数回指定しています。
  • 4 -- CALL ステートメントが名前付き引数 &1 を指定していますが、&3 内のルーチン &2 が見つかりません。 名前付き引数は,CREATE PROCEDUREステートメントで定義されたプロシージャーの場合にのみサポートされます。
  • 5 -- &3 内の &2 の関数呼び出しで名前付き引数 &1 を指定しましたが、対応するパラメーターの順序位置が少なくとも 2 つの候補関数で異なっています。
回復手順: 有効な名前付きパラメーターを使用するように,プロシージャーまたは関数の呼び出しを変更してください。 要求をやり直してください。
SQLCODE: -20483
SQLSTATE: 4274K
SQ20484
メッセージ・テキスト: &2 内のルーチン &1 にはパラメーター &3 が必要です。
原因: 名前付きパラメーターで指定されたスキーマ &2 内のルーチン &1 に対する CALL ステートメントが無効です。 デフォルト値がないため、呼び出しステートメントにパラメーター &3 を指定する必要があります。
回復手順: パラメーター &3 に値を指定してください。 要求をやり直してください。
SQLCODE: -20484
SQLSTATE: 428HF
SQ20489
メッセージ・テキスト: 索引 &1 は、すべての区画にまたがるエンコードされたベクトル索引とすることはできません。
原因: 索引 &1 をエンコードされたベクトル索引として作成しようとしましたが、 パーティション・テーブルのすべてのパーティションにまたがっています。 エンコードされたベクトル索引は,区分テーブルの単一区分または非区分テーブル上にしか作成できません。
回復手順: CREATE INDEXステートメントを変更し,NOT PARTITIONED文節またはENCODED VECTOR文節のいずれかを取り除いてください。 要求をやり直してください。
SQLCODE: -20489
SQLSTATE: 42929
SQ20490
メッセージ・テキスト: &2のテーブル&1は,システム期間一時テーブルとして定義できない。
原因: &2のテーブル&1は,システム期間一時テーブルに変更できません。 理由コードは &3 です。
  • 1 -- テーブルは,既にシステム期間一時テーブルまたはヒストリー・テーブルです。
  • 2 -- テーブルにはSYSTEM_TIME期間が定義されていないか,トランザクション開始IDカラムがありません。
  • 3 -- このテーブルは実体化QUERYテーブルまたは分散テーブルです。
  • 6 -- このテーブルまたは関連ヒストリー・テーブルでNOT LOGGED INITIALLY属性が活動化されています。
  • 10 -- このテーブルにはROWIDカラムまたはFILE LINK CONTROLが指定されたDATALINKカラムが含まれています。
回復手順: システム期間一時テーブルとして使用されるようにテーブルの定義を修正してください。 要求をやり直してください。
SQLCODE: -20490
SQLSTATE: 428HM
SQ20491
メッセージ・テキスト: 期間&1は無効。
原因: &1の期間定義が無効です。 理由コードは&2です。
  • 1 -- 開始カラムと終了カラムを同じカラムにすることはできません。
  • 6 -- 開始カラムは,行開始カラムとして定義する必要があります。終了カラムは,行終了カラムとして定義する必要があります。
回復手順: 期間の定義で使用されるカラムを修正してください。
SQLCODE: -20491
SQLSTATE: 428HN
SQ20499
メッセージ・テキスト: データ・タイプ & 1 は、& 2 述部の有効なオペランドではありません。
原因: & 2 述部では、データ・タイプ & 1 のオペランドは許可されません。

ブール述部の場合、オペランドはブール・データ・タイプ、またはブール・データ・タイプにキャストできるデータ・タイプでなければなりません。

回復手順: 別のオペランドを指定するか,別の述部を使用してください。
SQLCODE: -20499
SQLSTATE: 428HQ
SQ20523
メッセージ・テキスト: &2のテーブル&1はヒストリー・テーブルとして使用できない。
原因: &2のテーブル&1は,システム期間一時テーブルのヒストリー・テーブルとして定義できません。 理由コードは &3 です。
  • 1 -- このテーブルは、システム期間一時テーブル、ヒストリー・テーブル、ビュー、宣言されたグローバル一時テーブル、実体化された QUERY テーブル、分散テーブルであるか、DDS を使用して作成されました。
  • 4 -- 生成カラムとして定義されたカラムがテーブルにあります。
  • 5 -- テーブルに期間が定義されています。
  • 6 -- テーブルは,参照制約の一部であるか,基本制約または固有制約を持ちます。
  • 7 -- システム期間一時テーブルとヒストリー・テーブルのカラム数が同じではありません。
  • 10 -- システム期間一時テーブルとヒストリー・テーブルの対応するカラムは,名前,データ・タイプ,長さ,精度,位取り,CCSID, FOR XXX DATA,ヌル属性,非表示属性,およびフィールド・プロシージャーが同一でなければなりません。
  • 12 -- テーブルに、定義された BEFORE INSERTトリガーまたは定義された BEFORE UPDATE トリガーがあります。
  • 13 -- テンポラル表と履歴表の両方を複製する必要があります。そうしないと、どちらの表も複製できません。
回復手順: ヒストリー・テーブルとして適格になるようにテーブル&1を変更するか,別のテーブルを指定してください。
SQLCODE: -20523
SQLSTATE: 428HX
SQ20524
メッセージ・テキスト: 期間指定が無効。
原因: FOR SYSTEM_TIME期間指定,またはCURRENT TEMPORAL SYSTEM_TIME特殊レジスターを設定するための期間文節が,期間&2で無効です。 理由コードは &1 です。
  • 1 -- FOR SYSTEM_TIMEの期間が,ビューの定義で指定されるとともに,そのビューを参照するQUERYで明示的または暗黙的に指定されました。
  • 2 -- FOR SYSTEM_TIMEの期間がFROM文節で指定されましたが,テーブルはビューでもシステム期間一時テーブルでもありません。
  • 3 -- 式は無効です。 式の結果はTIMESTAMP(12)と整合性がなければなりません。 式は,カラム参照,スカラー全選択,DETERMINISTIC以外の関数,外部アクションがある関数,またはSQLデータを修正する関数を含むことができません。
  • 4 -- NO SQL以外の外部関数,またはインライン対応でないSQL関数がビュー定義に含まれるビューに,期間指定または期間文節が指定されました。
  • 6 -- FOR SYSTEM_TIME文節が指定されましたが,CURRENT TEMPORAL SYSTEM_TIME特殊レジスターの値がヌルではなく,SYSTIMEオプションがYESに設定されています。
回復手順: 期間指定または期間文節を修正してください。 期間指定がFROM文節に含まれる場合は,CURRENT TEMPORAL SYSTEM_TIME特殊レジスターをヌル値に設定してください。
SQLCODE: -20524
SQLSTATE: 428HY, 428HY
SQ20525
メッセージ・テキスト: &2のテーブル&1の操作は許可されていない。
原因: 指定された操作に&2のテーブル&1は使用できません。 理由コードは &3 です。
  • 1 -- ヒストリー・テーブルに期間を追加することはできません。
  • 2 -- システム期間一時テーブルから期間を除去することはできません。
  • 4 -- システム期間一時テーブルではないテーブルについてバージョン管理を除去することはできません。
  • 9 -- システム期間一時テーブルを切り捨てることはできません。
  • 11 -- 親テーブルまたは子テーブルのいずれかがヒストリー・テーブルである参照制約を定義することはできません。 ヒストリー・テーブルに基本制約または固有制約は定義できません。
  • 12 -- システム期間一時テーブルから区分を切り離すことはできません。
  • 13 -- ヒストリー・テーブルにカラムを追加することはできません。
  • 16 -- 生成されたカラム,ROWIDカラム,またはFILE LINK CONTROLが指定されたDATALINKカラムをシステム期間一時テーブルに追加することはできません。
  • 17 -- ACTIVATE NOT LOGGED INITIALLYを指定することはできません。
  • 21 -- OR REPLACEオプションが指定されたCREATE TABLEはシステム期間一時テーブルまたはヒストリー・テーブルを参照できません。
  • 22 -- システム期間一時テーブルの ALTER TABLE ステートメントが、削除規則 CASCADE、SET DEFAULT、または SET NULL を使用した参照制約を定義しようとしました。
回復手順: システム期間一時テーブルからバージョン管理を除去してから,ヒストリー・テーブルまたはシステム期間一時テーブルに変更を実行してください。
SQLCODE: -20525
SQLSTATE: 428HZ
SQ20527
メッセージ・テキスト: 期間&1は定義されていない。
原因: &3のテーブル&2の期間&1は存在しません。
回復手順: テーブルに定義されている期間名を指定してください。
SQLCODE: -20527
SQLSTATE: 4274M
SQ20528
メッセージ・テキスト: &2のシステム期間一時テーブル&1のデータ変更操作を実行できない。
原因: &2のテーブル&1は,期間&3のシステム期間一時テーブルです。 関連付けられたヒストリー・テーブルの行開始値と行終了値の順序が正しくないため,要求されたデータ変更操作は実行できません。 2つのトランザクションが同一行にデータ変更操作を実行している場合に,この状況が発生する可能性があります。
回復手順: 1つの行の変更は1つのトランザクションだけが行うようにしてください。 ステートメントを再試行してください。

行開始値と行終了値のシステム調整を可能にするには,SYSTIME_PERIOD_ADJ INIオプションの値が*ADJUSTになるように設定してください。

SQLCODE: +20528, -20528
SQLSTATE: 01695, 57062
SQ20529
メッセージ・テキスト: WRAP関数またはCREATE_WRAPPEDプロシージャーの引数が無効です。
原因: WRAP関数またはCREATE_WRAPPEDプロシージャーの引数が有効なSQL ステートメントではありません。 有効なステートメントは,次の通りです。
  • CREATE FUNCTION (SQL)
  • CREATE PROCEDURE (SQL)
  • CREATE TRIGGER

引数がこれらのステートメントの 1 つである場合、既に折り返され、WRAPPED キーワードの直後に続くトークンがサポートされるアプリケーション・サーバー値でないと、その引数は無効です。

回復手順: WRAP関数またはCREATE_WRAPPEDプロシージャーへの引数が有効なステートメントであるかを確認してください。 ステートメントが既に別のアプリケーション・サーバーによって折り返されている場合,そのステートメントはDB2 FOR Iを使用して処理することはできません。
SQLCODE: -20529
SQLSTATE: 5UA0O
SQ20530
メッセージ・テキスト: 難読化されたステートメントが無効です。 理由コードは &1 です。
原因: WRAPPED文節が含まれるSQLステートメントの処理でエラーが起こりました。 理由コードは &1 です。 理由コードとそ の意味は次の通りです。
  • 1 -- サポートされていないプラットフォームまたはバージョンでステートメントが折り返されました。
  • 2 -- ステートメントの難読化部分が壊れています。
回復手順: ステートメントがサポートされるプラットフォームで折り返されていること,およびステートメントの難読化された部分が変更されていないことを確認してください。
SQLCODE: -20530
SQLSTATE: 42638
SQ20535
メッセージ・テキスト: &3のテーブル&2に&1は許可されていない。
原因: &3のテーブル&2は&1に使用できません。 操作のターゲットが一時テーブルを参照し,期間指定が指定されたため,データ変更操作はサポートされません。 期間指定が,特殊レジスター&4を使用して暗黙的に指定されたか,ターゲットとして指定された全選択で明示的に指定されました。 理由コードは &5 です。
  • 1 -- CURRENT TEMPORAL SYSTEM_TIME特殊レジスターが非 NULL 値を含み,データ変更操作のターゲットが(直接的または間接的に)システム期間一時テーブルです。 期間指定が有効な場合,システム期間一時テーブルのデータは変更できません。
回復手順: CURRENT TEMPORAL SYSTEM_TIME特殊レジスターをヌル値に設定し,データ変更操作を再試行してください。 CURRENT TEMPORAL SYSTEM_TIME特殊レジスターの設定に依存しないプログラムにステートメントが含まれる場合,プリコンパイル・コマンドでSYSTIMEオプションをNOに設定してください。
SQLCODE: -20535
SQLSTATE: 51046
SQ20538
メッセージ・テキスト: &4 内の &3 に対する行および列のアクセス制御を変更する必要があります。
原因: &4内の&3によって参照される&2内の&1で行およびカラムのアクセス制御が変更されました。 &1がシステム期間一時テーブルである場合,&3はそのヒストリー・テーブルです。 それ以外の場合,&3は&1を参照する実体化されたQUERYテーブルです。
回復手順: 場合によっては,&4内のテーブル&3の行およびカラムのアクセス制御定義に対して比較可能な変更を行う必要があります。
SQLCODE: +20538
SQLSTATE: 01698
SQ20539
メッセージ・テキスト: 負の値またはヌル値は許可されません。
原因: OFFSET文節,FETCH FIRST文節,またはLIMIT文節で指定された行カウント値が負数またはヌル値を戻しました。
回復手順: 受け入れられる値を指定して,要求を再試行してください。
SQLCODE: -20539
SQLSTATE: 2201W, 2201X
SQ20547
メッセージ・テキスト: &2 内の変数 &1 は読み取り専用です。
原因: &2 内の変数 &1 を割り当てステートメントのターゲットとして使用しようとしましたが、&2 内の &1 は読み取り専用グローバル変数であるため失敗しました。
回復手順: ステートメントを変更して,別の変数を使用してください。 要求をやり直してください。
SQLCODE: -20547
SQLSTATE: 428I3
SQ20556
メッセージ・テキスト: スカラー関数から複数の結果を戻すことはできません。
原因: SQLステートメントは,組み込み関数&1を呼び出し,2番目の引数で検索パスを渡しました。 3番目の引数で,配列値を返さないことを示す'NA'ディレクティブも渡されました。 しかし,少なくとも1つの文書で,検索パスによって識別されたフィールドに配列要素が含まれていました。
回復手順: 配列を含まない検索パスに変更するか,検索に配列値を含めることを示すように3番目の引数を変更してください。 要求をやり直してください。
SQLCODE: -20556
SQLSTATE: 22547
SQ20558
メッセージ・テキスト: 関数&2の正規表現ストリングが無効。
原因: 関数&2の&4で始まる正規表現ストリングが無効です。 位置は&3です。 理由コードは &1 です。 理由コードとその説明は次の通りです。
  • 1 -- 正規表現パターンに構文エラーがあります。
  • 2 -- 認識されないバックスラッシュ・エスケープ・シーケンスがパターンにあります。
  • 3 -- ユニコードのプロパティー名が正しくありません。
  • 4 -- サポートされない正規表現機能を使用しています。
  • 5 -- 正規表現パターンで括弧のネストが正しくありません。
  • 6 -- 10進数が大きすぎます。
  • 7 -- {MIN,MAX}間隔にエラーがあります。
  • 8 -- {MIN,MAX}間隔で,最大が最小より小さくなっています。
  • 9 -- 存在しないキャプチャー・グループへの逆参照が行われます。
  • 10 -- LOOK-BEHINDパターン・マッチには,最大長の限界が必要です。
  • 11 -- 正規表現に,ストリングが入ったUNICODESETSを含めることはできません。
  • 12 -- 8進数の文字定数は,0377以下でなければなりません。
  • 13 -- 大括弧式に右大括弧がありません。
  • 14 -- 文字範囲[X-Y]で,XがYより大きくなっています。
  • 15 -- 未指定エラー。
回復手順: 関数&2で使用された正規表現の引数を修正してください。 要求をやり直してください。
SQLCODE: -20558
SQLSTATE: 2201S
SQ20565
メッセージ・テキスト: 2 のグローバル変数 &1 の値が無効です。
原因: 内蔵グローバル変数 &2 の &1 への代入に指定された値は許可されません。
回復手順: この変数でサポートされている代入の値を指定する。
SQLCODE: -20565
SQLSTATE: 42815
SQ20584
メッセージ・テキスト: 2 のテーブル &1 に対してデフォルトは許可されません。
原因: 2 のテーブル &1 の少なくとも 1 つの列に DEFAULT 値が指定されました。 この値は、明示的に提供されたか、拡張インジケータ値として指定されたか、挿入または更新操作からカラムが省略されることによって暗黙的に要求されたかのいずれかである。

REPLICATION_OVERRIDEグローバル変数がYに設定されている場合、デフォルトはサポートされない。

回復手順: INSERT、UPDATE、またはMERGE文のすべての列に値を指定します。
SQLCODE: -20584
SQLSTATE: 22005
SQ30000
メッセージ・テキスト: 分散リレーショナル・データベース・アーキテクチャー(DRDA)プロトコル・エラー。
原因: 後続のコマンドまたはSQLステートメントには影響しない分散プロトコル・エラーのために,コマンドまたはSQLステートメントが失敗しました。 プロトコル・エラーは &1 で、 ロケーション・コードは &2 です。

ロケーション・コードは次のとおりです。

  • '01'X -- アプリケーション要求元でエラーが検出された。
  • '02'X -- このエラーはアプリケーション・サーバーで検出された。

考えられるプロトコル・エラーのリストは次のとおりです。

  • '121C'X -- コマンドに対して認可されていない。
  • '1245'X -- 会話プロトコル・エラー。 エラー・コードは &3 です。
  • '124C'X -- データ・ストリーム構文エラー。 エラー・コードは &3 です。
  • '1254'X -- 予期しないエラー状態。 エラー・コードは &3 です。
  • '125F'X -- アプリケーション・サーバーが要求された機能をサポートしていません。
  • '2202'X -- カーソルがオープンされていない。
  • '2204'X -- リレーショナル・データベースが接続されていない。
  • '2207'X -- リレーショナル・データベースがすでに接続されている。
  • '220A'X -- データ記述子が正しくない。 エラー・コードは &3 です。
  • '220E'X -- データ記述子がデータと一致しない。
  • '220F'X -- カーソルがすでにオープンされている。
  • '221D'X -- コマンドが会話タイプには無効。

プロトコル・エラーがこのリストにない場合には、「DDM Architecture Reference」の DDM コード・ポイント &1 を参照してください。

回復手順: プロトコル・エラーが'121C'Xの場合には,アプリケーション・サーバーでこのコマンドまたはSQLステートメントを使用するために必要な許可を取得してください。 プロトコル・エラーが'121C'X以外の場合には,問題分析(ANZPRB)を使用して問題を報告してください。
SQLCODE: -30000
SQLSTATE: 58008
SQ30001
メッセージ・テキスト: 分散SQLプログラムの呼び出しを行うことはできない。
原因: リモート・コマンド投入(SBMRMTCMD)を使用して,分散データ管理機能 (DDM)のターゲット・ジョブから分散SQLプログラムを呼び出そうとしました。
回復手順: SQLプログラムはDDMターゲット・ジョブでないジョブから呼び出 してください。
SQLCODE: -30001
SQLSTATE: 57042
SQ30020
メッセージ・テキスト: 分散リレーショナル・データベース・アーキテクチャー(DRDA)プロトコル・エラー。
原因: 後続のSQLステートメントまたはコマンドに影響する配布プロトコル・エラーのために,コマンドまたはSQLステートメントが正常に実行されませんでした。 アプリケーションが打ち切られ,処理は接続されていない状態です。 プロトコル・エラーは &1 で、 ロケーション・コードは &2 です。

ロケーション・コードは次のとおりです。

  • '01'X -- アプリケーション要求元でエラーが検出された。
  • '02'X -- このエラーはアプリケーション・サーバーで検出された。

考えられるプロトコル・エラーのリストは次のとおりです。

  • '1218'X -- 要求された機能はサポートされていない。 エラー・コードは &3 です。
  • '1232'X -- 予期しない永続エラー。
  • '1245'X -- 会話プロトコル・エラー。 エラー・コードは &3 です。
  • '1254'X -- 予期しないエラー状態。 エラー・コードは &3 です。

プロトコル・エラーがこのリストにない場合には、「DDM Architecture Reference」の DDM コード・ポイント &1 を参照してください。

回復手順: 問題分析(ANZPRB)を使用して問題を報告してください。
SQLCODE: -30020
SQLSTATE: 58009
SQ30021
メッセージ・テキスト: 分散リレーショナル・データベースはリモート・システムでサ ポートされていない。
原因: 分散リレーショナル・データベース・アーキテクチャー(DRDA)をサポートしていない分散データ管理機能(DDM)サーバーに接続しようとしました。

リモート・システムでは、DDM 管理機能クラスは管理機能レベル &2 の &1 です。

回復手順: プログラムを変更して,DRDAをサポートするリレーショナル・デー タベースに接続してください。
SQLCODE: -30021
SQLSTATE: 58010
SQ30040
メッセージ・テキスト: リレーショナル・データベース &1 の DRDA 資源は使用可能でない。
原因: 分散リレーショナル・データベース体系(DRDA)資源が使用できないため,SQLステートメントまたはコマンドが失敗しました。後続のコマンドおよびSQLステートメントには影響がありません。

DRDA リソース &2 は、ロケーション・コード &3 のリレーショナル・データベース &1 で使用する ことができません。

リソース・コードは次のとおりです。

  • '1409'X -- 通信バッファー。
  • '1410'X -- ローカル・ビルド・スペース。
  • '1411'X -- 診断領域。
  • '1412'X -- ローカル・ビルド・スペース。
  • '1413'X -- LOB ビルド・スペース。
  • '1414'X --プール・スペース。

ロケーション・コードは次のとおりです。

  • '01'X -- アプリケーション要求元。
  • '02'X -- アプリケーション・サーバー。
回復手順: DRDA資源を解放して,要求をやり直してください。
SQLCODE: -30040
SQLSTATE: 57012
SQ30041
メッセージ・テキスト: リレーショナル・データベース &1 の DRDA 資源は使用可能でない。
原因: 分散リレーショナル・データベース体系(DRDA)資源が使用できないため,SQLステートメントまたはコマンドが失敗しました。後続のコマンドおよびSQLステートメントに影響があります。 アプリケーションが打ち切られ,処理は接続されていない状態です。

DRDA リソース &2 は、ロケーション・コード &3 のリレーショナル・データベース &1 で使用する ことができません。

リソース・コードは次のとおりです。

  • '1409'X -- 通信バッファー。
  • '1410'X -- ローカル・ビルド・スペース。
  • '1411'X -- 診断領域。
  • '1412'X -- ローカル・ビルド・スペース。
  • '1413'X -- LOB ビルド・スペース。
  • '1414'X --プール・スペース。

ロケーション・コードは次のとおりです。

  • '01'X -- アプリケーション要求元。
  • '02'X -- アプリケーション・サーバー。
回復手順: DRDA資源を解放して,要求をやり直してください。
SQLCODE: -30041
SQLSTATE: 57013
SQ30050
メッセージ・テキスト: BIND 処理の進行中は、DDM コマンド &1 は正しくない。
原因: 分散データ管理機能 (DDM) コマンド &1 を実行しようとしました。 この コマンドは,BIND処理の進行中には正しくありません。
回復手順: 問題分析(ANZPRB)コマンドを使用して,この問題を報告してくださ い。
SQLCODE: -30050
SQLSTATE: 58011
SQ30051
メッセージ・テキスト: 指定されたパッケージ名と一貫性トークンのBIND処理は活動 状態になっていない。
原因: 活動状態になっていないBIND処理に対してBNDSQLSTTまたはENDBND 分散データ管理機能(DDM)コマンドを実行しようとしました。
回復手順: 問題分析(ANZPRB)コマンドを使用して,この問題を報告してくださ い。
SQLCODE: -30051
SQLSTATE: 58012
SQ30052
メッセージ・テキスト: プログラムの準備完了という仮定は正しくない。
原因: アプリケーション要求元がSQLステートメントを理解せず,すべてのホスト変数 が入力されたと見なしましたが,この仮定は正しくありませんでした。
回復手順: 認識されなかった すべてのSQLステートメントを調べるためには,CRTSQLXXX(ここで,XXX=CBL, PKG, PLI, RPG, CI, CPPI, RPGI,またはCBLI) リストを参照してください。 出力ホスト変数を含む認識されないすべてのSQLステート メントを除去してください。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -30052
SQLSTATE: 42932
SQ30053
メッセージ・テキスト: 所有者 &1 のパッケージの作成は認可されていない。
原因: ユーザーは所有者 &1 として認可されていないので、パッケージの作成 が正常に実行されませんでした。
回復手順: &1 に必要な認可をもらって、やり直してください。
SQLCODE: -30053
SQLSTATE: 42506
SQ30060
メッセージ・テキスト: ユーザーにはリレーショナル・データベース &1 が認可されていません。
原因: リレーショナル・データベース &1 が DB2 for IBM i である場合には、ユーザー出口プログラムがユーザーに対してアクセスを否認したか、あるいはユーザー出口プログラムで障害が起こりました。
回復手順: リレーショナル・データベース &1 への認可を獲得して、要求をやり直してください。
SQLCODE: -30060
SQLSTATE: 08004
SQ30061
メッセージ・テキスト: リレーショナル・データベース &1 が見つかりません。
原因: リレーショナル・データベース &1 がリレーショナル・データベース・ディレクトリーの中にないか、またはリモート・ロケーションで定義されたかのいずれかです。
回復手順: 次の1つを実行してください。
  • リレーショナル・データベース・ディレクトリー項目追加 (ADDRDBDIRE) コマンドを使用して、リレーショナル・データベース名をリレーショナル・データベース・ディレクトリーに追加する。
  • リレーショナル・データベースの名を、リレーショナル・データベース・ディレクトリー項目と一致するように変更する。
  • リレーショナル・データベース名がリモート・ロケーションで定義されたことを検証する。
SQLCODE: -30061
SQLSTATE: 08004
SQ30070
メッセージ・テキスト: 分散データ管理機能 (DDM) コマンド &1 はサポートされていない。
原因: リモート・システムはこの DDM コマンド &1 をサポートしていません。

DDM コマンドが '2012'X の場合には、リモート・システムは SQL DESCRIBE TABLE ステートメントをサポートしません。 DDMコマンドが'2012'X以外の場合には,DDMアーキテクチャー解説書を参して,サポートされていないコマンドを調べてください。 DDM コマンドのリストについては、 IBM i ドキュメント https://www.ibm.com/docs/en/i のデータベースカテゴリの分散データベースプログラミングトピックコレクションの参考文献のアーキテクチャブックのセクションを参照してください。

回復手順: プログラムからSQLステートメントを除去して,プログラムのプリコンパイルを実行してください。
SQLCODE: -30070
SQLSTATE: 58014
SQ30071
メッセージ・テキスト: 分散データ管理機能 (DDM) オブジェクト &1 はサポートされていない。
原因: DDM オブジェクト &1 はサポートされていません。
回復手順: 詳細については,前のメッセージを参照してください。 コード・ポイント &1 の詳細については、「DDM Architecture Reference」を参照してください。
SQLCODE: -30071
SQLSTATE: 58015
SQ30072
メッセージ・テキスト: 分散データ管理機能 (DDM) パラメーター &1 はサポートされていない。
原因: DDM パラメーター &1 はサポートされていません。 ロケーション・コードは &2 で、エラー・コードは &3 です。

ロケーション・コードは次のとおりです。

  • '01'X -- アプリケーション要求元でエラーが検出された。
  • '02'X -- このエラーはアプリケーション・サーバーで検出された。
回復手順: 詳細については,前のメッセージを参照してください。 DDM パラメ ーター &1 の詳細については、「DDM Architecture Reference」を参照してください。
SQLCODE: -30072
SQLSTATE: 58016
SQ30073
メッセージ・テキスト: 分散データ管理機能 (DDM) パラメーター値 &1 はサポートされていない。
原因: DDM パラメーター値 &1 はサポートされていません。 ロケーション・コードは &2 で、エラー・コードは &3 です。

ロケーション・コードは次のとおりです。

  • '01'X -- アプリケーション要求元でエラーが検出された。
  • '02'X -- このエラーはアプリケーション・サーバーで検出された。

考えられる DDM パラメーター値のリストは次の通りです。

  • '0035'X -- SBCS CCSID がサポートされていない。
  • '119C'X -- SBCS CCSID がサポートされていない。
  • '2112'X -- スキーマ名またはパッケージ名が、アプリケーション・サーバーでサポートされている最大より長い。
  • '2120'X -- ストリング区切り文字がサポートされていない。
  • '2121'X -- 10 進数区切り文字がサポートされていない。
  • '2128'X -- スキーマ名がアプリケーション・サーバーでサポートされている最大より長い。
  • '2131'X -- ユーザー識別コードが、アプリケーション・サーバーでサポートされている最大より長い。

&1 が上のリストにない場合には、サポートされていないパラメーター値について「DDM Architecture Reference」を参照してください。

回復手順: 詳細については,前のメッセージを参照してください。 アプリケーション・サーバーによってサポートされている値を送信するためにジョブまたはSQLを変更して, 再試行してください。
SQLCODE: -30073
SQLSTATE: 58017
SQ30074
メッセージ・テキスト: 分散データ管理機能 (DDM) 応答メッセージ &1 はサポートされていない。
原因: DDM 応答メッセージ &1 はサポートされていません。
回復手順: 詳細については,前のメッセージを参照してください。 コード・ポイント &1 の詳細については、「DDM Architecture Reference」を参照してください。
SQLCODE: -30074
SQLSTATE: 58018
SQ30080
メッセージ・テキスト: 分散データベースの処理時に通信エラーが起こった。
原因: 通信エラーが起こりました。 考えられる理 由は次の通りです。
  • リモート・システムが使用可能になっていない。
  • 通信ネットワークが利用不能である。
  • 接続の開始に使用されたユーザー識別コードがリモート・システムに存在しない。
  • リモートシステムは、ユーザーIDとパスワードの暗号化を要求するかもしれない。
  • パスワードがユーザー ID に有効ではない場合がある。 指定されたパスワードの文字と大文字・小文字の別はリモート・システムのパスワードと正確に一致しなければなりません。
  • リモートシステムは、認証のために追加のサインオン要素を要求するかもしれない。
  • リモートシステムには、接続を阻止する終了プログラムがあるかもしれない。
  • リモートシステムのサーバー認証エントリーが使用されている場合、そのエントリーが正しくない可能性がある。 サーバー名は大文字でなければなりません。 パスワードを保存するには,QRETSVRSECシステム値は'1'に設定されなければなりません。

メッセージ CPE3425 (接続が拒否された) がこのメッセージの前にある場合には、 その原因は次のとおりです。

  • DDM/DRDA TCP/IP サーバーがリモート・システムで始動されていない。
  • リモート・システムに正しくないポートが指定されている。
  • リモート・システムが DRDA ポートを制限している。
  • SOCKS サーバー (使用している場合) が正しく構成されていない。

APPC メジャー戻りコードは &1 で、マイナー戻りコードは &2 です。 TCP/IPの場合には,両方の戻りコードが00になります。 リターンコードが両方とも 00 でない場合、その意味は IBM ドキュメント https://www.ibm.com/docs/en/i の APPC Programming トピックに記載されています。

回復手順: 詳細については,前のメッセージを参照してください。 起こり得る問題について,リモート・システムおよび通信ネットワークの状況を検査してください。 アプリケーション・サーバーがDB2 FOR IBM Iの場合には,QSYSOPRメッセージ待ち行列にあるエラー・メッセージを調べてください。
SQLCODE: -30080
SQLSTATE: 08001
SQ30081
メッセージ・テキスト: 分散データベースの処理中に通信エラーが検出されました。
原因: 通信エラーが検出されました。 考えられる理 由は次の通りです。
  • 接続の開始を待っていたローカル・システムがタイムアウトになりました。
回復手順: 詳細については,前のメッセージを参照してください。 起こり得る問題について,リモート・システムおよび通信ネットワークの状況を検査してください。 アプリケーション・サーバーがDB2 FOR IBM Iの場合には,QSYSOPRメッセージ待ち行列にあるエラー・メッセージを調べてください。
SQLCODE: -30081
SQLSTATE: 08001
SQ30082
メッセージ・テキスト: 分散データベースの接続の試みで認可が正常に実行されません。
原因: 接続しようとしましたが、理由コード &2 で正常に実行されませんでした。 理由コードとその意味は次の通りです。
  • 0 -- 不明の原因。
  • 1 -- パスワード失効。
  • 2 -- パスワードが正しくない。
  • 3 -- パスワードの欠落。
  • 4 -- プロトコル違反。
  • 5 -- ユーザー ID が見つからない。
  • 6 -- ユーザーID、パスワード、または追加のサインオン要素が有効ではありません。 Db2 for IBM i サーバーの場合、これは提供されたユーザーIDが認証できなかったことを意味する。 これは、破損したユーザープロファイル、PASSWORD(*NONE)、無効な資格情報、または終了プログラムが原因である可能性がある。
  • 7 -- ユーザー ID が取り消されたか使用不可。
  • 15 -- サーバーで機密保護処理が失敗した。
  • 16 -- 新しいパスワードが正しくない。
  • 17 -- クライアントによって要求されている機密保護メカニズムがサポートされないかサーバーで使用できない。 以下の回復情報を参照してください。
  • 22 -- クライアントで機密保護処理が失敗した。
  • 23 -- CCSID パスワードの CCSID 変換が失敗した。
回復手順: 可能な場合には,理由コードによって指示された問題を訂正して,接続を再試行してください。 理由コード17の共通の原因として,サーバーでパスワードが必要とされているのに,クライアントには送信すべきパスワードがなく,ユーザーIDだけが送信されたことがあります。 あるいは,サーバーは暗号化されたパスワードを必要としていて,クライアントが暗号化されたパスワードを送りませんでした。 パスワードはユーザーが次の2つの方法で指定できます。
  • 1 -- ユーザーを使用する ... 使用中 ... SQL CONNECT ステートメントの文節、または
  • 2 -- ADDSVRAUTE CL コマンドを使用し、ユーザーのプロファイルの下にリモート・サーバーのためのサーバー認可項目を追加することによって。 サーバー名 (DRDA RDB NAME) を大文字で入力する必要があります。&N DRDA サーバーは、CHGDDMTCPA CL コマンドを使用して構成することができます。パスワードを必要としない場合、または暗号化されたパスワードを必要としません。
SQLCODE: -30082
SQLSTATE: 08001
SQ30089
メッセージ・テキスト: DB2マルチシステムの処理中に通信エラーが起こった。
原因: 通信エラーが起こりました。 考えられる理由のリストには次のものがあります。
  • リモート・システムが使用可能になっていない。
  • 通信ネットワークが利用不能である。
  • 接続の開始に使用されたユーザー識別コードがリモート・システムに存在しない。
回復手順: 詳細については,前のメッセージを参照してください。 起こり得る問題について,リモート・システムおよび通信ネットワークの状況を検査してください。 エラー・メッセージについては,QSYSOPRメッセージ待ち行列を検査してください。
SQLCODE: -30089
SQLSTATE: 08001
SQ30090
メッセージ・テキスト: 読み取り専用アプリケーション・サーバーに対する変更要求は正しくない。
原因: アプリケーション要求元が読み取り専用のアプリケーション・サーバーを要求しています。 読み取り専用のアプリケーション・サーバーに有効でないステ ートメントの実行が試みられました。

このメッセージは、COMMIT オプションを*NONE に設定した対話式の SQL を使用して DB2 for IBM i 以外のシステムに初めて接続しようとした時に出されることがあります。

回復手順: プログラムから変更要求を除去して再試行してください。 DB2 FOR IBM I以外のシステムにCOMMIT(*NONE)を使用したのが問題である場合には,別のコミットメント制御レベルに変更して,再試行してください。
SQLCODE: -30090
SQLSTATE: 25000
SQ30104
メッセージ・テキスト: 値 &2 のバインドまたはプリコンパイル・オプション &1 は無効です。
原因: DB2 FOR IBM Iアプリケーション・サーバーでサポートされている値は次の通りです。

PATH -- スキーマ名

AS400NAMING -- SQL (デフォルト) または SYSTEM

OS400NAMING -- SQL (デフォルト) または SYSTEM

SORTSEQ -- HEX (デフォルト) または JOBRUN

MAXSCALE -- 0 と 31 の間

MINDIVSCALE -- 0 と 9 の間で、MINDIVSCALE は MAXSCALE を超えることはできません。

ROUNDING -- HALFEVEN (デフォルト)、CEILING、DOWN、FLOOR、HALFDOWN、HALFUP、または UP

EXTENDEDINDICATOR -- NO (デフォルト) または YES

DATEOVERIDE -- ISO (デフォルト)、USA、EUR、 JIS

CONCURRENTACCESSRESOLUTION -- NO (デフォルト) または YES

SYSTEMTIMESENSITIVE -- NO(省略時)またはYES

回復手順: 総称バインド・オプション値を訂正し,要求を再試行してください。
SQLCODE: -30104
SQLSTATE: 56095
SQ30106
メッセージ・テキスト: 複数行挿入の入力データは無効です。
原因: 複数行入力操作のある行を処理中に,クライアントでデータ・エラーが検出されました。 -2 (X'FE')のヌル標識値をクライアントから受け取りました。これは,サーバーがヌル行についてSQLSTATE 22527を含むエラーSQLCAを戻すはずであることを示します。 分割不能な複数行入力操作では,このようなエラーは複数行入力要求の処理を終了して,この要求の結果として行われた変更を元に戻します。 分割不能でない複数行入力操作では,このようなエラーは複数行入力要求の処理を終了しますが,この要求での変更は元に戻しません。
回復手順: 複数行入力操作のどの部分がエラーになっているかを判別して,要求を再試行してください。
SQLCODE: -30106
SQLSTATE: 22527
SQ30107
メッセージ・テキスト: カーソルのクローズでレコード読み取りロックを解放する要求は無視されました。
原因: DB2 FOR IBM Iはこの機能をサポートしていません。 この警告を防止するには,次の通りに実行してください。
  • 組み込み SQL の場合、CLOSE から WITH RELEASE 文節を取り除いてください。
  • CLI の場合、解放でカーソルを定義するオプションを取り除いてください。
回復手順:
SQLCODE: +30107
SQLSTATE: 01662
SQL0004
メッセージ・テキスト: SQL INCLUDE のメンバー &1 が見つからなかったか、または認可されていない。
原因: ライブラリー &3 のソース・ファイル &2 のメンバー &1 を読み取ろうとしている時に、次の 1 つが起こりました。
  • プリコンパイラーはメンバーを見つけることができませんでした。 このメンバ ーは,CRTSQLXXXコマンドのINCFILEパラメーターに指定されたファイルに存在し ていません。 ソース・ファイルが*Nの場合には,SQL INCLUDEステートメントに指 定されたソース・ファイルはSRCFILEパラメーターに指定されたファイルです。
  • メンバー &1 を含むソース・ファイルに対して認可されていなければなりません。
回復手順: 次の1つを実行して,要求を再試行してください。
  • メンバーの名前が正しいことを確認してください。 メンバー名が既に正しくて、メンバー名 &1 が見つからない場合には、CRTSQLXXX コマンドの INCFILE パラメーターに指定されたメンバーを含むファイルが正しいことを確認してください。
  • 機密保護担当者またはソース・ファイル所有者から必要な権限をもらってください。
SQLCODE: -004
SQLSTATE: 4274N
SQL0007
メッセージ・テキスト: SQL ステートメント中の文字 &1 (16 進数 &2) が正しくない。
原因: SQL ステートメントに指定された文字 &1 は使用できません。 この文字の 16 進数表現は &2 です。 この文字はプリコンパイラーによって無視され,ステート メントの処理が続行されます。
回復手順: 文字を訂正してください。 文字を引用符またはアポストロフィで囲む 必要のある場合があります。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -007
SQLSTATE: 42601
SQL0008
メッセージ・テキスト: ネストされたINCLUDEステートメントはサポートされていな い。
原因: 処理中に,2つのレベルのINCLUDEステートメントが見つかりました。 SQLプリコンパイラーは,1つのレベルのINCLUDEステートメントしか認めていません。
回復手順: ネストされたINCLUDEステートメントを取り除いて,プログラムの プリコンパイルを再試行してください。
SQLCODE: -008
SQLSTATE: 560DD
SQL0010
メッセージ・テキスト: &1 で始まるストリング定数が区切られていません。
原因: &1 で始まる定数にストリング区切り文字が抜けています。 このストリン グは,ソース・ファイルの終わりで区切られているものとして扱われます。
回復手順: このストリング定数に区切り文字を指定してください。 引用符やアポ ストロフィの欠落または余分を調べてください。 これらのエラーが他のエラーの原因 となることがあります。 ストリーム区切り文字が欠落しあるいは余分にある結果とし て,一部のステートメントが処理されない場合があります。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -010
SQLSTATE: 42603
SQL0011
メッセージ・テキスト: 注記が閉じられていない。
原因: 注記が注記区切り文字で正しく閉じられていません。 この注記は,ソー ス・ファイルの終わりで閉じられているものとして扱われます。
回復手順: 注記区切り文字が正しく指定されていて,指定されたマージンの間に あるかどうかを確認してください。 このエラーが他のエラーの原因となることがあり ます。 注記区切り文字が欠落している結果として,一部のステートメントが処理され ない場合があります。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -011
SQLSTATE: 42601
SQL0012
メッセージ・テキスト: 欄 &1 についてテーブル &2 に対して修飾のない相互関連が行われた。
原因: 副選択で起こる列 &1 は、明示的に修飾されていないので、副選択の FROM 文節に指定されたライブラリー &3 のテーブル &2 に起こるか、あるい は更新または削除操作の対象として起こります。 したがって,この副選択のこのカラム に対する参照は外部参照であり,相関が行われることになります。
回復手順: 相関を使用するつもりであったことを確認してください。 相関を使用するつもりでなかった場合には、この列は、列 &1 が参照されたのと同じレベルの副選択の FROM 文節で識別されるどのテーブルまたは表示にも存在しません。 意図された相関参照を明示的に修飾するのはよいことなので、列 &1 がテーブ ル指定子で修飾されるようにステートメントを変更するようお奨めします。
SQLCODE: +012
SQLSTATE: 01545
SQL0029
メッセージ・テキスト: INTO文節が組み込みステートメントから欠落しています。
原因: プログラムに組み込まれているSELECTおよびVALUES INTOステートメントには,ステートメントの結果を入れる場所を指定するINTO文節が必要です。
回復手順: INTO文節をステートメントに追加して,要求を再試行してください。
SQLCODE: -029
SQLSTATE: 42601
SQL0030
メッセージ・テキスト: ホスト変数の数が結果の値より少ない。
原因: INTO文節中に指定されているホスト変数の数が結果値の数より小さくなっています。 このプログラムを実行した場合には,指定された変数にだけ値が割り当てられます。
回復手順: すべての値を受け取るには,正しい数のホスト変数を指定してください。 プログラムのプリコンパイルを再試行してください。
SQLCODE: +030
SQLSTATE: 01503
SQL0051
メッセージ・テキスト: カーソルまたはプロシージャー &1 は前に宣言されている。
原因: 次のいずれかが起こっています。
  • カーソル &1 はすでに前の DECLARE CURSOR ステートメントで指定されている。 カーソル名はプログラム内で固有でなければなりません。
  • CALL ステートメントに指定されたプロシージャー &1 が不明瞭。
回復手順: すべてのDECLARE CURSORステートメントのカーソル名およびすべて のDECLARE PROCEDUREステートメントのプロシージャー名がプログラム内で固有であ ることを確認してください。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -051
SQLSTATE: 3C000
SQL0057
メッセージ・テキスト: SQL関数内のRETURNステートメントは値を戻さなければなりません。
原因: RETURNステートメントがSQL関数内で戻り値なしで指定されています。 戻り値が指定されていなければなりません。
回復手順: 戻り値を追加します。 要求をやり直してください。
SQLCODE: -057
SQLSTATE: 42631
SQL0058
メッセージ・テキスト: RETURNステートメントに指定する値は整数でなければなりません。
原因: RETURNステートメントがSQLプロシージャー内で指定されていますが,指定した値が整数でありません。 SQLプロシージャーの戻り値は整数でなければなりません。
回復手順: 整数値をRETURNステートメントに指定してください。 要求をやり直してください。
SQLCODE: -058
SQLSTATE: 428F2
SQL0060
メッセージ・テキスト: &2 関数の引数 &1 の値 &3 が正しくない。
原因: &2 関数の引数 &1 に &3 として指定した長さまたは位取りが正しくあり ません。 数値に指定する長さは1 - 63桁の符号のない整数でなければなりません。 数値 に指定する位取りは0から指定する長さまでの符号のない整数でなければなりません。
回復手順: この関数に指定した長さまたは位取りを訂正してください。 要求をやり直してください。
SQLCODE: -060
SQLSTATE: 42815
SQL0074
メッセージ・テキスト: 記述子 COUNT &1 が正しくありません。
原因: 記述子のCOUNTの値が,0からこの記述子が割り振られたときに 割り当てられた項目の最大数までの間となっていません。 エラーのタイプとその意味は次のとおりです。
  • 1 -- 最上位の数が正しくありません
  • 2 -- SQDS_ITEMS が正しくありません
  • 3 -- 配列と関連した記述子項目のレベルが正しくありません
回復手順: SET DESCRIPTORステートメントを使用して別のCOUNT値を 指定してください。
SQLCODE: -074
SQLSTATE: 07008
SQL0075
メッセージ・テキスト: 記述子項目番号 &1 が正しくありません。
原因: 次の理由のいずれかのために、記述子項目番号 &1 が正しくありません。
  • ALLOCATE DESCRIPTOR ステートメントの項目の最大数に指定された値が 1 と 8000 の間ではありません。
  • GET DESCRIPTOR または SET DESCRIPTOR ステートメントで指定された項目番号が 1 と記述子が割り振られたときに割り当てられた項目の最大数との間ではありません。
回復手順: ALLOCATE DESCRIPTORステートメントでは,指定される最大項目数は,1から8000の範囲になるようにしてください。 GET DESCRIPTORおよびSET DESCRIPTORステートメントでは,VALUEに指定される項目数は1から,指定された記述子の項目の最大数までの範囲になるようにしてください。 要求をやり直してください。
SQLCODE: -075
SQLSTATE: 07009
SQL0076
メッセージ・テキスト: DATAまたはINDICATOR項目が正しくありません。
原因: DATAまたはINDICATOR項目は,次の理由の1つによって正しく ありません。
  • GET DESCRIPTOR ステートメントが DATA または INDICATOR 項目を要求していますが、DATA または INDICATOR 項目に値が入っていません。
  • GET DESCRIPTOR または SET DESCRIPTOR ステートメントが、無効な DATA 項目のホスト変数を指定しました。 ホスト変数は,タイプ,長さ,精度,位取りおよびCCSIDについてDATA項目と一致していなければなりません。
回復手順: DATAまたはINDICATORに既知の値がない場合には,FETCHなどの 操作を実行するか,あるいはGET DESCRIPTORの前に,SET DESCRIPTORを使用 してDATAまたはINDICATOR値を設定してください。 GET DESCRIPTORまたはSET DESCRIPTORステートメントのホスト変数がDATA項目の属性と一致していない場合には,ホスト変数の属性を変更してください。 要求をやり直してください。
SQLCODE: -076
SQLSTATE: 22005
SQL0077
メッセージ・テキスト: 記述子名 &1 が正しくありません。
原因: 次の理由のいずれかのために、記述子名 &1 が正しくありません。
  • 記述子名が 128 文字より長い。
  • 記述子名が ALLOCATE DESCRIPTOR ステートメントを使用して割り振られていない。
  • この名前を持つ記述子がこの接続と有効範囲に対してすでに存在する。
回復手順: この名前が長すぎないようにしてください。 その記述子が他のステートメントによって参照される前に,ALLOCATE DESCRIPTORステートメントを使用してそれを定義してください。 接続およびスコープに同じ名前の記述子が存在する場合には,ALLOCATE DESCRIPTORステートメントのその名前を変更してください。 要求をやり直してください。
SQLCODE: -077
SQLSTATE: 33000
SQL0078
メッセージ・テキスト: &2 のルーチン &1 にはパラメーター名が必要です。
原因: SQLルーチンを作成時にはパラメーター名を指定しなければなりません。
回復手順: パラメーター名を指定してください。 要求をやり直してください。
SQLCODE: -078
SQLSTATE: 42629
SQL0080
メッセージ・テキスト: 標識変数 &1 が SMALLINT タイプでない。
原因: 標識変数 &1 の定義は、位取りゼロの 2 バイトの 2 進数でなければなり ません。
回復手順: 位取りゼロの2バイトの2進数として定義された標識変数を指定して ください。 要求をやり直してください。
SQLCODE: -080
SQLSTATE: 42978
SQL0084
メッセージ・テキスト: SQLステートメントを使用することはできない。
原因: 次の理由のいずれかのために,SQLステートメントを使用することはで きません。
  • DECLARE CURSOR、DECLARE STATEMENT、FETCH、OPEN、CLOSE、WHENEVER、TAG、PREPARE、EXECUTE、EXECUTE IMMEDIATE、INCLUDE、SELECT INTO、VALUES INTO、DECLARE VARIABLE、DECLARE PROCEDURE、DESCRIBE、GET DIAGNOSTICS、SIGNAL、RESIGNAL、RESIGNAL、ALLOCATE CURSOR、ASSOCIATE LOCATOR、DEALLOCATE DESCRIPTOR、GET DESCRIPTOR、および SET DESCRIPTOR は、対話式 SQL、動的 SQL、または SET DESCRIPTOR を使用して使用できません。
  • BEGIN DECLARE SECTION および END DECLARE SECTION は対話式 SQL、動的 SQL、RPG、または REXX で使用できない。
  • ブロック化された INSERT ステートメントは、対話式 SQL または動的 SQL で 使用できない。
  • CONNECT、SET CONNECTION、RELEASE、および DISCONNECT ステートメントは、動的 SQL または REXX では使用できない。 ユーザーIDおよびパスワードに定数を指定したCONNECTは,プリコンパイル済みプログラムでは使用できない。
  • ユーザー ID またはヒントに定数が指定された SET ENCRYPTION PASSWORD は、プリコンパイル済みプログラムでは使用できない。
  • SELECT および VALUES は、EXECUTE IMMEDIATE ステートメントあるいは RUNSQLSTM または RUNSQL コマンドから出すことができない。
  • SET OPTION ステートメントは、REXX、プリコンパイル済みプログラム、 または SQL ルーチンの中でのみ使用できる。 プリコンパイル済みプログラムでは,プログラム内で最初のSQLステートメントになっていなければなりません。
  • ALLOCATE CURSOR、ASSOCIATE LOCATORS、DECLARE STATEMENT、DECLARE VARIABLE、DECLARE PROCEDURE、GET DIAGNOSTICS、INCLUDE、SELECT INTO、SET CURRENT DEGREE、SET RESULT SETS、SIGNAL、WHENEVER、ブロック化された INSERT、ブロック化された FETCH、ロケーター・ステートメント、および SQL SQL 記述子ステートメントは、REXX では使用できない。
  • SET TRANSACTION ステートメントは、現行接続先がリモート・データベースの場合には使用できない。
  • SET SESSION AUTHORIZATION ステートメントを実行できるのは、デフォルトの活動化グループでのみである。 これはREXX中で,あるいはRUNSQLSTMまたはRUNSQLコマンドの使用時には使用できない。
  • 関数、プロシージャー、およびトリガーの WRAPPED キーワードは、プリコンパイル済みプログラムでは使用できない。
  • 指定された SQL ステートメントは、DB2 for IBM i の現行リリースでは有効なステートメントではない。 このステートメントは,DB2 FOR IBM Iの今後のリリースまたは他のシステムのSQL実装環境によっては有効な場合があります。
回復手順: このモードでは,このステートメントを実行することはできません。 プリコンパイル済みプログラム 中のCONNECTまたはSET ENCRYPTION PASSWORDステートメントの場合,定数の代わりにホスト変数を指定してください。 対話式SQLの場合には,ス テートメント処理値を*SYNに設定してステートメントの構文検査をすることができ ます。
SQLCODE: -084
SQLSTATE: 42612
SQL0087
メッセージ・テキスト: ヌル値は許可されません。
原因: 式または変数において,ヌル値が許可されていないところでヌル値が返されました。
回復手順: 式を修正するか,非ヌル値を変数に割り当てて,結果がヌルでなくなるようにしてください。
SQLCODE: -087
SQLSTATE: 22004
SQL0088
メッセージ・テキスト: &1 はテーブル全体に適用される。
原因: UPDATEまたはDELETEステートメントにWHERE文節がありません。指定 したテーブルのすべての行が削除または更新されることになります。
回復手順: 次の1つを実行してください。
  • 指定したテーブルのすべての行を削除または更新する必要があるかどうかを確 認して、ステートメントをやり直す。
  • 指定したテーブルの行を必ずしもすべて削除または更新する必要がない場合に は、WHERE 文節を追加して、プログラムのプリコンパイルをやり直す。
SQLCODE: +088
SQLSTATE: 01504
SQL0090
メッセージ・テキスト: ホスト変数はここでは使用できない。
原因: ホスト変数 &1 はこのステートメントで使用したように使用することは できません。 ホスト変数は,次の場合には使用できません。
  • CREATE VIEW、CREATE TABLE、CREATE INDEX、CREATE MASK、CREATE PERMISSION、または ALTER TABLE ステートメントの中。
  • CREATE PROCEDURE または CREATE FUNCTION ステートメントのパラメーターのデフォルト値文節の中。
  • ステートメント処理値が *RUN または *VLD の時の対話式 SQL ステートメントの中。
  • RUNSQLSTM または RUNSQL コマンドによって処理される SQL ステートメントの中。
  • REXX の INSERT、UPDATE、DELETE、CALL、または DECLARE CURSOR ステートメントの中。
回復手順: 次の1つを実行して,要求を再試行してください。
  • ホスト変数を置き換えるためには、定数または列名を指定する。 コロンは,次に続く名前がホスト変数であることを示します。 カラムの名前を指定するた めには,コロンを取り除いてください。
  • 対話式 SQL では、ステートメントの処理値を *SYN に設定して、ホスト変数 の入っているステートメントの構文を検査する。
  • REXX の場合には、ホスト変数をパラメーター・マーカーに変更して、INSERT、UPDATE、DELETE、CALL、または DECLARE CURSOR ステートメントを準備する。
SQLCODE: -090
SQLSTATE: 42618
SQL0097
メッセージ・テキスト: データ・タイプの使用が正しくない。
原因: ステートメントに指定されたデータ・タイプは,それが使用された場所では使用できません。
  • LONG VARCHAR、LONG VARGRAPHIC、および LONG VARBINARY は、CREATE TABLE ステートメントの列定義にのみ指定できます。
  • XMLTABLE 関数では、BINARY、VARBINARY、BLOB、ROWID、DATALINK、および強く型付けされた特殊タイプは、入力引数や結果列タイプとして使用することはできません。
  • JSON_TABLE 関数では、入力引数はストリング・データ・タイプでなければなりません。 BINARY,VARBINARY,BLOB,ROWID,DATALINK,XML,および強く型付けされた特殊タイプは,結果のカラム・タイプとして使用できません。 形式設定された結果のカラムでは,結果のデータ・タイプは文字またはUNICODEグラフィックでなければなりません。
  • INTERPRET 関数では、結果データ・タイプを ROWID または DATALINK にすることはできません。
  • インクルード・カラムに ROWID を指定することはできません。
回復手順: データ・タイプを,このコンテキストで使用できるものに変更してください。 要求をやり直してください。
SQLCODE: -097
SQLSTATE: 42601
SQL0100
メッセージ・テキスト: &1 の行が見つからない。
原因: 次のいずれかの状態が起こりました。
  • これが FETCH ステートメントである場合には、選択値を満足する行がこれ以上ない (ファイルの終わり)。 カーソルの名前は &1 で、結果セットの ID は &2 です。 結果セットIDがゼロでない場合には,このカーソルの結果テーブルは,ストアード・ プロシージャーの結果セットとしてアクセスされていました。
  • これが、スクロール可能なカーソルの FETCH ステートメントである場合には、レコードが見つかっていない。 NEXTが指定されている場合には,ファイルの終わり に到達しました。 PRIORが指定されている場合には,ファイルの始めに到達しまし た。 RELATIVEが指定されている場合には,ファイルの始めまたはファイルの終わりに 到達しました。 FIRSTまたはLASTが指定されている場合には,選択基準を満たすレ コードがありません。 カーソルの名前は &1 です。
  • これが、組み込まれた SELECT ステートメントである場合には、選択値を満足する行がない。
  • これが UPDATE、INSERT、DELETE、または MERGE ステートメントである場合には、副選択、WHERE 文節、または MERGE 基準を満足する行がない。 行は更新,挿入,または削除されていません。
  • SKIP LOCKED DATA を指定すると、戻すために修飾された行を利用できなくなります。
回復手順: 回復処置は不要です。
SQLCODE: +100
SQLSTATE: 02000
SQL0101
メッセージ・テキスト: SQLステートメントが長すぎるか,あるいは複雑すぎる。
原因: SQLステートメントが長さまたは複雑さに許される限界を超えています。 理由コードは &1 です。 理由コードが示すエラーは次の1つです。
  • 1 - UNION、EXCEPT、および INTERSECT を使用して結合された副選択の合計数が 1000 を超えている。
  • 2 - 列、定数、および演算子の合計数が SQL の限界を超えている。
  • 3 - 選択リスト、テーブル、ビュー定義、またはユーザー定義のテーブル関数の中の非 LOB および XML 列の長さの合計が 32766 を超えているか、あるいは定義に LOB または XML 列が入っていて、可変長フィールドについて ALLOCATE 文節に指定された長さと非可変フィールドの長さの合計が 32740 を超えている。 いずれかのカラムが可変長であるかヌル値を使用できる場合には,最大長が減らされます。
  • 4 - 外部副選択で参照された副選択の合計数が 256 を超えている。
  • 5 - ステートメント・テキストの合計長が 2097152 を超えているか、または準備属性ストリング・テキストの合計長が 65535 を超えている。 この理由コードは,ストリング・リテラルが32767文字より長いことを示している可能性もあります。
  • 6 - FETCH ステートメントで指定された相対位置の値が、有効な値の範囲外になっている。
  • 7 - システム名を生成できなかった。
回復手順: ステートメントを単純化するか,あるいはステートメントを複数のス テートメントに分割して,要求を再試行してください。 理由コード7の場合には, テーブル,ビュー,索引,または別名に別の名前を指定してください。
SQLCODE: -101
SQLSTATE: 54001、54010、54011
SQL0102
メッセージ・テキスト: &1 で始まるストリング定数が長すぎる。
原因: &1 で始まるストリング定数が 32740 バイトより大きくなっています。 こ れが図形文字定数である場合には,ストリングをDBCS 16370文字より長く することはできません。
回復手順: ストリングの長さを減らしてください。 要求をやり直してください。
SQLCODE: -102
SQLSTATE: 54002
SQL0103
メッセージ・テキスト: &数値定数 1 が正しくない。
原因: トークン &1 が数字で始まっていますが、このトークンは有効な整数、10 進数、または浮動小数点定数ではありません。 COBOLプログラムの中を除き, 識別名を数字で開始することはできません。
回復手順: 次の1つを実行してください。
  • トークン &1 が正しいことを確認する。 文字定数が必要な場合には,アポスト ロフィまたは引用符を使用してください。
  • 数字が必要な場合には、正しくない文字 (1 つまたは複数) を取り除く。
SQLCODE: -103
SQLSTATE: 42604
SQL0104
メッセージ・テキスト: トークン &1 は正しくない。 有効なトークンは &2 です。
原因: トークン &1 で構文エラーが検出されました。 トークン &1 は正しいトークンではありません。 有効なトークンの部分的なリストは &2 です。 このリストはトークンまでのス テートメントが正しいと見なします。 エラーはステートメントの始めの方にある可能 性がありますが,この点まではステートメントの構文が正しいように見えます。
回復手順: 次の1つまたは複数を実行して,要求を再試行してください。
  • トークン &1 のところの SQL ステートメントを検査して ステート メントを訂正してください。 エラーの原因は,コンマまたは引用符の欠落,つづりの間 違った語,あるいは文節の順序にあると思われます。
  • エラー・トークンが<END-OF-STATEMENT>である場合は、SQL ステートメントが有効な文節で終了しないため、これを訂正します。
SQLCODE: -104
SQLSTATE: 42601
SQL0105
メッセージ・テキスト: 混合,図形,またはUTF-8ストリング定数は正しくありません。
原因: &1 を開始する値で正しくない混合、グラフィック、または UTF-8 定数が見つかりました。 次のいずれかが起こっています。
  • シフトアウト文字とシフトイン文字の間が奇数バイト。
  • シフトイン文字が見つかる前に、複数個のシフトアウト文字が見つかった。
  • シフトアウトおよびシフトインが、それぞれ最初のバイトと最後のバイト に見つかっていないか、あるいはグラフィック・ストリング定数の最初と最後のバイ ト以外の位置に見つかった。
  • PL/I 形式のグラフィック・ストリングが使用されていますが、プログラムが PL/I ではない。
  • PL/I グラフィック・ストリングを示すシフトアウトが見つかった。 シフトアウトに,DBCSのアポストロフィ,偶数個のDBCS文字,DBCSのもう1 個のアポストロフィ,DBCSのG,およびシフトインが続けられていません。

これが列の LABEL ON ステートメントでストリングが 20 バイトより長い場合に は、20 バイトのセグメントの 1 つに有効でない DBCS 定数が入っています。

回復手順: 正しい形式の定数を指定してください。 これがカラムのLABEL ONステー トメントである場合には,20バイトのセグメントの形式が正しいことを確認してく ださい。 引用符,アポストロフィ,シフトアウト文字,シフトイン文字,または シフトアウト文字とシフトイン文字の間の奇数個の文字を調べてください。 漢字ストリング定数がその言語の正しい形式で指定されていることを確認して ください。 要求をやり直してください。
SQLCODE: -105
SQLSTATE: 42604
SQL0106
メッセージ・テキスト: FLOATまたはDECFLOATに指定された精度が正しくない。
原因: FLOATまたはDECFLOATに指定された精度が正しくない。
  • DECFLOAT 精度は、16 または 34 でなければなりません。
  • FLOAT 精度は、1 から 53 の範囲でなければなりません。 1-23が指定されている場合には, データ・タイプは単精度浮動小数点です。 24-53が指定されている場合には, データ・タイプは倍精度浮動小数点です。
回復手順: 指定した精度を変更してください。 要求をやり直してください。
SQLCODE: -106
SQLSTATE: 42611
SQL0107
メッセージ・テキスト: &1 が長すぎます。 最大は &2 桁です。
原因: &1 で始まる名前またはストリングが長すぎます。 許される最大長は &2 です。 名前の最大長はその名前のタイプによって異なります。
  • システム名は 10 桁を超えてはいけない。
  • SQL 名は 128 桁を超えてはいけない。
  • リレーショナル・データベース名は 18 桁を 超えてはいけない。
  • プロシージャー名または関数名は 128 桁を超えてはいけない。 外部プログラ ム名が指定されない場合には,プロシージャー名をプログラム名で使用するので,10 桁を超えてはいけません。
  • C および C++ のホスト変数名は 128 桁を超えてはいけない。 その他すべての言語のホスト変数名は64桁を超えることはできません。
  • JSON 名は 128 桁を超えてはいけない。
  • JSON パス名は 128 桁を超えてはいけない。

パスワードのストリングの最大長は 128 です。

COMMENT ON ステートメントのストリングの最大長は 2000 です。 COMMENT ON SEQUENCEのストリングは500桁を超えることはできません。

LABEL ON ステートメントのストリングの最大長は 50 です。 ラベルがカラム見出しとして指定される場合の最大長は60です。

パッケージ・バージョンのストリングの最大長は 64 です。

回復手順: この名前またはストリングを &2 以下の長さに変更してください。 要求をやり直してください。
SQLCODE: -107
SQLSTATE: 42622
SQL0109
メッセージ・テキスト: &1 文節を使用することができない。
原因: 次の条件の1つが許可されませんでした。
  • SELECT INTO および VALUES INTO ステートメントに FOR UPDATE 文節、FOR READ ONLY 文節、OPTIMIZE 文節、あるいは UNION、EXCEPT、または INTERSECT 演算子を組み込むことはできない。
  • カーソル宣言または副選択で使用された SELECT または VALUES ステートメントに INTO 文 節を組み込むことはできない。
  • CREATE VIEW ステートメントに INTO、ORDER BY、FOR UPDATE、FOR READ ONLY、または OPTIMIZE 文節を組み込むことはできない。
  • INSERT ステートメントに、副選択の INTO 文節、FOR UPDATE、FOR READ ONLY、または OPTIMIZE 文節を組み込むことはできない。
  • VALUES が指定された INSERT では、ORDER BY、OFFSET、FETCH FIRST 文節は使用できない。
  • WHERE CURRENT OF カーソル節は、データ変更文、対話型 SQL または RUNSQLSTM コマンドで処理される文では使用できません。
  • データ変更文は、埋め込まれたUPDATE文またはDELETE文に分離句または同時アクセス解決句を含めることはできません。
  • SELECTIVITY 節は、CHECK 制約、CREATE INDEX ステートメント、またはトリガー・イベント述部の一部としては使用できません。
  • 省略時の値が指定されていない限り、テーブルに追加される列の定義に NOT NULL 文節を使用することはできない。
  • ステートメントが GENERATED によって定義された列を変更している場合は、OVERRIDING USER VALUE および OVERRIDING SYSTEM VALUE だけが有効である。
  • INSERTING、UPDATING、および DELETING トリガー・イベント述部のみがトリガーで使用できる。
  • OR REPLACEが指定されない場合,ON REPLACEは指定できません。
  • RAISE_ERROR 関数は、選択リストまたは CASE 式だけに指定できない。
回復手順: この文節を除去してください。 要求をやり直してください。
SQLCODE: -109
SQLSTATE: 42601
SQL0110
メッセージ・テキスト: &1 で始まる 16 進定数が正しくない。
原因: 16 進定数 &1 に正しくない 1 つまたは複数の文字が入っているか、また はストリング区切り文字間の文字数が正しくありません。 埋め込まれたブランク(X'40')のすべての文字は検査の実行前にストリングから除去されます。 16進定数には,偶数個の 文字が入っていなければなりません。 16進図形ストリングの長さは,正しい数のDBCS文字を入れられるように4の倍数でなければなりません。 MIXEDデー タを表す16進定数は,シフトアウト(X'0E')とシフトイン(X'0F')文字の間が偶数バイトで,対のシフト文字がなければなりません。 16進図形定数にシフトアウトまたはシフトインを含めることはできません。
回復手順: 定数を訂正してください。 定数に偶数個の桁数が含まれていること、および 16 進グラフィック定数の長さが 4の倍数であることを確認します。 16 進数字の有効な文字は、0 から 9 までの文字、大文字または小文字の A から F です。MIXED データが正しい形式になっていることを確認してください。 16進図形定数からシフトアウト文字またはシフトイン文字を取り除いてください。 要求をやり直してください。
SQLCODE: -110
SQLSTATE: 42606
SQL0111
メッセージ・テキスト: カラム関数 &1 にカラムの名前が組み込まれていない。
原因: カラム関数はオペランドにカラムの名前が組み込まれていなければならないので、カラム関数 &1 の指定は正しくありません。
回復手順: カラムの名前を含むように関数を変更して,要求を再試行してください。
SQLCODE: -111
SQLSTATE: 42901
SQL0112
メッセージ・テキスト: 関数 &1 の引数に別の関数が含まれています。
原因: 集約関数またはOLAP仕様&1の引数が,集約関数またはOLAP仕様を含んでいます。 集約関数またはOLAP仕様を含まない式のみがこれらの関数の引数として許可されます。
回復手順: 関数の呼び出しを訂正してください。 要求をやり直してください。
SQLCODE: -112
SQLSTATE: 42607
SQL0113
メッセージ・テキスト: 名前 &1 を使用することはできない。
原因: &1 に使用できない文字が入っているか、あるいは文字が入っていません。

通常識別 ID は (A から Z、&#x00A5;、#、または @) で始めて、ゼロまたは 1 つ以上の (A から Z、 0 から 9、 &#x00A5;、#、@、または _) がその後に続いていなければなりません。

区切られた識別コードは、SQL エスケープ文字内の文字列です。 区切られた名前に使用できる文字は,名前のタイプによって異なります。

  • システム・テーブル名、スキーマ名、パッケージ名、およびその他のシステム・オブジェクトのエスケープ文字間の文字は、16 進数 00 から 3F、16 進数 40 (スペース)、16 進数 5C (*)、16 進数 6F (?)、16 進数 7D ('')、16 進数 7F (")、および 16 進数 FF を除いた任意の文字とすることができる。
  • SQL 名のエスエープ文字間の文字は、16 進数 00 から 3F および 16 進数 FF 以外の任意の文字とすることができる。
  • 区切ったシステム列名は (A から Z、&#x00A5;、#、または @) で始めて、ゼロまたは 1 つ以上の (A から Z、0 から 9、&#x00A5;、#、@、または _) がその後に続いていなければならない。

リレーショナル・データベース名には、A から Z、0 から 9、$、#、@、および _ を含めることができます。

ホスト変数内に入っている通常の識別コードには (大文字に変換されないので) 小文字を含めてはならない。

回復手順: 名前を訂正してください。 要求をやり直してください。
SQLCODE: -113
SQLSTATE: 28000、2E000、42602
SQL0114
メッセージ・テキスト: リレーショナル・データベース &1 が現行リレーショナル・データベース &2 と同じでない。
原因: ステートメントの 3 部分名にリレーショナル・データベース &1 が指定されましたが、 その名前は現行リレーショナル・データベースと同じではありません。
回復手順: 指定されたリレーショナル・データベース名が現行リレーショナル・データベース名と同じになるように,ステートメントを変更してください。
SQLCODE: +114、-114
SQLSTATE: 01536、42961
SQL0115
メッセージ・テキスト: 比較演算子 &1 が正しくない。
原因: 等号および非等号以外の単純比較演算子は項目のリストでは使用できません。 ANY, ALL,およびSOME比較演算子の後に続くのは,式や項目のリストではなく,全選択でなければなりません。 JOIN条件やCASE式にSUBQUERYを指定することはできません。
回復手順: 比較またはオペランドのいずれかを変更してください。 要求をやり直してください。
SQLCODE: -115
SQLSTATE: 42601
SQL0117
メッセージ・テキスト: ステートメントに入っている値の個数が間違っている。
原因: 次の条件の1つが存在します。
  • INSERT または UPDATE ステートメントの場合、値の数が、列の数と同じではありません。
  • UPDATE ステートメントの場合、行の全選択の選択リスト中の項目数が、SET 文節にリストされている列数と一致していません。
  • 副選択を伴った INSERT の場合、選択リスト中の項目数が、INSERT の列数と同じではありません。
  • INSERT ステートメントの場合、列リストから省略された 1 つ以上の列が、NOT NULL として作成されています。
  • INSERT ステートメントの場合、INSERT 用として指定された 1 つ以上の列が NOT NULL として作成されていて、ステートメントは、挿入される値として DEFAULT を指定しています。
  • SET または VALUES INTO の場合、値の数が、ターゲット・ホスト変数の数と同じではありません。
回復手順: ステートメントを訂正して,各カラムに1つの値を指定してください。 小数点として指定された文字が数値リテラルで正しく使用されて いることを確認してください。 INSERTカラム・リストで指定されていないカラムがNOT NULLとして作成されている場合には, それらのカラムに値を指定してください。 データ変更INSERTステートメントにINCLUDE節が含まれる場合には,すべてのINCLUDEカラムに値を確実に指定してください。 要求をやり直してください。
SQLCODE: -117
SQLSTATE: 42802
SQL0118
メッセージ・テキスト: &2 の中のテーブル &1 が、FROM 文節にも指定されました。
原因: &2 の中のテーブル &1 は、この INSERT、UPDATE、または DELETE ステートメントのオブジェクト・テーブルとして指定され、副選択の FROM 文節または副照会の FROM 文節中でも指定されました。 操作の対象であるテーブルを同時に副選択に指定するこ とはできません。 このことは,ステートメント中で参照される基本テーブルまたはビ ューにも適用されます。 操作の対象と同じ名前のTOFILEパラメーターを指定する一 時変更がこのエラーの原因である可能性があります。
回復手順: 一時変更を取り除くか,あるいは操作の対象であるテーブルが同時に 副選択に指定されないようにステートメントを変更し,その後で要求を再試行してください。
SQLCODE: -118
SQLSTATE: 42902
SQL0119
メッセージ・テキスト: HAVING 文節の欄 &1 または式が正しくない。
原因: 次のいずれかが起こっています。
  • HAVING 文節に指定された列 &1 が、集約関数内にも GROUP BY 文節の中にもありません。
  • HAVING 文節に指定された式が、集約関数内にも GROUP BY 文節の中にもありません。
回復手順: HAVING文節からカラムまたは式を取り除くか,そのカラムまたは式をGROUP BY文節に追加してください。 要求をやり直してください。
SQLCODE: -119
SQLSTATE: 42803
SQL0120
メッセージ・テキスト: 関数 &1 の使用が正しくありません。
原因: 関数 &1 は、次のとおり、指定した場所で使用することはできません。
  • 集約関数または集約関数から派生したユーザー定義関数は、SET 文節内、GROUP BY 文節内、START WITH 文節内、CONNECT BY 文節内、または JOIN 条件内で指定したり、RETURN ステートメントの戻り式として、テーブル関数の引数として、あるいは SET ステートメント、VALUES INTO ステートメント、または MERGE ステートメント内の式として指定したりすることはできません。 集約関数または集約関数から派生したユーザー定義関数をWHERE文節で使用できるのは,WHERE文節がHAVING文節の副照会内に出現する場合だけです。
  • ARRAY_AGG 関数は、SELECT INTO ステートメントの選択リストか、または SET ステートメントの右側にあるスカラー SUBQUERY にのみ指定できます。 DISTINCTをARRAY_AGGと一緒に指定することはできません。
  • OLAP 仕様は、WHERE 文節、VALUES 文節、GROUP BY 文節、HAVING 文節、START WITH 文節、CONNECT BY 文節、または JOIN 条件中に使用することはできません。 OLAP仕様は,SETステートメント,VALUES INTOステートメント,CALLステートメント,またはMERGEステートメント中の式として使用したり,UPDATEステートメントのSET文節中,CREATE INDEXステートメントのキー定義中,またはXMLTABLE関数中に使用したり,あるいはRETURNステートメントの戻り式として使用したりすることはできません。
回復手順: その関数を除去してください。 要求をやり直してください。
SQLCODE: -120
SQLSTATE: 42903
SQL0121
メッセージ・テキスト: 重複名 &1 を使用することはできない。
原因: 名前 &1 が、INSERT 文の列リスト、UPDATE 文または DELETE 文の SET 節、MERGE 文内の INSERT または UPDATE、あるいは SET または VALUES INTO 文のターゲット・ホスト変数のリストで複数回指定されている。 データ変更文では、INCLUDE句の各列名は一意でなければならず、ターゲット・テーブルで公開されている列名と重複してはならない。 指定された名前が同じでない場合には,次のいずれかの状況が発生しています。
  • オブジェクトがビューの場合には、ビュー内の 2 つの列が、基本テーブル内の同じ列を指示しています。
  • 2 つの名前が、同じシステムの列名に対応していることがあります。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 重複している列を取り除いてください。
  • ステートメントに列リストを指定して、重複している列を取り除いてください。
SQLCODE: -121
SQLSTATE: 42701
SQL0122
メッセージ・テキスト: SELECT リストの欄 &1 または式が無効です。
原因: 次のいずれかが起こっています。
  • ステートメントに SELECT 文節にある列名 &1 と集約関数が入っていて、GROUP BY 文節が指定されていない。
  • GROUP BY 文節ではなく、SELECT 文節に列名 &1 が指定されている。
  • SELECT 文節に式が指定されているが、その式が GROUP BY 文節にない。
  • ORDER BY 文節に指定されているが、SELECT 文節には指定されていない列または式が、上にリストされたグループ化規則に準拠していない。
回復手順: 次の1つを実行して,要求をやり直してください。
  • GROUP BY 文節が必要な場合には、SELECT リストおよび ORDER BY 文節中の列または式がすべて GROUP BY 文節にもあることを確認してください。
  • GROUP BY 文節が必要でない場合には、SELECT リストまたは ORDER BY 文節に、列名のある集約関数を入れないようにしてください。
SQLCODE: -122
SQLSTATE: 42803
SQL0123
メッセージ・テキスト: 関数&2のパラメーター値が正しくない。
原因: 関数&2の位置&1のパラメーターが許可されません。 式が,カラム参照またはスカラー全選択を含むことはできません。 ユーザー定義関数を参照することはできません。
回復手順: 関数の引数をサポートされる式に変更してください。 要求をやり直してください。
SQLCODE: -123
SQLSTATE: 42601
SQL0125
メッセージ・テキスト: ORDER BY の欄番号 &1 が正しくない。
原因: ステートメントでORDER BY文節に,選択可能な値の最大数(8000)よ り大きいか,あるいは結果のテーブル選択リストのカラムの数より大きいカラム番号が入って います。
回復手順: ORDER BY文節のカラム番号を訂正して結果のテーブルにカラムを指定してください。 要求をやり直してください。
SQLCODE: -125
SQLSTATE: 42805
SQL0128
メッセージ・テキスト: NULLまたはUNKNOWNの使用法が正しくない。
原因: 指定された演算子の場合には,キーワードNULLまたはUNKNOWNを使用することはでき ません。 NULLおよびUNKNOWNを使用できるのは,ISまたはIS NOTに続く述部の場合 だけです。 NULLおよびUNKNOWNは予約キーワードであり,SQLステートメントで使用する時には,名前を 区切り文字で囲んだ場合にだけカラムの名前として使用することができます。
回復手順: 演算子をISまたはIS NOTに変更するか,あるいはNULLまたはUNKNOWNがカラムの 名前である場合には,その名前を区切り文字で囲んで指定してください。
SQLCODE: -128
SQLSTATE: 42601
SQL0129
メッセージ・テキスト: SQLステートメント中のテーブルが多すぎる。
原因: SQLステートメントに入っているテーブルまたはビューが多すぎます。 単一のSQLステートメントの中で参照できるテーブルまたはビューの数は最大1000です。
回復手順: SQLステートメントを、それぞれが最大1000のテーブルをもつ2つ以上の単純なステートメントに分割してください。
SQLCODE: -129
SQLSTATE: 54004
SQL0130
メッセージ・テキスト: エスケープ文字 &1 または LIKE パターンが正しくない。
原因: エスケープ文字 &1 が正しくないか、あるいは LIKE パターン中におけ るエスケープ文字の使用が正しくありません。

次の場合には、エスケープ文字が正しくありません。

  • 長さが 1 個の SBCS 文字またはグラフィック文字でない。
  • シフトイン (X'0E') およびシフトアウト (X'0F') 文字が指定された。

次の場合には、LIKE パターンが正しくありません。

  • パターンを構成している漢字ストリング式に、DBCS パーセント記号、DBCS 下線、またはもう 1 つの ESCAPE 文字が後に続いていない ESCAPE 文字が含まれています。
  • パターンを構成している漢字ストリング式に、DBCS パーセント記号、DBCS 下線、またはもう 1 つの ESCAPE 文字が後に続いていない ESCAPE 文字が含まれています。
回復手順: 有効なLIKEパターンおよびエスケープ文字を指定してください。 要求をやり直してください。
SQLCODE: -130
SQLSTATE: 22019、22025
SQL0131
メッセージ・テキスト: 比較演算子LIKEのオペランドが矛盾しているか,または正し くない。
原因: LIKE述部の引数は文字,2進数,図形,または数値でなければなりません。 次のエラーの1つが起こっています。
  • LIKE 演算子の右のオペランドが文字、バイナリー、グラフィック、または数値ではない。
  • LIKE 述部のオペランドに互換性がない。
  • ESCAPE 文字が文字、バイナリー、またはグラフィックではない。
回復手順: LIKE述部のオペランドが文字,2進数,図形,または数値となるようにしてください。 ESCAPE文字は文字,2進数,または図形でなければなりません。 要求をやり直してください。
SQLCODE: -131
SQLSTATE: 42818
SQL0132
メッセージ・テキスト: LIKEの述語が正しくない。
原因: 2番目のオペランドまたはLIKEの述語に指定されたエスケープ文字が正しくありません。 2番目のオペランドはストリングまたは数値式でなければなりません。 ESCAPE文字はストリング式でなければなりませんが,特殊レジスターとすることはできません。
回復手順: 正しくないオペランドまたは演算子を変更してください。 要求をやり直してください。
SQLCODE: -132
SQLSTATE: 42824
SQL0133
メッセージ・テキスト: SQL関数の相関カラムの演算子が正しくない。
原因: HAVING文節のSUBQUERYにある集約関数が正しくありません。関数の引数が,演算子(+, -, *, /,**)または相関参照に適用さ れるスカラー関数を含む式になっています。 内部副選択からの使用可能な値がなけ れば外部(相関)副選択でグループの計算値を決定することができないので, 相関参照に対してこの操作を実行することはできません。
回復手順: 演算子がスカラー関数の場合には,集約関数をそのスカラー関数の引数 にしてください。 そうでない場合には,相関参照の演算子を取り除くか,あるい は集約関数の引数の中に入らないように演算子を移動してください。 例えば,次の形 式の式の指定

AVG( outertable.column1 + innertable.column2 )

これは無効ですが、次の式、

AVG( outertable.column1 ) + innertable.column2

これは有効です。

SQLCODE: -133
SQLSTATE: 42906
SQL0134
メッセージ・テキスト: ストリング,引数,またはパスが長すぎます。
原因: SET PATH 文または SET OPTION SQLPATH 文で、268 個を超えるスキーマが指定されました。
回復手順: パスのスキーマ数が最大値を超えないように変更する。 要求をやり直してください。
SQLCODE: -134
SQLSTATE: 42907
SQL0136
メッセージ・テキスト: ORDER BY, GROUP BY,または結合式が長すぎます。
原因: 次の演算ではすべての式の合計長が3.5ギガバイトを超えることができません。
  • ORDER BY
  • GROUP BY
  • OUTER JOIN および EXCEPTION JOIN
  • OLAP 配列
  • ARRAY_AGG 関数
  • XMLAGG 関数

データ・コピー可能オプションが ALWCPYDTA(*NO) である場合には、すべての式の合計長が 32766 バイトを超えることはできません。

CUBE グループ化では、最大 10 個の式を使用できます。

回復手順: 順序,グループ,または結合値の長さがその限界を超えないように,ステートメントを変更してください。 文節から1つ以上の式を除去する必要があります。 要求をやり直してください。
SQLCODE: -136
SQLSTATE: 54005
SQL0137
メッセージ・テキスト: 結果が長すぎる。
原因: 連結演算子またはHEXスカラー関数が指定されましたが,演算の結果の 長さが許容最大長を超えています。 最大長は次の通りです。
  • 結果が固定長文字または固定長バイナリーの場合には、32766 バイト。
  • 結果が可変長文字または可変長バイナリーの場合には、32740 バイト。
  • 結果が固定長グラフィックの場合には、DBCS の 16383 文字。
  • 結果が可変長グラフィックの場合には、DBCS の 16370 文字。
  • 結果がバイナリーまたは文字 LOB の場合には、2147483647 バイト。
  • 結果が 2 バイト文字 LOB の場合には、1073741823 DBCS 文字。
回復手順: 式を変更して,結果の長さを許容最大長以下に減らしてください。 図 形データから文字データへの変換を行っている場合には,当該スカラー関数に指定 された結果の長さは8191未満でなければなりません。 オペランドの長さを減らすた めには,SUBSTRスカラー関数を使用することができます。 要求をやり直してください。
SQLCODE: -137
SQLSTATE: 54006
SQL0138
メッセージ・テキスト: サブストリング化関数の引数 &1 が正しくない。
原因: SUBSTRING関数の引数2または3,LEFT関数の引数2,あるいはOVERLAY関数の引数3が範囲外に なっているか,あるいは評価が整数にならない式になっています。
  • SUBSTRING 関数の場合には、引数 2 は結果の最初の文字の桁を指定し、引数 3 は結果の長さを指定。 引数2は最初の引数の有効な桁でなければなりません。 引数3は引数2とストリングの終わりの間の引数1の長さを超えてはいけません。
  • LEFT 関数の場合には、引数 2 は結果の長さを指定。 引数2は引数1の 長さを超えてはいけません。
  • OVERLAY 関数の場合、引数 3 は引数 1 の長さを超えてはいけません。
  • 引数 1 が文字ストリングまたはバイナリー・ストリングの場合には、文字は 1 バイトであり、引数 1 がグラフィック・ストリングの場合には、文字は DBCS 文字とする。
  • 引数が *N の場合には、引数の 1 つが正しくない。しかし、その引数の 番号は不明です。
回復手順: 引数が*Nの場合には,ジョブ・ログ中の前にリストされたメッセー ジを表示するか(DSPJOBLOGコマンド),あるいはこの画面からF10キー(ジョブ ・ログのメッセージの表示)を押して,どの引数にエラーがあるかを調べてください。 SUBSTR関数に指定された引数の1つまたは複数を変更してください。 INTEGERス カラー関数を使用して,引数を整数の結果に変換することができます。 要求をやり直してください。
SQLCODE: +138、-138
SQLSTATE: 01544、22011
SQL0142
メッセージ・テキスト: SET SESSION AUTHORIZATIONステートメントは許可されません。
原因: このインターフェースを介した場合は,SET SESSION AUTHORIZATIONステートメントの使用が制限されます。
回復手順: 別のインターフェースを介してSET SESSION AUTHORIZATIONステートメントを使用してください。
SQLCODE: -142
SQLSTATE: 42612
SQL0143
メッセージ・テキスト: ステートメント &1 は無視されます。
原因: ステートメント &1 は、DB2 for IBM i によってサポートされていません。 無視されています。
回復手順: 処置は必要ありません。
SQLCODE: +143
SQLSTATE: 01505
SQL0144
メッセージ・テキスト: セクション番号 &1 が正しくない。 現行の高セクション番号は &3 です。 理由 &2。
原因: 理由コードは &2 です。

理由コード 1、セクション番号 &1 がすでに割り当てられている。

理由コード 2、セクション番号 &1 が次の使用可能な番号より小さい。

理由コード 3、 ENDBND のセクション番号が割り当てられた最高の番号より小さい。

理由コード 4、セクション番号が SQL パッケージ中にない。

理由コード 5、セクション番号ゼロは正しくない。

回復手順: 弊社技術員に連絡して,問題を報告してください。
SQLCODE: -144
SQLSTATE: 58003
SQL0145
メッセージ・テキスト: DB2 FOR IBM I以外のアプリケーション・サーバーでは再帰はサポートされていません。
原因: IBM i の Db2 でないアプリケーション・サーバーに接続すると、 &2 のプログラム &1 が再帰的に呼び出された。 プログラムは、& 4の製品 ID を持つアプリケーション・サーバー &3 に接続されました。 アプリケーション・サーバーが IBMプロダクトである場合には,IDはPPPVVRRMの形式です。この場合に:

ppp は、次のように製品を識別します。

DB2 for z/OS の DSN

VM および VSE の ARI

DB2 for IBM i の QSQ

他のすべての DB2 製品の SQL

vv は、'07' などの、2 桁のバージョン ID です。

rr は、2 桁のリリース ID です (例えば、'01' など)。

m は、'0' などの、1 桁の修正レベルです。

例えば、アプリケーション・サーバーが DB2 for z/OS のバージョン 7 リリース 1 であれば、この製品 ID の値は 'DSN07010' になります。

回復手順: DB2 FOR IBM I以外のサーバーに接続された時,再帰的に呼び出されないように,アプリケーションを変更してください。
SQLCODE: -145
SQLSTATE: 55005
SQL0150
メッセージ・テキスト: &2のビュー,索引,テーブル&1は読み取り専用です。
原因: 更新、削除、挿入、マージ、または切り捨ては許可されません。&2 の &1 は読み取り操作の場合にのみ使用できます。

次の条件の 1 つまたは複数が該当する場合には、ビューまたは論理ファイルは読み取り操作でしか使用することができません。

-- ビューにDISTINCTキーワード,GROUP BY文節,HAVING文節,CONNECT BY文節,FOR SYSTEM_TIME文節,または外部全選択の集約関数が入っている。

-- ビューまたは論理ファイルが外部全選択内の複数のテーブルを参照する。

-- ビューに外部全選択のテーブルと同じテーブルを参照する SUBQUERY が含まれる。 このタイプのビューは行の挿入に使用することができます。

-- ビューに外部全選択中の UNION、EXCEPT、または INTERSECT が含まれる。

-- ビューのすべての列が式、定数、または特殊レジスターである。

-- 論理ファイルのすべての列が入力専用である。

-- ビューの選択リストで、基本テーブルの NULL 値またはデフォルト値を使用できない列を除外している。 ビューへの挿入は許可されません。

-- ヒストリー・テーブルは直接変更できません。

回復手順: &1の基本テーブルを使用してデータの挿入,削除,更新,マージ,または切り捨てを行うようステートメントを変更してください。 テーブルまたはビューに行を挿入する場合には,INSTEAD OFトリガーがビューに定義されていない限り,テーブルのヌル値または省略時の値を使用できないすべてのカラムに値を割り当てなければなりません。 ヒストリー・テーブルでデータを変更するには,まず,バージョン管理を除去してください。 要求をやり直してください。
SQLCODE: -150
SQLSTATE: 42807
SQL0151
メッセージ・テキスト: &3 のテーブル &2 の列 &1 は、更新できません。
原因: &1 は、INSERT ステートメントまたは UPDATE ステートメント上の SET 文節の暗黙的または明示的な列リストの列です。&1 が読み取り専用である理由は次のとおりです。
  • 式、定数、または特殊レジスターから派生した。
  • 更新できない基礎になっているビューの列で定義された。
  • 入力専用として定義された論理ファイルの列。

拡張標識サポートが有効になっていないか、または拡張標識サポートは有効になっていても、標識値が UNASSIGNED ではありません。

回復手順: 列リストまたは SET 文節から列 &1 を除去してください。 これが INSERT で、列リストが指定されていない場合には、列 &1 を取り除くように列リストを指定してください。 拡張標識サポートが使用可能になっている場合には,UNASSIGNED値を含む標識変数を指定してください。 要求をやり直してください。
SQLCODE: -151
SQLSTATE: 42808
SQL0152
メッセージ・テキスト: &2 の制約 &1 の制約タイプが正しくない。
原因: ALTER TABLE ステートメントを使用して、&2 の制約 &1 を消去しようとしました。 この制約はCHECK, UNIQUE, PRIMARY,またはFOREIGN KEYとして指定さ れていて,見つかった制約と同じではありません。
回復手順: 消去したい制約の名前とタイプを確認してください。 要求をやり直してください。
SQLCODE: -152
SQLSTATE: 42809
SQL0153
メッセージ・テキスト: カラム・リストが必要です。
原因: 結果のカラムの名前が指定されていないので,カラム・リストの指定が必要です。 結果のカラムの名前は,次の理由のいずれかのために指定されていません。
  • SELECT リストの要素が列ではなく、AS 文節が指定されていない。
  • 2 つの結果の列が同じ列名である。 すべてのカラム名およびシステムカラム名はビュー定義で固有としなければなりません。 2 つの列名が同じである場合には、その列名は &1 です。
回復手順: 次の1つを実行して,要求をやり直してください。
  • テーブル、ビュー、または派生テーブルに列名のリストを指定する。
  • AS 文節を指定して、名前のない要素に固有の名前を割り当てるか、 あるいは SELECT リストの重複している列名を変更する。
SQLCODE: -153
SQLSTATE: 42908
SQL0154
メッセージ・テキスト: CREATE VIEWのUNIONおよびUNION ALLが正しくない。
原因: 定義にUNIONまたはUNION ALL文節が入っているので,CREATE VIEW ステートメントに定義されたビューを作成することができません。
回復手順: UNION文節が入っている定義をもつビューを作成しないようにして ください。 ステートメントを訂正して,要求を再試行してください。
SQLCODE: -154
SQLSTATE: 42909
SQL0155
メッセージ・テキスト: 変換テーブル &1 は読み取り専用です。
原因: ステートメントを使用できません。 SQL トリガーの変換テーブル &1 は読み取り操作にしか使用できません。
回復手順: ステートメントを変換テーブル以外のテーブルを指定するように変更するか,あるいはステートメントを除去します。 変換テーブルはSELECTステートメントに指定できます。 名前が変換テーブルと同じ場合があるSQLトリガー内のテーブル名は修飾します。 要求をやり直してください。
SQLCODE: -155
SQLSTATE: 42807
SQL0156
メッセージ・テキスト: &2 の &1 が正しいタイプでない。
原因: DROP TABLE、CREATE INDEX、LOCK TABLE、ALTER TABLE、CREATE MASK、CREATE PERMISSION、CREATE TRIGGER、または ALTER PROCEDURE ステートメントが指定されましたが、&2 の &1 が間違ったタイプです。 DROP TABLE, CREATE INDEX, LOCK TABLE, ALTER TABLE, CREATE OR REPLACE TABLE, CREATE MASK,およびCREATE PERMISSIONではテーブルを指定する必要があります。 ヒストリー・テーブルの除去にDROP TABLEは使用できません。 BEFOREまたはAFTERトリガーのCREATE TRIGGERはテーブルを指定していなければなりません。 INSTEAD OFトリガーのCREATE TRIGGERはビューを指定していなければなりません。 BEFORE INSERTトリガーのCREATE TRIGGERでは,ヒストリー・テーブルを指定できません。
回復手順: ステートメントを変更して,正しいオブジェクト・タイプを使用してください。 要求をやり直してください。
SQLCODE: -156
SQLSTATE: 42809
SQL0157
メッセージ・テキスト: FOREIGN KEY 文節で &2 の &1 が正しくない。
原因: CREATE TABLE または ALTER TABLE ステートメントの FOREIGN KEY 参照 制約の定義で、REFERENCES 文節に &2 のビューまたは論理ファイル &1 が指定され ています。 FOREIGN KEY文節にビューおよび論理ファイルを指定することはできません。
回復手順: 親キーを含む基本テーブルをFOREIGN KEY文節に指定してください 。 要求をやり直してください。
SQLCODE: -157
SQLSTATE: 42810
SQL0158
メッセージ・テキスト: 指定されたカラムの数が矛盾している。
原因: 次のいずれかが起こっています。
  • CREATE VIEW ステートメントのビューに指定された列名の数が、その後の全選択に指定されたエレメントの数と同じではありません。
  • CREATE TABLE ステートメントのテーブルに指定された列名の数が、その後の全選択に指定されたエレメントの数と同じではありません。
  • CREATE INDEX ステートメントの RENAME 文節に指定された列の数が、TO 文節の列の数と同じではありません。
  • 相関文節に指定された列名の数が、テーブル、派生テーブル、表関数、データ変更テーブル参照、または UNNEST のエレメント数と同じではありません。
  • 共通テーブル式の列リストに指定された列名の数が、全選択に指定されたエレメント数と同じではありません。
  • ユーザー定義表関数の RETURNS TABLE 文節に指定された列数が、RETURN ステートメントの全選択で指定されたエレメント数と同じではありません。
  • ユーザー定義テーブル関数のRETURNS TABLE文節に指定されたカラムの数が,PIPEステートメントで指定された要素数と同じではありません。
回復手順: 結果の各カラムにカラムの名前を指定してください。 要求をやり直してください。
SQLCODE: -158
SQLSTATE: 42811
SQL0159
メッセージ・テキスト: &2 の &1 が正しいタイプでない。
原因: DROP INDEX、DROP VIEW、DROP ALIAS、COMMENT ON INDEX、COMMENT ON ALIAS、RENAME INDEX、または REFRESH TABLE ステートメントが指定されていますが、&2 の &1 が正しいタイプではありません。 DROP INDEXを使用できるのは指標を除外する場合だけです。 DROP VIEWを使用できるのはビューを除外する場合だけです。 DROP ALIASを使用で きるのは,別名を除外する場合だけです。 COMMENT ON INDEXを使用できるのは指標 に注記付けする場合だけです。 COMMENT ON ALIASを使用できるのは,別名に注記付 けする場合だけです。 RENAME INDEXを使用できるのは指標を名前変更する場合だけ です。 REFRESH TABLEは,実体化されたQUERYテーブルを最新表示する場合にのみ使用できます。

BEFORE または AFTER トリガーである場合の CREATE TRIGGER は、テーブルを指定する必要があります。 INSTEAD OFトリガーである場合のCREATE TRIGGERは,ビューを指定していなければなりません。

USER キーワードのある GRANT または REVOKE は、ユーザー・プロファイルを指定する必要があります。 GROUPキーワードのあるGRANTまたはREVOKEは,グループ・プロファイルを指定していなければなりません。

回復手順: 次の1つを実行して問題を訂正し,要求を再試行してください。

これが DROP ステートメントの場合には、次のようにします。

  • &1 が索引の場合には、DROP INDEX ステートメントを使用してください。
  • &1 がビューの場合には、DROP VIEW ステートメントを使用してください。
  • &1 がテーブルの場合には、DROP TABLE ステートメントを使用してください。
  • &1 が別名の場合には、DROP ALIAS ステートメントを使用してください。

これが COMMENT ON INDEX または COMMENT ON ALIAS ステートメントで、&1 が テーブルまたはビューの場合には、COMMENT ON TABLE ステートメントを使用してください。

これが RENAME INDEX ステートメントで、&1 がテーブルまたはビューの場合に は、RENAME TABLE ステートメントを使用してください。

これが REFRESH TABLE ステートメントの場合には、実体化された QUERY テーブルを指定してください。

これが CREATE TRIGGER の場合、BEFORE または AFTER トリガーにはテーブルを指定し、INSTEAD OF トリガーにはビューを指定してください。

これが GRANT または REVOKE ステートメントの場合、正しいタイプのプロファイルを指定するか、USER または GROUP キーワードを除去してください。

SQLCODE: -159
SQLSTATE: 42809
SQL0160
メッセージ・テキスト: &2 のビュー &1 に WITH CHECK OPTION を指定することはできない。
原因: 全選択に次の 1 つが入っているため、CREATE VIEW ステートメントで &2 のビュー &1 に対して WITH CHECK OPTION 文節を指定することはできません。
  • 最初の FROM 文節が複数のテーブルまたはビューを識別している。
  • 最初の SELECT 文節に DISTINCT キーワードが入っている。
  • UNION、EXCEPT、または INTERSECT が指定されている。
  • 外部副選択に GROUP BY 文節が入っている。
  • 外部副選択に HAVING 文節が入っている。
  • 外部副選択に集約関数が入っている。
  • 外部副選択に UNION、EXCEPT、または INTERSECT が入っている。
  • 外部副選択中のすべての選択項目が式である。
  • WHERE 文節にグローバル変数が含まれている。
  • SELECT ステートメントにスカラー副選択が含まれている。
  • WITH CASCADED CHECK OPTION 文節が指定されていて、FROM 文節のビューにスカラー副選択が含まれている。
  • 特殊レジスターもしくは DETERMINISTIC、MODIFIES SQL DATA、または EXTERNAL ACTION 以外の関数が、外部選択リストとは別の場所にある。
  • FROM 文節のビューに、その FROM 文節で定義された INSTEAD OF トリガーがある。
  • WHERE 文節に VERIFY_GROUP_FOR_USER スカラー関数が含まれている。
回復手順: WITH CHECK OPTION文節を除去してください。
SQLCODE: -160
SQLSTATE: 42813
SQL0161
メッセージ・テキスト: 結果の行が &2 のビュー定義 &1 を満足しないので、INSERT または UPDATE を行うことができない。
原因: 結果の行が &2 の &1 のビュー定義を満足しなかったので、 INSERT または UPDATE を行うことができませんでした。 このビューまたはその基礎になって いるビューのいずれかにWITH CHECK OPTION文節が入っています。 データ変更テーブル参照では、ビューは WITH CASCADED CHECK OPTION 節を含むものとして扱われます。
回復手順: 挿入または更新するデータを,ビュー定義に適合するように変更して ください。
SQLCODE: -161
SQLSTATE: 44000
SQL0170
メッセージ・テキスト: 関数 &1 の引数の数が正しくない。
原因: 引数の数が正しくない関数が指定されました。 この関数がユーザー定義関数への参照になるように意図されている場合には,このシグニチャーを持つ関数が現行パスで見つかりませんでした。
回復手順: 関数に指定する引数の数を訂正してください。 関数については、 IBM i DocumentationのDatabaseカテゴリにある IBM i SQL Referenceトピックコレクションの Db2。 これがユーザー定義関数である場合には,パスまたは関数シグニチャーを訂正してください。 要求をやり直してください。
SQLCODE: -170
SQLSTATE: 42605
SQL0171
メッセージ・テキスト: 関数 &2 の引数 &1 が正しくない。
原因: 指定した関数 &2 の引数 &1 のデータ・タイプ、長さ、または値が正し くありません。
回復手順: スカラー関数の詳細については、 IBM i Documentation の Database カテゴリにある Db2 for IBM i SQL Reference トピック・コレクションを参照してください。 この関数に指定されている引数を訂正します。 要求をやり直してください。
SQLCODE: -171
SQLSTATE: 22014, 22016, 2201T, 2201V, 22546, 42815
SQL0172
メッセージ・テキスト: 関数 &1 は INCLUDE では許可されていません。
原因: 関数 &1 を INCLUDE 文節に指定することはできません。 INCLUDE文節に指定できる関数は,集約関数AVG,COUNT,COUNT_BIG,SUM,STDDEV,STDDEV_SAMP,VARIANCE,およびVARIANCE_SAMPとこれらの関数のソース派生関数のみです。 DISTINCTキーワードを指定することはできません。
回復手順: 当該関数を,サポート対象の集約関数に変更してください。 要求をやり直してください。
SQLCODE: -172
SQLSTATE: 42601
SQL0175
メッセージ・テキスト: COMMIT, ROLLBACK,またはSAVEPOINTに失敗しました。
原因: 理由コード &2 のためにコミット、ロールバック、または SAVEPOINT に失敗しました。 作業論理単位識別名は &1 です。 理由コードとそ の意味は次の通りです。
  • 1 -- トランザクション・プログラム・エラーが起こった。
  • 2 -- コミットの結果としてロールバックとなった。
  • 3 -- 要求されたトランザクション操作に失敗した。
  • 4 -- SAVEPOINT 操作に失敗した。
回復手順: ジョブ・ログ中の前のメッセージを表示して,適切な処置を取ってく ださい。
SQLCODE: -175
SQLSTATE: 3B504、58028
SQL0177
メッセージ・テキスト: CHECK条件テキストが長すぎます。
原因: CHECK制約のCHECK条件テキストが2000バイトより長く,SYSCHKCST カタログ・ビューに収まりません。 CHECK条件テキストをシステム・カタログ・ビ ューに記憶することができません。 SYSCHKCSTカタログ・ビューのCHECK_CLAUSEカラム には,この制約についてヌル値が入れられます。
回復手順: 回復処置は不要です。 システム・カタログ・ビューに完全なテキスト が必要な場合には,1つの大きなCHECK制約の代わりに複数のCHECK制約の使用を 考慮してください。
SQLCODE: +177
SQLSTATE: 01009
SQL0178
メッセージ・テキスト: &2 のビュー &1 の QUERY 式テキストが長すぎる。
原因: &2 のビュー &1 用の QUERY 式テキストが 10000 バイトより長くなっていて、SYSVIEWS カタログ・ビューに収まりません。 このステートメント・テキストをシステム・カタログ・ビューに記憶させることはできません。 このビューについては,ヌル値がSYSVIEWSカタログ・ビューのVIEW_DEFINITIONカラムに入れられます。
回復手順: 回復処置は不要です。 完全なテキストがシステム・カタログ・ビューで必要な場合には,そのビューをQUERY式の長さを10000バイト以下にして再作成してください。
SQLCODE: +178
SQLSTATE: 0100A
SQL0180
メッセージ・テキスト: 日付,時刻,またはタイム・スタンプ値の構文が正しくない。
原因: 日付、時刻、またはタイム・スタンプの値のストリング表記が、指定または暗黙指定されたデータ・タイプおよび形式の構文に準拠していません。&2 は、無効な文字ストリング定数、またはストリングを含んでいる列またはホスト変数のいずれかです。 名前が*Nの場合には,値はステートメントに指定された式です。 ストリングがホス ト変数で見つかった場合には、ホスト変数番号は &1 です。
回復手順: 日付,時刻,またはタイム・スタンプの値がそれぞれの表すデータ・タ イプの構文に従っているかどうかを確認してください。 要求をやり直してください。
SQLCODE: +180、-180
SQLSTATE: 01534、22007
SQL0181
メッセージ・テキスト: 日付,時刻,またはタイム・スタンプ・ストリングの値が正しくな い。
原因: 日付、時刻、またはタイム・スタンプの値のストリング表記が、許容範囲内にありません。&2 は、無効な文字ストリング定数、またはストリングを含んでいる列またはホスト変数のいずれかです。 名前が*Nの場合には,値はステートメントに 指定された式で見つかりました。 値がホスト変数で見つかった場合には、ホスト変数 番号は &1 です。 日付,時刻,またはタイム・スタンプ値の正しい範囲は次の通りです。
  • 年の範囲は 0001 から 9999 です。 日付の形式が*MDY, *YMD, *DMY,および*JULの場合は,年は1940から2039の範囲内でなければなりません。
  • 月の範囲は 1 から 12 です。
  • 日の範囲は、4 月、6 月、9 月、および 11 月の場合は 1 から 30、2 月の場合 は 1 から 28、その他の月の場合は 1 から 31 です。 閏年の2月は,日の範囲を1 - 29と することができます。
  • 年間通算日の日の範囲は、うるう年の場合は 001 から 366 で、その他の年は 001 から 365 です。
  • 時間の範囲は 0 から 24 です。 時間が24の場合には,時刻の値のその他の部分 はゼロでなければなりません。 時刻形式がUSAの場合には,時間を12より大きくす ることはできません。
  • 分の範囲は 0 から 59 です。
  • 秒の範囲は 0 から 59 です。
  • 小数点以下の秒の範囲は 0 から 999999999999 です。
回復手順: 日付,時刻,またはタイム・スタンプの値がそれぞれの表すデータ・タ イプの範囲に従っているかどうかを確認してください。 要求をやり直してください。
SQLCODE: +181、-181
SQLSTATE: 01534、22007
SQL0182
メッセージ・テキスト: 日付,時刻,またはタイム・スタンプの式が正しくない。
原因: 次のいずれかが起こっています。
  • 加算のオペランドの一方が日付で、他方が日付期間になっていない。
  • 加算のオペランドの一方が時刻で、他方が時刻期間になっていない。
  • 加算のオペランドの一方がタイム・スタンプで、他方が期間になっていない。
  • 減算のオペランドの一方が日付で、他方が日付、文字、または日付期間になっ ていない。
  • 減算のオペランドの一方が時刻で、他方が時刻、文字、または時刻期間になっ ていない。
  • 減算のオペランドの一方がタイム・スタンプで、他方がタイム・スタンプ、文字、また は期間になっていない。
回復手順: 演算式に正しい日付,時刻,またはタイム・スタンプ式が含まれるように演算 式を訂正してください。 要求をやり直してください。
SQLCODE: -182
SQLSTATE: 42816
SQL0183
メッセージ・テキスト: 日付またはタイム・スタンプの式の結果が正しくない。
原因: 演算操作の結果が,日付の有効な範囲である0001-01-01から9999-12-31 までの範囲にない日付またはタイム・スタンプになっています。 結果がYMD, MDY, DMY, またはJULの形式の日付である場合には,年は1940 - 2039でなければなりません 。 これが FETCH、組み込み SELECT、SET または VALUES INTO の場合、INTO 文節中のホスト変数の相対位置は &1 であり、ホスト変数名は &2 です。
回復手順: 演算式を訂正するか,あるいはエラーが起こった時刻に処理中であっ たデータを訂正してください。 日付の形式がYMD, MDY, DMYまたはJULで,結果が 1940 -2039でない場合には,日付の形式にUSA, ISO, EUR,またはJISを指定して ください。 日付の形式はSTRSQLまたはCRTSQLXXXコマンドで指定することができ, また,CHGJOBコマンドを使用してジョブで変更することができます。 要求をやり直してください。
SQLCODE: +183、-183
SQLSTATE: 01535、22008
SQL0184
メッセージ・テキスト: 式の中でパラメーター・マーカーを使用することはできない。
原因: 日付/時刻演算式のオペランドとしてパラメーター・マーカーを使用することはできません。
回復手順: 算術式を訂正します。 要求をやり直してください。
SQLCODE: -184
SQLSTATE: 42610
SQL0187
メッセージ・テキスト: ラベル付き期間の使用は正しくない。
原因: 次のいずれかが起こっています。
  • ラベル付き期間が指定されているが、演算子プラスまたはマイナスのオペラン ドになっていない。
  • 年、月、または日のラベル付き期間が加算または減算のオペランドとして指定 されていて、他のオペランドが日付またはタイム・スタンプになっていない。
  • 時、分、または秒のラベル付き期間が加算または減算のオペランドとして指定 されていて、他のオペランドが時刻またはタイム・スタンプになっていない。
  • マイクロ秒のラベル付き期間が加算または減算のオペランドとして指定されて いて、他のオペランドがタイム・スタンプになっていない。
  • ラベル付き期間が減算の左オペランドとして指定されている。
  • ラベル付き期間に指定された値が数字タイプになっていない。
回復手順: ラベル付き期間の使用を訂正します。 要求をやり直してください。
SQLCODE: -187
SQLSTATE: 42816
SQL0188
メッセージ・テキスト: &1 は名前の正しいストリング表現でない。
原因: ホスト変数に,次の理由の1つのために正しくない名前のストリング表現が入っています。理由は次の1つです。
  • ホスト変数が空である。
  • 最初の文字がピリオド、スラッシュ、またはブランクになっている。
  • 識別コードの数が、オブジェクトの名前に許される最大数を超えている。 例えば ,ホスト変数はテーブル名を識別しますが,ホスト変数には4つ以上のIDが入っています。 テーブル名には最大3つのIDを入れることができます。 リレーショナル・データベース名には,最大1つのIDを入れることができます。
  • 識別コードが長すぎる。
  • 区切り文字付き識別コードに入っていないピリオドの後に、ピリオドまたはブランクが続いている。
  • 区切り文字付き識別コードに入っていないスラッシュの後に、スラッシュまた はブランクが続いている。
  • ブランクの後にブランク以外の文字が続いている。
  • 区切り文字付き識別コードに文字が入っていない。
  • 区切り文字付き識別コードの後に、ピリオド、スラッシュ、 またはブランク以外の文字が続いている。
  • 区切り文字付き識別コードから、終わり区切り文字が脱落している。
回復手順: 名前を変更してください。 要求をやり直してください。
SQLCODE: -188
SQLSTATE: 22503、28000、2E000
SQL0189
メッセージ・テキスト: コード化文字セット識別コード &1 は正しくない。
原因: 次の理由の 1 つにより、コード化文字セット識別コード (CCSID)&1 が正しくありません。
  • CCSID が EBCDIC ではない。
  • CCSID がシステムによってサポートされていない。
  • データ・タイプに対して CCSID が正しくない。
  • グラフィック・データに CCSID を指定する場合には、CCSID は DBCS CCSID でなければならない。
  • UCS-2 または UTF-16 データに CCSID を指定する場合には、CCSID は UCS-2 または UTF-16 CCSID でなければならない。
  • XML データまたは JSON データに CCSID を指定する場合には、CCSID は SBCS またはユニコードでなければならない。 CCSIDをDBCSや65535にすることはできません。
  • CCSID を CLOB、DBCLOB、または DATALINK データに指定する場合には、CCSID は 65535 にしてはいけません。
  • XMLTABLE 関数または JSON_TABLE 関数の結果列に CCSID を指定する場合には、CCSID は 65535 にしてはならない。
  • FILE LINK CONTROL をもつ DATALINK 列が複数ある場合には、それらの列はすべて同じ CCSID をもたなければならない。
  • NORMALIZED 文節は、UTF-8 または UTF-16 CCSID の場合にしか指定できない。
回復手順: ステートメント中のすべてのCCSID値がシステムでサポートされていて,このデータ・タイプに有効であることを確認してください。 有効なCCSID値のリストについては、 IBM i DocumentationのDatabaseカテゴリにある Db2 for i SQL Referenceトピック・コレクションを参照のこと。
SQLCODE: -189
SQLSTATE: 22522
SQL0190
メッセージ・テキスト: &2 の &1 の欄 &3 の属性が矛盾している。
原因: &2 の &1 の列 &3 に指定された属性が既存の列の属性と矛盾しています 。 データ・タイプ,長さ,または文節のいずれかが正しくありません。 システム期間一時テーブル内のカラムは,これの変更によってデータ・タイプが失われる可能性があるときは,変更できません。
  • 数値の列を数値でないタイプの列に変更することはできません。
  • 文字列を DATE、TIME、TIMESTAMP、または数値列に変更することはできません。
  • DATE、TIME、または TIMESTAMP 列は、同じタイプの列にのみ変更できます。
  • 文字の列を DBCS 専用列に変更することはできません。
  • 文字、グラフィック・データ・リンク、またはユニコードの列は CCSID が非互換の列には変更できません。
  • バイナリーの列をバイナリーでない列には変換できません。
  • バイナリーでない列をバイナリーの列には変換できません。
  • データ・リンク列はそれより長さが短い列には変更できません。
  • タイプが新しいタイプにプロモート可能なものであれば、列を強く型付けされた特殊タイプに変更することができます。 強く型付けされた特殊タイプのカラムは,別のタイプに変更できません。
  • カラムをBOOLEAN、DataLink, ROWID、またはXMLデータ型に変更することはできません。
  • NULL 値を使用できる列の長さは、固定長文字または固定長バイナリーの場合は 32765、 可変長文字または可変長バイナリーの場合は 32739、固定長グラフィックの場合は 16382、 および可変長グラフィックの場合は 16369 を超えることはできません。 データ・リンクカラムの長さは32717より大きくできません。 バイナリーLOB,文字LOB,またはXMLカラムの長さは2147483647以下でなければなりません。 2バイトLOBカラムの長さは1073741823より大きくできません。 DBCS混用カラムの長さを4未満とすることはできません。
  • 識別属性を指定できるのは、識別列として定義された列に対してだけです。 識別カラムにDROP NOT NULLを指定することはできません。
  • DROP DEFAULT を指定できるのは、既存の列に対してデフォルト値が定義されていて、デフォルト値が NULL でない場合に限られます。
  • ROW BEGIN, ROW END,またはTRANSACTION START IDとして定義されたカラムにSET GENERATED BY DEFAULTを指定することはできません。
  • システム期間一時テーブルでROW BEGIN, ROW END,またはTRANSACTION START IDとして定義されたカラムにDROP GENERATEDを指定することはできません。
  • DROP FIELDPROC を指定できるのは、既存のカラムに対してフィールド・プロシージャーが定義されている場合に限られます。
  • ADD FIELDPROC を指定できるのは、既存のカラムに対してフィールド・プロシージャーが定義されていない場合に限られます。
  • XML カラムの場合は CCSID のみを変更できます。
回復手順: 列 &3 と矛盾しない属性を指定してください。 要求をやり直してください。
SQLCODE: -190
SQLSTATE: 42837
SQL0191
メッセージ・テキスト: 混合データまたはUTF-8データの形式が正しくありません。
原因: 混合データ・ストリングまたはUTF-8データ・ストリングの形式が正しくありません。 混合データの場合には,すべてのシフトアウト文字('0E')に対応するシフトイン文字('0F')がなければなりません。 これらの文字が対になっていない場合には,そのデータは正しくありません。 大文字CCSIDでは,小文字は正しくありません。 変換は 列またはホスト変数 &2 から列またはホスト変数 &4 に向けて行われました。
回復手順: すべての混合文字データに対のシフト文字があること,およびすべてのUTF-8データが有効であることを確認してください。 UTF-8 の詳細については、 IBM ドキュメント、 https://www.ibm.com/docs/en/i のプログラミング・サポートのトピックを参照。
SQLCODE: +191、-191
SQLSTATE: 01547、22504
SQL0192
メッセージ・テキスト: 変換関数の引数が正しくない。
原因: TRANSLATE, UCASE, UPPER, LCASE,またはLOWERスカラー関数の引数 がDBCS専用ストリングになっています。 引数はSBCS, DBCS択一,または DBCS択一でなければなりません。
回復手順: 関数の引数を有効な値に変更してください。 要求をやり直してください。
SQLCODE: -192
SQLSTATE: 42937
SQL0194
メッセージ・テキスト: KEEP LOCKは使用できません。
原因: カーソル &1 について KEEP LOCK が指定されましたが、 カーソルが読み取り専用にオープンされていないので、使用することができません。 ロックを維持でき るようにするためには,カーソルが読み取り専用にオープンされていなければなりませ ん。 読み取り専用カーソルについては、 IBM i ドキュメントのデータベースカテゴリにある Db2 for i SQL プログラミングトピックを参照してください
回復手順: KEEP LOCKは指定しないか,あるいは読み取り専用のカーソルを指定 してください。
SQLCODE: -194
SQLSTATE: 42848
SQL0195
メッセージ・テキスト: &2 の &1 の最後の欄を除去することはできません。
原因: ALTER TABLEステートメントまたはCREATE OR REPLACE TABLEステートメントを使用して1つまたは複数のカラムを除去しようとしました。 テーブルの変更時には少なくとも 1 つの既存の列を保存しておかなけれ ばならないために、&2 のテーブル &1 から列を除去することはできません。
回復手順: ステートメントが完了した後では,&2のテーブル&1に少なくとも1つのカラムがあるようにしてください。
  • ALTER TABLE の場合,カラムの1つからDROPを除去するか,あるいはすべてのカラムを除去しなければならない場合には,そのテーブルを除去してから再びテーブルを作成してください。
  • CREATE OR REPLACE TABLEの場合,少なくとも1つのカラムが,そのテーブルの旧バージョンのカラム名を保持する必要があります。 すべてのカラムを変更する場合は,ON REPLACE DELETE ROWSを指定してください。
SQLCODE: -195
SQLSTATE: 42814
SQL0196
メッセージ・テキスト: & 2 の & 1 の列 & 3 を除去または名前変更することはできません。
原因: 列 & 3 または CREATE OR REPLACE TABLE を使用して、システム列名 & 3 の名前を変更しようとしました。 理由コード & 4 のため、列を除去または名前変更できません。 理由コードは次の通りです。
  • 1 - カラムは区分キーの一部です。
  • 4 - カラムは期間の定義で参照されます。
  • 5 - カラムはシステム期間一時テーブル内にあります。
  • 6 - カラムはヒストリー・テーブル内にあります。
  • 7 - カラムは,システム期間一時テーブルのトランザクション開始IDカラムです。
  • 16-ビュー、制約、トリガー、マテリアライズ照会表、または索引が列に従属しています。これは、RESTRICT が指定された CREATE OR REPLACE TABLE または ALTER TABLE のいずれかです。
  • 17 - カラムはテキスト検索索引によって参照されます。
回復手順: カラムおよびそのカラムに依存しているビュー,制約,トリガーおよび索引を除去す るためには,ALTER TABLEステートメントにCASCADEを指定してください。 CREATE OR REPLACE TABLEの場合,カラムをテーブルから削除するには,その前に依存オブジェクトが除去されなければなりません。 カラムが区分キーの 一部である場合には,ALTER TABLEステートメントにDROP PARTITIONINGを指定して区分キー からカラムを取り除いてください。 バージョン管理が除去されない限り,ヒストリー・テーブルまたはシステム期間一時テーブル内のカラムを除去することはできません。 このカラムがテキスト検索索引の一部である場合は,SYSPROC.SYSTS_DROPストアード・プロシージャーを使用して,このテキスト検索索引を除去してください。
SQLCODE: -196
SQLSTATE: 42817
SQL0197
メッセージ・テキスト: 欄 &1 を修飾することができない。
原因: UNION, EXCEPT,またはINTERSECT演算子を指定した場合には,SELECTステートメントのORDER BY文節中のカラム名を 修飾することはできません。
回復手順: カラム名から修飾子を除去してください。 ORDER BY文節に指定された名 前が結果テーブルの指定されたカラムであることを確認してください。 要求をやり直してください。
SQLCODE: -197
SQLSTATE: 42877
SQL0198
メッセージ・テキスト: SQLステートメントが空またはブランクである。
原因: SQLステートメントが空かまたはブランクです。 次のいずれかが起こっています。
  • プリコンパイル中に示された SQL ステートメントが EXEC SQL と終わりの区切 り文字との間にテキストをもっていない。 このステートメントは無視されます。
  • SQL ステートメントを含むプログラムの実行中に、PREPARE または EXECUTE IMMEDIATE ステートメントのオペランドがブランクか空。 PREPAREまたはEXECUTE IMMEDIATEステートメントのオブジェクトであるオペランド,ホスト変数,グローバル変数,またはリテラル・ストリングが,すべてブランクを含んでいたか,あるいは空ストリングでした。
回復手順: プリコンパイル中の場合には,ステートメントを訂正するかあるいは それを取り除いて,プログラムのプリコンパイルを再試行してください。 SQLステー トメントを含むプログラムの実行中の場合には,PREPAREまたはEXECUTE IMMEDIATE ステートメントを出す前に正しいSQLステートメントが指定されるように,プログ ラムの論理を訂正してください。
SQLCODE: -198
SQLSTATE: 42617
SQL0199
メッセージ・テキスト: キーワード &1 は必要ではありません。 有効なトークンは &2 です。
原因: キーワード &1 はここでは不要です。 キーワード &1 で構文エラーが検出されました。 有効なトークンの部分リストは &2 です。 このリストは,ステートメ ントが要求しないキーワードまでは正しいと見なされます。 エラーはステートメント の始めの方にある可能性がありますが,ステートメントの構文はこの時点までは正し いものと考えられます。
回復手順: 指定されたキーワードの範囲にあるSQLステートメントを調べてく ださい。 コロンまたはSQL区切り文字が抜けているものと考えられます。 SQLでは ,予約語を名前として使用する場合には,それらを区切る必要があります。 SQLステ ートメントを訂正して,要求を再試行してください。
SQLCODE: -199
SQLSTATE: 42601
SQL0203
メッセージ・テキスト: 名前 &1 があいまいです。
原因: 名前 &1 は次の理由のいずれかのためにあいまいです。
  • FROM 文節に指定された 2 つまたはそれ以上のテーブルに名前 &1 の列が入っている。 指定された名前はテーブルのカラムの名前またはシステムのカラムの名前を指示す ることができます。
  • 名前は ORDER BY 文節に指定され、2 つ以上の結果の列名と同じ。
  • SQL トリガーに指定されている OLD_ROW および NEW_ROW と、ルーチン本体内で指定されている遷移変数が修飾されていない。
回復手順: カラムの名前をテーブル名または相関名で修飾するか,あるいはAS文節を使用して,ORDER BY文節に指定できる固有の結果のカラムの名前を提供してください。 トリガーの遷移変数をOLD_ROWまたはNEW_ROWに指定した名前で修飾します。 要求をやり直してください。
SQLCODE: -203
SQLSTATE: 42702
SQL0204
メッセージ・テキスト: &2 のタイプ *&3 の &1 が見つからない。
原因: &2 のタイプ *&3 の &1 が見つかりませんでした。 メンバー名が*ALLの場合には,そのテーブルは区画に分割されません。 これがALTER TABLEステートメントで, タイプが*Nの場合には,制約または区分が見つかっていません。 これがALTER TABLEステートメントでなく,タイプが*Nの場合には,関数,プロシージャー,トリガーまたは順序オブジェクトが見つかりませんでした。

関数が見つからなかった場合には、&1 はこの関数を含むサービス・プログラムです。 外部名と使用法名が正確に一致しない限り,関数は見つかりません。 ユーザーが関数に対するEXECUTE特権を備えていない限り,関数は候補と見なされません。 ジョブ・ログを調べて,検索中の関数名および一致しない名前についての詳細を示すメッセージを見つけてください。

回復手順: 名前を変更して,要求をやり直してください。 オブジェクトがノード ・グループの場合には,DB2マルチシステム・プロダクトがシステム上に導入済みで あることを確認して,CRTNODGRP CLコマンドを使用してノード・グループを作成して ください。 外部関数が見つからなかった場合には,CREATE FUNCTIONステートメントの EXTERNAL NAMEの大文字小文字がサービス・プログラムによってエクスポートされた 名前の大文字小文字と正確に一致しているかを確認してください。
SQLCODE: +204、-204
SQLSTATE: 01532、42704
SQL0205
メッセージ・テキスト: 列 &1 が &3 のテーブル &2 にない。
原因: &1 という名前の列はスキーマ &3 のテーブルまたはビュー &2 に存在していません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 列名、テーブル名、およびすべての修飾子が正しく指定されていることを確認する。 結合USING文節に指定するカラムは,ステートメント内で修飾することはできません。
  • 列が修飾されていない場合には、列 &1 はテーブル &2 にはありません。 列は 最初テーブル &2 に見つかりましたが、存在していません。 カラムが現在別のテーブルで 使用可能であり,このステートメントによって参照される場合には,プリコンパイル の必要なことがあります。
  • 複数のテーブルが SQL ステートメントで参照される場合には、列名を修飾す る必要があります。
  • これが CREATE TABLE ステートメントで、作成中のテーブルに対するパーティション・キーまたは制約に列 &1 が指定された場合には、列 &1 の列定義を追加するか、あるいは制約またはパーティション・キーからそれを除去してください。
  • 再帰的共通テーブル式の場合、SET 順序列名および USING 列名は共通テーブル式を定義する全選択で参照できません。
SQLCODE: -205
SQLSTATE: 42703
SQL0206
メッセージ・テキスト: カラムまたはグローバル変数 &1 が見つかりませんでした。
原因: &1 は、&3 のテーブル &2 のカラムとして検出されず、また &2 のグローバル変数としても検出されませんでした。 テーブルが*Nの場合には,&1は参照できるどのテーブルまたはビューのカラムでもないか,&1はアトミック複合ステートメントで設定できない特殊レジスターです。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 列名およびテーブル名がステートメントに正しく指定されていることを確認してください。
  • これが SELECT ステートメントの場合には、必要なすべてのテーブルが FROM 文節に指定されていることを確認してください。
  • 列が相関参照であると意図されていた場合には、正しいテーブル指定子で 列を修飾してください。
  • カラムがグローバル変数であると意図されていた場合には、そのグローバル変数が存在するスキーマで名前を修飾するか、またはそのスキーマが必ずパスに含まれるようにしてください。
  • これがアトミック複合動的ステートメント内の特殊レジスターのSETステートメントである場合は,ステートメントを削除するか,ATOMICキーワードを削除してください。
  • これが RENAME 文節を指定した CREATE INDEX ステートメントの場合、名前変更列は表のシステム列名でなければならず、すべてのキー列が名前変更文節に指定されていなければなりません。
  • これが削除文のデータ変更テーブル参照のSET句である場合は、インクルード列のみを指定できる。
SQLCODE: -206
SQLSTATE: 42703
SQL0208
メッセージ・テキスト: ORDER BY 欄 &1 または式が結果のテーブルにない。
原因: 列 &1 が ORDER BY 文節に指定されていますが、UNION、EXCEPT、または INTERSECT 演算子が指定されている時に、それが結果表の名前付き列を示していないので有効でありません。 各SELECTリスト対応するカラムに同じ名前があ る場合には,結果のカラムに名前が指定されます。
回復手順: 次の1つを実行して,要求をやり直してください。
  • UNION、EXCEPT、または INTERSECT が指定された場合には、 &1 が名前のついた結果の列であることを確認する。
  • ORDER BY 文節で &1 の代りに数値の列識別コードを指定する。
SQLCODE: -208
SQLSTATE: 42707
SQL0212
メッセージ・テキスト: 重複したテーブル指定子 &1 は正しくない。
原因: 次のいずれかが起こっています。
  • 副選択の FROM 文節中に名前 &1 のテーブル指定子が複数個あります。 相関名が指定されている場合には,その相関名はテーブル指定子 です。 これが指定されていない場合には,テーブル名またはビュー名がテーブル指定 子です。 SQLでの命名が指定されている場合には,テーブル名は暗黙または明示の スキーマ名とその後に続く実際のテーブル名とから構成されています。 システム の命名方式が指定されている場合には,テーブル名そのものが修飾子なしでテーブル 指定子として使用されます。 テーブル指定子は副選択の各レベルで固有としなければなりません。
  • CREATE TRIGGER ステートメントの REFERENCING 文節中に指定されている名前が固有でありません。 NEWおよびOLD相関名に指定されている名前と,NEW_TABLEおよびOLD_TABLEの名前は固有でなければならず,トリガーを定義しようとしているテーブルと同じにしてはいけません。
回復手順: 副選択の同じレベルについてFROM文節のすべてのテーブルに固有 のテーブル指定子があるかどうかを確かめてください。 スキーマ名/テーブル名を 使用してカラムを修飾することはできないので,テーブル名を固有とするか,あるいは相関名を指定しなければなりません。 CREATE TRIGGERステートメントのREFERENCING文節中に固有の名前を指定します。 エラーを訂正して,要求をやり直してください。
SQLCODE: -212
SQLSTATE: 42712
SQL0213
メッセージ・テキスト: パラメータまたはリターン・カラム &1 が &3 のルーチン &2 にない。
原因: 名前 &1 を持つパラメータ列またはリターン列がスキーマ &3 のルーチン &2 に存在しません。
回復手順: パラメータ名またはリターン・カラム名、ルーチン名、および修飾子が正しく指定されていることを確認してください。 要求をやり直してください。
SQLCODE: -213
SQLSTATE: 42703
SQL0214
メッセージ・テキスト: ORDER BY式が正しくない。
原因: 位置 &1 の ORDER BY 文節の式が理由コード &3 のために正しくありません。
  • 1 - SELECT ステートメントに UNION、EXCEPT、または INTERSECT が入っています。
  • 2 - SELECT 文節に DISTINCT が指定され、式または列を選択リストの式または列と正確に一致させることができません。
  • 3 - 選択リストが集約関数を使用しているか、あるいは GROUP BY 文節があり、 式が集約関数でないかまたは選択リストの式と正確に一致しません。
  • 4 - ORDER BY 文節の集約関数にはグループ化が必要です。
  • 5 - ネストされたテーブル式は ORDER BY 文節ではサポートされていません。
回復手順: 理由コード &3 用にリストされた変更を行って、要求をやり直してください。
  • 1 - ORDER BY 文節から式を除去してください。
  • 2 - SELECT 文節から DISTINCT を取り除くか、あるいは ORDER BY 式を、数値列 識別コードまたは列名を使用して選択リスト項目を参照するように変更してください。
  • 3 - ORDER BY 文節中の式を集約関数に変更するか、あるいは数値列識別コードまた は列名を使用するように変更してください。
  • 4 - GROUP BY 文節を追加するか、または ORDER BY 文節から集約関数を除去してください。
  • 5 - ORDER BY 文節内の副選択からネストされたテーブル式を除去してください。 代わりに共通テーブル式を使用することを検討してください。
SQLCODE: -214
SQLSTATE: 42822
SQL0216
メッセージ・テキスト: 述部リストの値の数が一致していません。
原因: 述部の左側にある値の数が述部の右側にある値の数と一致していません。

述部の 1 つの側が複数の結果列を戻す全選択である場合、述部の他方の側は同数の値を含んである式のリストである必要があります。 全選択は明示的に結果のカラムをリストしていなければなりません。

述部の両側とも式リストである場合、これらのリストには同数の値が入っている必要があります。

IN または NOT IN 述部で使用される式リストにタイプなしパラメーター・マーカーを入れることはできません。

サポートされていない相関参照が副照会内に入っています。 これは,副照会にUNION, EXCEPT,また はINTERSECTがある場合に起こることがあります。

回復手順: 両側に同じ数の値が含まれるように,述部リスト中の,または行全選択の選択リスト中の値の数を変更してください。 全選択のSELECT *を変更して,実際のカラムをリストします。 IN式リストでタイプなしのパラメーター・マーカーのキャスト関数を使用してください。
SQLCODE: -216
SQLSTATE: 428C4
SQL0221
メッセージ・テキスト: 行 &2 の数が正しくない。
原因: ブロック化FETCH,ブロック化INSERT,またはSET RESULT SETSステ ートメントは正しくありません。 指定した行数が1より小さいか,または ホスト構造配列の次元より大きくなっています。 指定された行数は &2 で配列の次元は &3 です。 これが FETCH ステートメントである場合には、カーソル名は &1 です。
回復手順: 行数が0より大きく,かつ配列の次元以下であることを確認するか, あるいは配列のサイズを大きくしてください。
SQLCODE: -221
SQLSTATE: 42873
SQL0225
メッセージ・テキスト: FETCH が正しくありません。カーソル &1 がスクロール可能でありません。
原因: カーソル &1 に PRIOR、FIRST、LAST、BEFORE、 AFTER、CURRENT、または RELATIVE を指定して FETCH ステートメントが指定されましたが、カーソル &1 がスクロール可能でありません。 スクロール可能でないカーソルに使用できるのはNEXTだけです。
回復手順: FETCHステートメントでPRIOR, FIRST, LAST, BEFORE, AFTER, CURRENT,またはRELATIVEを指定するためには, カーソルがスクロール可能でなければなりません。 スクロール可能なカーソルを作成するためには、 カーソル &1 の DECLARE CURSOR ステートメントに SCROLL キーワードを追加してください。 SCROLLは,カーソルに関連した準備済み ステートメントの属性ストリングにも指定できます。
SQLCODE: -225
SQLSTATE: 42872
SQL0226
メッセージ・テキスト: 現在の行が削除されたか、またはカーソル &1 に対して移動された。
原因: スクロール可能カーソル &1 に FETCH CURRENT が指定されました。 現在 の行は,削除または更新されています。 行が更新されている場合には,次の1つが起 こっています。
  • 現在の行の ORDER BY 列の値が変更されている。
  • 索引の列の値が変更されている。
  • 列が変更されているので、もはやレコード選択基準に適合しない。
回復手順: FETCHステートメントでNEXT, PRIOR, FIRST, LAST, BEFORE, AFTER, またはRELATIVEを指定してカーソルを位置決めし,別の行を取り出してください。
SQLCODE: -226
SQLSTATE: 24507
SQL0227
メッセージ・テキスト: FETCH が正しくない。カーソル &1 は位置不明です。
原因: カーソル &1 の前のブロック化 FETCH は、データベース管理機能 から検索された行のブロックを処理している途中で、 エラーになりました (SQLCODE &2、SQLSTATE &3)。 ブロック中に残った1つまたは複数の行を,エラーの後で,プログラ ムに戻すことができず,カーソルの位置も不明のままとなりました。 SQLSTATEが*N である場合には,このエラーは不明です。
回復手順: カーソルをクローズして再びオープンし,その位置をセットしてくだ さい。 スクロール可能なカーソルの場合には,FIRST, LAST, BEFORE,またはAFTER を使用してカーソルを位置指定することもできます。
SQLCODE: -227
SQLSTATE: 24513
SQL0228
メッセージ・テキスト: カーソル &1 に SCROLL と同時の FOR UPDATE 文節は正しくない。
原因: カーソル &1 に FOR UPDATE 文節と SCROLL キーワードが指定されています。 DYNAMICキーワードも指定されている場合を除き,SCROLLキーワードと同時 のFOR UPDATE文節は正しくありません。 SCROLLを指定してDYNAMICを指定しない 場合には,そのカーソルは読み取り専用です。 DYNAMIC SCROLLを指定した場合には, そのカーソルは更新可能です。
回復手順: 読み取り専用のスクロール可能カーソルを宣言するためには,SCROLL キーワードを指定して,FOR UPDATE文節を指定しないでください。 更新可能なスク ロール可能カーソルを宣言するためには,DYNAMIC SCROLLを指定してください。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -228
SQLSTATE: 42620
SQL0231
メッセージ・テキスト: カーソル &1 の位置が、現在行の FETCH には正しくない。
原因: スクロール可能なカーソル &1 に対して FETCH CURRENT または FETCH RELATIVE 0 が指定されました。 カーソルがレコードに位置付けられていないので,この操作は 正しくありません。 現在行のFETCHは,FETCH BEFORE, FETCH AFTER,または結果的 に+100のSQLCODEとなるFETCHの後では使用できません。
回復手順: 現在行を取り出す前に,カーソルがレコードに位置づけられてい ることを確かめてください。
SQLCODE: -231
SQLSTATE: 22006
SQL0237
メッセージ・テキスト: SQLDAに十分な数のSQLVAR項目が指定されていない。
原因: SQLDA に &2 個の SQLVAR 項目しか指定されていません。 少なくとも、記述しようとしている列の 1 つが特殊タイプまたは LOB なので、 &3 個の SQLVAR 項目が指定されていなければなりません。 2次SQLVAR項目はいずれも設定されていませ ん。 少なくともカラムの1つが特殊タイプまたはLOBなので,カラム数の2倍のSQLVAR項目 用のスペースが与えられていなければなりません。 基本SQLVAR項目しか設定されて いません。
回復手順: 特殊タイプまたはLOBに関する追加情報が必要なければ,処置は不 要です。 この情報が必要なら,SQLDA内のSQLNフィールドの値を,メッセージに示 された値に増やし,ステートメントを再投入する必要があります。
SQLCODE: +237
SQLSTATE: 01594
SQL0239
メッセージ・テキスト: SQLDAまたは記述子域に十分な項目数が指定されていません。
原因: SQLDA または記述子域にあったのは、&1 項目のみです。 これはSQLDAのSQLVARの項目数であるか,あるいは記述子域のDB2_MAX_ITEMSの値です。 少なくとも &2 項目が指定されていたはずです。 項目はいずれも設定されていません。 SQLDAでは,カラムのどれかが特殊タイプまたはLOBの場合には,カラム数の2倍のSQLVAR項目用のスペースが与えられていなければなりません。
回復手順: 記述子では,より多くの項目数を割り振ってください。 SQLDAでは,特殊タイプまたはLOB情報が必要な場合には,SQLNフィールドの値を,メッセージに示された値に増やし,ステートメントを再投入する必要があります。 特殊タイプまたはLOBに関する追加情報が必要なければ,カラム数を収容するだけの SQLVAR項目しか提供しないステートメントを再投入することができます。
SQLCODE: +239
SQLSTATE: 01005
SQL0242
メッセージ・テキスト: 重複する属性名または区分名 &1 です。
原因: 属性名 &1 または区分名あるいは区分番号 &1 が既に指定されていました。 値は固有の値でなければなりません。
回復手順: 固有の名前を指定します。 要求をやり直してください。
SQLCODE: -242
SQLSTATE: 42713
SQL0243
メッセージ・テキスト: SENSITIVE カーソル &1 は、指定された SELECT ステートメントには定義できません。
原因: カーソル &1 は SENSITIVE として定義されていますが、 QUERY では一時結果表の作成が必要になります。 SELECTステートメントにデータ変更テーブル参照がある場合には,一時結果テーブルが必要です。 SENSITIVEカーソルは実装できません。
回復手順: カーソルをASENSITIVEまたはINSENSITIVEとして再定義するか,一時結果テーブルの作成が 必要でないようにQUERYを変更してください。
SQLCODE: -243
SQLSTATE: 36001
SQL0245
メッセージ・テキスト: 関数 &1 の呼び出しがあいまいです。
原因: 関数 &1 の呼び出しがあいまいです。 複数の候補関数が存在しますが、引数 &2 と対応するパラメーターが同じデータ・タイプの優先順位リストに属していません。
回復手順: 複数の関数との一致が避けられるように,関数呼び出しの引数を変更してください。
SQLCODE: -245
SQLSTATE: 428F5
SQL0250
メッセージ・テキスト: ローカル・リレーショナル・データベースがディレクトリーに 定義されていない。
原因: 次のいずれかが起こっています。
  • 3 部分名が使用されたが、リレーショナル・データベース名がリレーショナル ・データベース・ディレクトリーに定義されていない。
  • 接続が試みられたが、リレーショナル・データベース名がリレーショナル・データベース・ディレクトリーに定義されていない。
  • SQL ステートメントが CURRENT SERVER 特殊レジスターを使用しているが、ロ ーカル・リレーショナル・データベース名がリレーショナル・データベース・ディレ クトリーに定義されていない。
  • SQL ステートメントが CURRENT SERVER 特殊レジスターを使用するビューを参照したが、ローカル・リレーショナル・データベース名がリレーショナル・データベース・ディレクトリーに定義されていない。
回復手順: リレーショナル・データベース・ディレクトリー項目追加(ADDRDBDIRE) コマンドを使用して,ローカル・リレーショナル・データベース名を定義してくださ い。
SQLCODE: -250
SQLSTATE: 42718
SQL0251
メッセージ・テキスト: リレーショナル・データベース名 &1 中の文字が正しくない。
原因: リレーショナル・データベース名として正しくない文字である #、@、.、または &#x00A5; が &1 に含まれています。 有効な文字には,A-Z, 0-9および下線が含ま れます。
回復手順: 名前を訂正してください。 要求をやり直してください。
SQLCODE: -251
SQLSTATE: 2E000、42602
SQL0255
メッセージ・テキスト: QUERYの関数がサポートされていません。
原因: 理由コードは &1 です。
  • 1 -- 分散ファイルでは,ネストされたテーブル式からのスカラー副選択と横方向相関は使用できない。
  • 2 -- 一時分散ファイルの使用中にエラーが起こった。
  • 3 -- EXCEPTおよびINTERSECTはこのQUERYではサポートされていない。
  • 4 -- 分散ファイルでは順序参照はサポートされていない。
  • 5 -- このQUERYでは再帰的共通テーブル式はサポートされていない。
  • 6 -- OLAP関数はこのQUERYにはサポートされていない。
  • 7 -- ORDER OFはこのQUERYではサポートされていない。
  • 8 -- スカラー全選択はこのQUERYにはサポートされていない。
  • 9 -- 分散ファイルがマルチスレッド可能ジョブで処理されているか,あるいはこれが初期スレッドではない。
  • 10 -- グループ化セットはこのQUERYではサポートされていない。
  • 11 -- 完全外部結合はこのQUERYではサポートされていない。
  • 12 -- VALUES全選択はこのQUERYではサポートされていない。
  • 13 -- 非ICU NLSSテーブルでのUTF-8は,このQUERYではサポートされていない。
  • 14 -- OMNIFIND関数は,このQUERYではサポートされていない。
  • 15 -- 副選択の順序付けはこのQUERYではサポートされていない。
  • 16 -- XML関数は,このQUERYではサポートされていない。
  • 17 -- 配列変数はこのQUERYではサポートされていない。
  • 18 -- グローバル変数はこのQUERYではサポートされていない。
  • 19 -- 階層的 QUERY 関数は、この QUERY ではサポートされていない。
  • 20 -- 指定されたスカラー関数は、この QUERY ではサポートされていない。
  • 21 -- ユーザー定義関数の省略時値は,このQUERYではサポートされていない。
  • 22 -- FOR SYSTEM_TIMEはこのQUERYではサポートされていない。
  • 23 -- OFFSETまたはFETCH FIRST N ROWSは,このQUERYではサポートされていない。
  • 24 -- JSON 関数または述部は、この QUERY ではサポートされていない。
  • 25 -- 指定された集約関数は、この QUERY ではサポートされていない。
  • 26 -- ブール・データ・タイプはこの照会ではサポートされていません。
回復手順: サポートされない関数をQUERYから削除してください。
SQLCODE: -255
SQLSTATE: 42999
SQL0256
メッセージ・テキスト: &2 の制約 &1 を分散ファイルで使用できない。
原因: &2 の制約 &1 は、以下のいずれかの理由で許可されません。

- パーティション・キーを構成する列は、外部キーを構成する列のサブセットでなければなりません。 このカラムは任意の順序で表すことができます。

- 外部キーの制約の中の従属テーブルのノード・グループは、親テーブルのノード・グループと一致していなければなりません。

回復手順: 区分化キーの中にあるすべてのカラムがテーブルの外部キーの中にもある ことを確認してください。 また,従属テーブルと親のテーブルが同じノード・グループ で作成されていることを確認してください。
SQLCODE: -256
SQLSTATE: 42998
SQL0270
メッセージ・テキスト: 関数を &2 中のテーブル &1 に使用できません。
原因: &2 中のテーブル &1 は分散テーブルまたはパーティション・テーブルです。 以下のいずれかの理由により、この操作は許可されません:

- 分散テーブルまたはパーティション・テーブルのすべての固有索引または固有制約はパーティション・キーを構成するすべての列を含んでいなければならないために、固有索引または固有制約を使用することはできません。 これがCREATE TABLEステートメントであって,PARTITIONING KEY文節が指定されていない場合には,省略時の区分化キーは1次キーの最初のカラムまたはテーブルの最初の有効なカラムとなります。

- テーブルに LOB または XML 列が入っています。 分散テーブルの中ではLOBまたはXMLカラムは使用できません。

- 生成された式を含むカラムがテーブルにあります。

- 実体化された QUERY テーブルのノード・グループは、実体化された QUERY テーブルによって参照される 1 つ以上のテーブルのノード・グループと異なっています。

回復手順: すべての固有の索引または固有の制約に区分化キーのすべてのカラムが含 まれていることを確認してください。 区分化キー・カラムのデータが変更されていないか, あるいは同じノード内にある値に変更されていることを確認してください。 LOBまたはXMLカラムや生成された式を持つカラムがテーブルに含まれないようにしてください。 実体化されたQUERYテーブルが同じノード・グループ内のテーブルを参照するようにしてください。
SQLCODE: -270
SQLSTATE: 42997
SQL0301
メッセージ・テキスト: 入力変数 &2 または引数 &1 は正しくない。
原因: ステートメントの相対位置 &1 の値が、要求された操作と互換性がない タイプです。 この値は変数 &2、記述子域の項目 &1、または CALL ステートメントの引数 &2 です。 名前*Nは,ユーザーの記述子域が使用されたか,あるいはCALLステートメントに定数または特殊レジスターが指定されたことを示します。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 正しいタイプの変数を使用する。
  • 正しいタイプの変数を CALL の引数に指定する。
  • DECLARE PROCEDURE ステートメントのパラメーター &1 に指定されたタイプを変更する。
SQLCODE: -301
SQLSTATE: 07006、42895
SQL0302
メッセージ・テキスト: 変数またはパラメーター &2 で変換エラー。
原因: 記述子域の変数またはパラメーター &2 または項目 &1 には、ステートメントで必要な属性に変換できない値が入っています。 エラー・タイプ &3 が起こりました。 エラーのタイプとその意味は次のとおりです。
  • 1 -- オーバーフロー。
  • 2 -- 浮動小数点オーバーフロー。
  • 3 -- 浮動小数点アンダーフロー。
  • 4 -- 浮動小数点変換エラー。
  • 5 -- 正確な結果でありません。
  • 6 -- 数値データが無効です。
  • 7 -- 2 バイト文字セット (DBCS) または UTF-8 データが無効です。
  • 8 -- 文字変数で C NUL 終了文字が抜けているか、あるいはグラフィック変数で二重 NUL 終了文字が抜けているため、プログラムは *CNULRQD オプションを使用してコンパイルされました。
  • 9 -- CALL ステートメントの文字またはバイナリー・パラメーターに変数または定数をマッピングするときか、または文字またはグラフィック変数を GET DESCRIPTOR または SET DESCRIPTOR ステートメント内で使用するときの切り捨て。
  • 10 -- REXX アプリケーションにおける入力 SQLDATA 値から指定された SQLTYPE への非互換変換。
  • 11 -- UTF-8 文字データの変換時のオーバーフロー。

変数名が *N で、ステートメントが FETCH の場合には、記述子域が指定されています。 パラメーター名が*Nで,ステートメントがCALLの場合には,記述子域,定数または特殊レジスターが指定されています。

回復手順: 記述子域中の変数またはパラメーターあるいは項目の値を,変換可能かつ有効となるように変更してください。 要求をやり直してください。
SQLCODE: -302
SQLSTATE: 22001、22003、22023、22024
SQL0303
メッセージ・テキスト: 変数 &2 が非互換であるか、または値が長すぎます。
原因: 変数 &2 はデータ・タイプが非互換であるか、または値が長すぎるため、これに値を割り当てることはできません。
  • 変数 &2 のデータ・タイプが対応する値のデータ・タイプと 互換性がないため、FETCH、SELECT、CALL、SET、VALUES INTO、GET DIAGNOSTICS、GET DESCRIPTOR、SET DESCRIPTOR または関数呼び出しを 実行することができません。
  • SQL ルーチンの場合は、SQL 変数が対応するリスト項目には十分な長さでない可能性があります。また、SQL パラメーターまたは RETURNS データ・タイプが出力または RETURN 値には十分な長さでない可能性があります。
  • 日付の値を選択する時には、文字変数は、年間通算日の場合は少なくと も 6 バイト、MDY、 YMD、DMY 形式の日付の場合は少なくとも 8 バイト、その他の形式の場合は少なくとも 10 バイト。
  • 時刻の値を選択する時には、文字変数は USA 形式の場合には最小 8 バイト、その他の形式の場合には最小 5 バイトが必要。
  • タイム・スタンプの値を選択する時には、文字変数は最小 19 バイトが必要。
  • 変数が C NUL 終了文字で、プログラムが *CNULRQD オプションでコンパイルされた場合には、日付/時刻の値の NUL 終了文字のために追加のバイトが必要。
  • GET DIAGNOSTICS ALL の場合、変数は可変長文字または可変長グラフィック。

INTO 文節、SQLDA、または CALL ステートメントの変数の相対位置は &1 です。 変数名が*Nの場合には,FETCHステートメントに記述子域が指定されています。

回復手順: データ・タイプが対応するリスト項目のそれぞれに対応していることを確認してください。 変数が日付,時刻,およびタイム・スタンプの値に正しく定義されていることを確認してください。
SQLCODE: -303
SQLSTATE: 22001、42806
SQL0304
メッセージ・テキスト: 変数 &2 への割り当て時に変換エラー。
原因: FETCH、組み込み SELECT ステートメント、CALL ステートメント、SET ステートメント、SET DESCRIPTOR ステートメント、または VALUES INTO ステートメントで変数 &2 に値を戻す途中で、エラー・タイプ &3 が起こりました。 エラー・タイプのリストは次の通りです。
  • エラー・タイプ 1 はオーバーフロー。
  • エラー・タイプ 2 は浮動小数点オーバーフロー。
  • エラー・タイプ 3 は浮動小数点アンダーフロー。
  • エラー・タイプ 4 は浮動小数点変換エラー。
  • エラー・タイプ 5 は正確な結果ではない。
  • エラー・タイプ 6 は無効な数値データ。
  • エラー・タイプ 7 は無効な 2 バイト文字セット (DBCS) データ。

変数の相対位置は &1 です。 変数名が*Nの場合には,FETCHまたはCALLステートメントに記述子域が指定されています。

回復手順: 結果の値を入れることができるように記述子域の変数または項目のサイズを(必要な場合にはタイプも)変更するか,あるいは正しくないデータを訂正してください。 要求をやり直してください。
SQLCODE: +304、-304
SQLSTATE: 01515、01547、01565、22003、22023、22504
SQL0305
メッセージ・テキスト: 標識変数が必要である。
原因: FETCH、組み込み SELECT、CALL、GET DESCRIPTOR、または SET あるいは VALUES INTO ステートメントが NULL 値になりましたが、ホスト変数 &2 に標識変数が指定されていません。 INTO 文節またはパラメーター・リスト中のホスト変数の相対位置は &1 です。 ホスト変数名が*Nの場合には,記述子域が指定されています。

GET DESCRIPTOR ステートメントでこのエラーが発生した場合、NULL 値が戻されるが、INDICATOR 項目が GET DESCRIPTOR ステートメントに指定されていませんでした。

回復手順: 標識変数を指定して,プログラムのプリコンパイルを再試行してくだ さい。

これが GET DESCRIPTOR ステートメントである場合、DATA 項目と INDICATOR 項目の両方を指定してください。 プログラムのプリコンパイルを再試行してください。

SQLCODE: -305
SQLSTATE: 22002
SQL0306
メッセージ・テキスト: REXX 入力ホスト変数 &1 が定義されていない。
原因: REXX 入力ホスト変数 &1 を含む SQL ステートメントがありますが、この 変数には値が割り当てられていないので、この変数は定義されていません。
回復手順: 当該 SQL ステートメントで &1 のつづりが正しいこと、およびその SQL ステートメントが実行される前にこのホスト変数に値が割り当てられることを確認し てください。
SQLCODE: -306
SQLSTATE: 42863
SQL0311
メッセージ・テキスト: 可変長,LOB,またはXMLホスト変数の長さが無効です。
原因: ホスト変数 &2 が指定されました。 可変長,LOB,またはXMLホスト変数の長さ部分の値が負であるか,あるいは宣言された長さを超えています。 ホスト変数が図形変数である場合には,この長さはDBCS文字の数でなければなりません。 ホスト変数番号は &1 です。 指定された長さは &4 です。 この変数の長さは &3 と 宣言されています。
回復手順: 可変長,LOB,またはXMLホスト変数の長さ部分を,有効な正数またはゼロに変更してください。 要求をやり直してください。
SQLCODE: -311
SQLSTATE: 22501
SQL0312
メッセージ・テキスト: 理由コード &2 のため、変数 &1 が定義されていないか使用可能でありません。
原因: 変数 &1 が SQL ステートメントにありますが、理由コード &2 のため、使用可能でありません。
  • 1 -- 変数の宣言が存在していないか、宣言が現行スコープ内にないか、変数に同等の SQL データ・タイプがない。
  • 2 -- 変数が次元配列である。
  • 3 -- 変数が LOB データ・タイプでない。
  • 4 -- 変数が結果セット・ロケーターでない。
  • 5 -- 変数が結果セット・ロケーターである。
  • 6 -- 変数が定数であり、変更できない。
  • 7 -- 変数が SQL トリガーのルーチン本体で使用されている。 OLD遷移変数であるか,AFTERトリガーの遷移変数であるため,変数を変更できません。
  • 8 -- ホスト変数が動的 SQL で指定されている。 ホスト変数は動的SQLでは正 しくありません。 代わりに,パラメーター・マーカーを使用する必要があります。
  • 9 -- ステートメントで変数が許可されない。
  • 22 -- ホスト構造が次元配列である。
  • 26 -- ホスト構造のメンバーに名前が指定されていない。
  • 27 -- ホスト構造が式で使用されている。 ホスト構造は,式では使用できません。
  • 28 -- ホスト構造が REXX で使用されている。 ホスト構造は,REXXでは無効です。
  • 41 -- ホスト構造のメンバーが次元指定されている。
  • 44 -- ホスト構造のメンバーに同等の SQL データ・タイプがない。
  • 45 -- ホスト構造のメンバーが結果セット・ロケーターである。
  • 46 -- ホスト構造のメンバーが構造体である。
  • 47 -- ホスト構造のメンバーが DATALINK、DECFLOAT、LOB、または XML データ・タイプである。
回復手順: 理由コードに基づき,変数情報を修正してから,要求を再試行してください。

これがプリコンパイルである場合、プログラム内でホスト変数を定義する方法に関する言語固有の詳細情報については、 IBM i DocumentationのDatabaseカテゴリにある Db2 for i SQLプログラミング・トピック・コレクションを参照してください。

SQLCODE: -312
SQLSTATE: 42618
SQL0313
メッセージ・テキスト: ホスト変数の数が正しくない。
原因: EXECUTE または OPEN ステートメントで指定された SQLDA または記述子域のホスト変数または項目の数が、準備された SQL ステートメント &1 で指定されたパラメーター・マーカーの数と同じではありません。 ステートメント名が *N の場合には、SQLDA または記述子域のホスト変数または項目の数が OPEN ステートメントで指定され、カーソル &2 の DECLARE CURSOR ステートメントに指定されたホスト変数の数と同じではありません。
回復手順: USING文節に指定されたホスト変数の数またはSQLDAまたは記述子域の項目数が,準備されたSQLステートメントのパラメーター・マーカーの数またはDECLARE CURSORステートメントのホスト変数の数と等しくなるように変更してください。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -313
SQLSTATE: 07001、07004
SQL0326
メッセージ・テキスト: 指定された変数が多すぎます。
原因: &1 変数が FETCH、組み込み SELECT、SET、または VALUES INTO ステート メントで指定されていましたが、QUERY から戻されたのは &2 列だけでした。 余分なグローバル変数は変更されません。 余分なホスト変数には指定されたタイプに該当する値が埋め込まれます。
  • 文字ホスト変数にはブランクが埋め込まれます。
  • バイナリー・ホスト変数には 16 進ゼロが埋め込まれます。
  • 日付ホスト変数には現行日付が埋め込まれます。
  • 時刻ホスト変数には現在時刻が埋め込まれます。
  • タイム・スタンプ・ホスト変数には現行タイム・スタンプが埋め込まれます。
  • グラフィック・ホスト変数には 2 バイト、UCS-2、または UTF-16 のブランクが埋め込まれます。
  • 可変長文字、可変長グラフィック、可変長バイナリー、CLOB、DBCLOB、BLOB、および XML ホスト変数はゼロの長さに設定されます。
  • C 終了文字の文字 NUL ホスト変数は、終了文字の NUL が最初の文字位置に設定されます。
  • C 終了文字の NUL グラフィック・ホスト変数は、2 バイト終了文字の NUL が最初の DBCS 位置に設定されます。
  • 数値ホスト変数は値 0 に設定されることになります。
  • ブール・ホスト変数は FALSE の値に設定されます。
  • REXX ホスト変数の省略時の値として長さが 0 にセットされた可変長文字が使用されます。
回復手順: 回復処置は不要です。
SQLCODE: +326
SQLSTATE: 01557
SQL0327
メッセージ・テキスト: 区分化キーが定義された区分と対応していません。
原因: INSERT,UPDATE,CREATE TABLE,またはALTER TABLEステートメントが区分テーブルに対して試行されましたが,区分化キーに指定された値がどの区分の行も修飾していません。 このエラーは,ヒストリー・テーブルが区分化されている場合にUPDATEまたはDELETEステートメントで発生することもあります。
回復手順: INSERT,UPDATE,またはDELETEステートメントでエラーが起こった場合は, テーブルまたはヒストリー・テーブルの区分に対応するように変更対象行に指定する値を変更するか, あるいはこのキー値を使用できるように区分定義を変更してください。 CREATE TABLEまたはALTER TABLEステートメントでエラーが起こった場合は,既存のすべての行がテーブルに適合するように区分定義を変更するか,あるいは適合しない行を削除します。 要求をやり直してください。
SQLCODE: -327
SQLSTATE: 22525
SQL0328
メッセージ・テキスト: 欄 &1 を区分化キーで使用することはできない。
原因: 列 &1 をパーティション・キーの一部として使用することはできません。 カラムの名前が*Nの場合には,DB2マルチシステム区分化の 省略時の区分化キーとして使用するための有効なカラムはありません。 RANGE区分化の場合は, タイプがLOB, BOOLEAN, XML, ROWID,およびDATALINKのカラムは区分化キーでは使用できません。 HASH区分化の場合は,タイプがDATE, TIME, TIMESTAMP, FLOAT, LOB, BOOLEAN, XML, ROWID,およびDATALINKのカラムは区分化キーでは使用できません。 カラムを,これらのいずれかのタイプに基づくユーザー定義タイプにすることはできません。 また,カラムを識別カラムまたは行変更タイム・スタンプ・カラムとして定義したり, カラムにフィールド・プロシージャーを設定することはできません。
回復手順: このカラムを区分化キー・カラムのリストから除去するか,あるいはカラムのデータ ・タイプを変更してください。
SQLCODE: -328
SQLSTATE: 42996
SQL0329
メッセージ・テキスト: SET PATH名前リストが正しくない。
原因: ストリング定数または変数&1に,無効なSET PATH名リストが入っています。 変数名*Nは,正しくないストリング定数がSET PATHステートメント,またはSET OPTIONステートメントのSQLPATHに指定されたことを示します。 名前リストは以下の属性をもっていなければなりません。
  • この長さ は0より大きくなければなりません。
  • 長さは 8843 より大きくできない。
  • コンマで区切った有効なスキーマ名のリストが含まれていなければならない。
  • リストには最大 268 個のスキーマ名を入れられる。
  • 各スキーマ名は、特殊な区切り文字付き名前でない限り、大文字で指定しなければならない。
  • リストに特殊値*LIBL, CURRENT PATH, SYSTEM PATH,またはCURRENT USERを入れることはできない。
  • SET OPTIONステートメントのSQLPATHのストリングは,システム・スキーマ名のみを含む必要がある。
回復手順: 正しい値のストリング定数または変数を使用してください。
SQLCODE: -329
SQLSTATE: 0E000
SQL0330
メッセージ・テキスト: 文字変換を実行することができない。
原因: 列またはホスト変数 &2 を列またはホスト変数 &3 に変換しようとしま した。 変換を実行することができません。 変換元のデータが文字で,混合コード化文字 セットID (CCSID)が入っている場合には,2バイト文字が見つかっています。 このような混合データ変換を使用できるのは,変換元のデータに2バイト・データ が入っていない場合だけです。 データが図形の場合には,CCSIDの値に互換 性がないか,あるいはストリングに1バイト文字が入っています。 変換元の CCSID は &4 で、変換先の CCSID は &5 です。
回復手順: すべての文字または図形の比較,連結,または割り当てが互換 性のあるCCSID値をもつカラムまたはホスト変数間で行われることを確認してください 。 文字データおよび変換元のCCSIDが混合である場合には,変換元のデータに2バイ ト文字が入っていてはいけません。 図形データの場合には,ストリングに 1バイト文字を入れることはできません。 文字,DBCS図形,およびユニコード図形データの間で 変換するためには,VARCHARのようなキャスト関数を使用してください。
SQLCODE: -330
SQLSTATE: 22021
SQL0331
メッセージ・テキスト: 文字変換を実行することができない。
原因: 列またはホスト変数 &2 を列またはホスト変数 &3 に変換しようとしま した。 変換を実行することができません。 変換元のデータが文字で,混合コード化文字 セットID (CCSID)が入っている場合には,2バイト文字が見つかっています。 混合CCSID文字変換が許可されるのは,変換元のデータに2バイト・データが入っていない場合だけです。 データが図形の場合には,CCSIDの値に互換性があり ません。 変換元の CCSID は &4 で、変換先の CCSID は &5 です。
回復手順: すべての文字または図形の割り当てが互換性のあるCCSID値 をもつカラムまたはホスト変数間で行われることを確認してください。 文字および変換 元のCCSIDが混合である場合には,変換元のデータに2バイト文字が入っていてはい けません。 文字,DBCS図形,およびUCS-2/UTF-16図形データの間で変換するためには,VARCHARのような キャスト関数を使用してください。
SQLCODE: +331、-331
SQLSTATE: 01520、22021
SQL0332
メッセージ・テキスト: CCSID &1 と CCSID &2 の間の文字変換は正しくない。
原因: 互換性のないデータに対して文字または図形変換を行おうと しています。 CCSID &1 と CCSID &2 の間には変換が定義されていません。

1 つの CCSID が 65535 の場合には、他の CCSID はグラフィック CCSID です。 65535と図形CCSIDの間には,変換は定義されません。

これが CONNECT ステートメントである場合には、省略時のアプリケーション要求元の SBCS CCSID とアプリケーション・サーバーの SBCS CCSID の間に変換が定義されていません。 2番目のCCSIDが0の場合には,アプリケーション・サーバーがその省略時のSBCS CCSIDを戻していません。 DB2 FOR IBM I以外のアプリケーション・サーバーでは65535というCCSIDはサポートされない場合があります。

回復手順: すべての文字または図形の比較,連結,または割り当てが互換 性のあるCCSID値をもつカラムまたはホスト変数間で行われることを確認してください。

これが CONNECT ステートメントである場合には、アプリケーション要求元またはアプリ ケーション・サーバーの SBCS CCSID を変更して、CCSID 値の間で変換が定義される ようにしてください。

SQLCODE: -332
SQLSTATE: 57017
SQL0334
メッセージ・テキスト: 文字変換の結果として切り捨てが起こった。
原因: 列またはホスト変数 &2 の文字変換の結果として切り捨てが起こりました。 混合ASCIIデータを混合EBCDICデータに変換しようとしたか,あるいはUCS-2または UTF-16図形データを混合EBCDICデータに変換しようとしました。 シフト文字が挿入 されたので,データの長さが増えました。 結果のストリングが変換先に収まらなかっ たので,切り捨てが起こりました。
回復手順: 混合ASCIIから混合EBCDICに,UCS-2またはUTF-16図形から 混合EBCDICに変換する時には,変換先に十分なスペースがあることを確認してください。
SQLCODE: -334
SQLSTATE: 22524
SQL0335
メッセージ・テキスト: 文字変換の結果として置き換え文字が発生した。
原因: 文字列またはホスト変数 &2 が文字列またはホスト変数 &3 に変換され ました。 変換元のデータのいくつかの異なる文字値が変換先のデータの同じ値に変換 されるように,変換が定義されています。 これらの値を区別することはもはや不可能 になります。 変換元のデータの CCSID は &4 で、変換先の CCSID は &5 です。 ホスト変数値の *NまたはCCSID値の0は,値が不明であることを示します。
回復手順: 使用されるCCSID値によって変換元のすべての文字値が変換先の文 字値に変換されるように,カラムまたはホスト変数の定義を変更してください。
SQLCODE: +335
SQLSTATE: 01517
SQL0336
メッセージ・テキスト: 識別または順序属性が正しくありません。
原因:

識別列または順序の場合、START WITH、INCREMENT BY、MINVALUE、MAXVALUE、および RESTART WITH オプションに指定する値は、位取りがゼロでなければなりません。

回復手順: 値を有効なものに変更してください。 要求をやり直してください。
SQLCODE: -336
SQLSTATE: 428FA
SQL0338
メッセージ・テキスト: JOIN述部またはMERGE ON文節が無効です。
原因: JOIN述部,またはMERGEステートメントのON文節が無効です。というのも,結合述部またはON文節の有効範囲内にないテーブルに存在するカラムが指定されているからです。 一般に,この有効範囲は左から右へと判別されるが,結合条件の位置にも基づいています。 括弧を使用する場合には,括弧の内側のカラムは括弧の外側のテーブルからは参照できません。 ON文節を含む結合テーブルより前に(コンマを使用した)暗黙的結合が指定されている場合は,コンマより前にあるテーブルからON文節内のカラムを参照することはできません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 列名、テーブル名、およびすべての修飾子が正しく指定されていることを確認する。
  • 左から右以外の結合順序を指定するために、結合するテーブルの前後に括弧を指定する。 カラムが同じ有効範囲内のテーブル中に存在していることを確認してください。
  • MERGE ステートメント内の ON 文節の場合は、参照されているカラムが ON 文節の有効範囲内にあることを確認してください。
  • 暗黙的結合の代わりに CROSS JOIN を指定する。
SQLCODE: -338
SQLSTATE: 42972
SQL0340
メッセージ・テキスト: 共通テーブル式に重複名 &1 がある。
原因: 名前 &1 を使って複数のテーブル式を定義することはできません。
回復手順: どれか1つ共通テーブル式の名前を変更してください。 要求をやり直してください。
SQLCODE: -340
SQLSTATE: 42726
SQL0341
メッセージ・テキスト: 共通テーブル式間に循環参照がある。
原因: 指定された共通テーブル式は正しくありません。 テーブル &1 の副選択がテーブル &2 を参照し、テーブル &2 の副選択がテーブル &1 を参照していま す。 共通テーブル式間の循環参照は許されません。
回復手順: 共通テーブル式を,存在しているテーブル,または既に定義されて いる共通テーブル式を参照するように変更してください。 要求をやり直してください。
SQLCODE: -341
SQLSTATE: 42835
SQL0342
メッセージ・テキスト: 再帰的共通テーブル式 &1 にはキーワード使用できません。
原因: 共通テーブル式 &1 は再帰的です。 再帰的共通テーブル式に次のエラーの1つがあります。
  • 共通テーブル式内の全選択は、共通テーブル式が再帰的であるため、SELECT DISTINCT から開始できない。
  • 共通テーブル式内の全選択は、再帰的共通テーブル式の必要に応じて、UNION ALL の代わりに UNION を指定した。
回復手順: 全選択からDISTINCTキーワードを除去してください。 UNIONをUNION ALLに変更するか,あるいは共通テーブル式内の再帰的参照を除去してください。 要求をやり直してください。
SQLCODE: -342
SQLSTATE: 42925
SQL0343
メッセージ・テキスト: カラム・リストがテーブルでは正しくありません。
原因: 再帰的共通テーブル式の場合は次の通りです。
  • 列名リストは、共通表式のテーブル名の後に指定する必要があります。&1 は、共通テーブル式の名前です。
  • シーケンス列の名前とセット・サイクルの列名は、再帰的共通表式の列リストで参照できません。&1 は、シーケンス列の名前またはセット・サイクルの列名です。 RENAME節を指定したCREATE INDEXの場合:
  • キー列は、名前変更列リストに含まれている必要があります。
回復手順: カラム・リストを修正してください。 要求をやり直してください。
SQLCODE: -343
SQLSTATE: 42908
SQL0345
メッセージ・テキスト: 再帰的な共通テーブル式 &1 が正しくありません。
原因: 次の理由のいずれかのために,再帰的共通テーブル式が正しくありません。
  • 共通テーブル式の初期化全選択は、自己参照できない。
  • グループ化関数、集約関数、および ORDER BY は、共通テーブル式を定義する UNION の全選択内では使用できない。
  • 共通テーブルが JOIN の右オペランドとして指定されている場合、EXCEPT DISTINCT は使用できない。
  • 共通テーブルが JOIN の右オペランドとして指定されている場合、LEFT OUTER JOIN および FULL OUTER JOIN は使用できない。
  • 共通テーブルが JOIN の左オペランドとして指定されている場合、RIGHT OUTER JOIN および FULL OUTER JOIN は使用できない。
  • 共通テーブル式は、FROM 文節で複数回参照できないし、SUBQUERY で参照できない。
回復手順: 再帰的共通テーブル式を訂正してください。 要求をやり直してください。
SQLCODE: -345
SQLSTATE: 42836
SQL0346
メッセージ・テキスト: 共通テーブル式の再帰は許されない。
原因: 指定された共通テーブル式は正しくありません。 テーブル &1 の副選択がそれ自身を参照しています。 再帰的な共通テーブル式は許されません。
回復手順: 共通テーブル式を,存在しているテーブル,または既に定義されて いる共通テーブル式を参照するように変更してください。 要求をやり直してください。
SQLCODE: -346
SQLSTATE: 42836
SQL0348
メッセージ・テキスト: &1 式が正しく使用されていません。
原因: &3 中の &2 の &1 順序式は使用できません。 NEXT VALUEまたはPREVIOUS VALUE順序式は,次の中では使用できません。
  • CREATE VIEW、CREATE TABLE、ALTER TABLE、または CREATE INDEX ステートメントの中。
  • CREATE FUNCTION ステートメント。
  • CHECK 制約の中。
  • XMLTABLE 関数の中。

PREVIOUS VALUE 式は、CREATE TRIGGER ステートメント中には指定できません。

NEXT VALUE 式は次のようにしか指定できません。

  • 最外部 SELECT の SELECT 文節の中。 最外部SELECTがDISTINCTキーワードを使用する場合,GROUP BY,ORDER BY,またはOFFSET文節を含んでいる場合,あるいは全選択の一部である場合には,使用できません。 CASE式,あるいはSTART WITHまたはCONNECT BY文節内では使用できません。
  • 共通テーブル式の最外部 SELECT の SELECT 文節の中。 最外部SELECTがDISTINCTキーワードを使用する場合,GROUP BY,ORDER BY,またはOFFSET文節を含んでいる場合,あるいは全選択の一部である場合には,使用できません。
  • 式として、またはUPDATEやDELETEのSET句のサブセレクト内で。
  • 全選択の VALUES 文節または SELECT 文節のいずれかの INSERT 値として。
  • SET または VALUES ステートメントの値として。
回復手順: NEXT VALUEまたはPREVIOUS VALUEを取り除いてください。
SQLCODE: -348
SQLSTATE: 428F9
SQL0350
メッセージ・テキスト: 欄 &1 が無効です。
原因: 次のエラーの1つが起こっています。
  • LOB、データ・リンク、または XML 列は、キー・フィールド、索引のキー、または参照制約の外部キーとしては正しくない。
  • LOB 列、XML 列、またはブール列は、索引の WHERE 節では許可されません。
  • FILE LINK CONTROL オプションを指定したデータ・リンク列は、QTEMP、 QSYS、 QSYS2、または SYSIBM の中のテーブル、あるいは一時テーブルに作成することはできない。
  • LOB型、Boolean型、ROWID型、 DataLink, 型、XML型、またはLOB型、Boolean型、ROWID型、 Datalink 型、XML型に基づく個別型であるカラムは、RANGEパーティショニングのパーティショニング・キー・カラムとして無効です。 区分化キー・カラムをIDENTITYとして定義することはできません。
回復手順: テーブル,索引,キー,または制約の仕様からカラムを除去してください。
SQLCODE: -350
SQLSTATE: 42962
SQL0351
メッセージ・テキスト: ARが同一レベルではなく,DB2がデータ・タイプを互換タイプに変換できません。
原因: 項目 &1 のデータ・タイプはアプリケーション要求元ではサポートされ ません。 通常の原因は,アプリケーション要求元がSQLアクセス管理機能のレベル6 より下位であることにあり,アプリケーション・サーバーはそのデータ・タイプを対 応するタイプに変換できません。 また,BLOBまたはデータ・リンクのようなサポートされないデータ・タイプで,SQLCI (SQL CLIENT INTEGRATION)を使用しようとしたことを意味している場合もあります。 これは,配列変数がSQLDA内で受け渡されたことも意味しています。
回復手順: データ・タイプを対応するアプリケーション要求元またはSQLCIがサポートする値に変更してください。
SQLCODE: -351
SQLSTATE: 56084
SQL0352
メッセージ・テキスト: ASが同一レベルではなく,DB2がデータ・タイプを互換タイプに変換できません。
原因: 項目 &1 のデータ・タイプは、アプリケーション・サーバーでは サポートされないものです。 アプリケーション・サーバーはSQLアクセス管理機能のレベル6より下位であるので,アプリケーション要求元はデータ・タイプを互換タイプに変換できません。
回復手順: データ・タイプを,対応するアプリケーション・サーバーでサポート されるものに変更してください。
SQLCODE: -352
SQLSTATE: 56084
SQL0356
メッセージ・テキスト: 索引式 &1 は無効です。
原因: 索引式 &1 は無効です。 式番号が0の場合は,式がWHERE文節またはINCLUDE文節で参照されているか,索引キー・カラム番号が不明であるか,そのいずれかです。 次の理由のいずれかのために,式が正しくありません。
  • 式が列を参照していない。
  • 式は特殊レジスターまたはグローバル変数を参照している。
  • 式は副選択を含んでいる。
  • 式の中で ROW CHANGE TIMESTAMP または ROW CHANGE TOKEN が使用されている。
  • 式は、集約関数 (AVG や COUNT など)、確定的でない関数、ユーザー定義関数、または許可されていないシステム関数を使用している。
  • 式は NODENAME、DBPARTITIONNAME、DATAPARTITIONNAME、または DATAPARTITIONNUM スカラー関数を使用する。
  • この式には、ブール値、LOB、またはXMLが含まれる。
  • ブール、IS JSON、JSON_EXISTS、または REGEXP_LIKE 述部が使用されています。
  • 式がフィールド・プロシージャーのある列を参照している。
  • RENAME 文節を使用する場合、キー式は列名でなければならず、AS 文節を指定することはできません。
回復手順: エラーを訂正してください。 要求をやり直してください。
SQLCODE: -356
SQLSTATE: 429BX
SQL0357
メッセージ・テキスト: データ・リンクで使用されているファイル・サーバー &1 は現在使用可能でない。
原因: 理由コード &2 により、データ・リンク値の URL 内のサーバー &1 は使用 可能ではありません。 理由コードは次の通りです。
  • 1 データ・リンク値のファイル・サーバーが使用不可能。
  • 2 操作が試みられたデータベース・サーバー、インスタンス、またはデータベースが、ファイル・サーバーに未登録。
  • 3 操作に関係したファイル・サーバーで、再始動回復が保留中であるか、または進行中。
  • 4 データ・リンク値のファイル・サーバーは、データベースに登録されていますが、不明のサーバー。
回復手順: サーバーが実行中であり,アクセスできることを確認します。 要求をやり直してください。
SQLCODE: -357
SQLSTATE: 57050
SQL0358
メッセージ・テキスト: データ・リンク・データ・タイプの使用中にエラー &1 が起こった。
原因: データ・リンクを使用している間にエラーが起こりました。 考えられるエ ラーは次の通りです。
  • エラー・タイプ 21 は、データ・リンク値の形式が正しくない。
  • エラー・タイプ 22 は、データ・リンク・ファイル管理機能 (DLFM) がサーバーで正しく構成されていない。
  • エラー・タイプ 23 は、リンク・タイプが無効。
  • エラー・タイプ 24 は、ファイルが存在しない。
  • エラー・タイプ 25 は、ファイルがすでにリンクされている。
  • エラー・タイプ 26 は、ファイルが利用不可である。
  • エラー・タイプ 27 は、注記または URL の長さが正しくない。
  • エラー・タイプ 28 は、ユーザーがファイルのリンクを許可されていない。
  • エラー・タイプ 29 は、データ・リンクをリンク解除不可。
回復手順: データ・リンク内の該当するエラーを訂正して,要求を再試行してくだ さい。 エラー・タイプ22の場合には,サーバーのDLFMにホスト・データベースま たは接頭部が追加されていない場合があります。 その場合には,DLFMにホスト・デ ータベース追加(ADDHDBDLFM)またはDLFMに接頭部追加(ADDPFXDLFM)コマンドを 使用して,エラーを訂正してください。
SQLCODE: -358
SQLSTATE: 428D1
SQL0359
メッセージ・テキスト: 識別カラムまたは順序の値が使用可能でありません。
原因: 次のいずれかの理由で,識別カラムまたは順序の値が使用可能でありません。
  • 識別列のすべての値がすでに割り当てられているので、INSERT または UPDATE ステートメントは実行できません。
  • 順序のすべての値がすでに割り当てられているので、NEXT VALUE 式は評価できません。
回復手順: 識別カラムの場合には,識別カラムの値の範囲をより大きくできるようにカラムを変更するか, あるいは識別値の反復が可能になるようにカラムを変更してください。 順序の場合には,値の範囲をより大きくできるようにするか,あるいは順序の反復が可能になるように順序を変更してください。
SQLCODE: -359
SQLSTATE: 23522
SQL0360
メッセージ・テキスト: 保留中のリンクのために &2 中のテーブル &1 のデータ・リンクが有効でない可能性があります。
原因: スキーマ &2 のテーブル &1 は、リンク保留モードのデータ・リンクをもっています。 データ・リンクはFETCHまたはSELECT INTOを使って検索できますが,テーブルがリンク保留モードのデータ・リンクをもっているので,データ・リンクが有効でない可能性があります。
回復手順: 検索された値が正しいURLであることを確認してください。 コマンドWRKPFDL(物理ファイル・ データ・リンクの処理)を使用して,リンク保留モードのデータ・リンクをもっているテーブルを判別することができます。
SQLCODE: +360
SQLSTATE: 01627
SQL0362
メッセージ・テキスト: フラグが現在のSQLステートメントでエラーを検出した。
原因: SQL ステートメントの位置 &1 に、標準ではない構文が入っています。
回復手順: エラーの詳細については,ジョブ・ログの前のメッセージを参照してく ださい。 標準への準拠が必要な場合には,ステートメントを準拠するように変更してから,要求を再試行してください。
SQLCODE: +362
SQLSTATE: 0168I
SQL0363
メッセージ・テキスト: 項目 &1 の拡張標識変数の値は無効です。
原因: 項目 &1 の拡張標識変数の値は、許容値の範囲内にありません。 値は,正の値か,または0から-7の範囲内の値でなければなりません。
回復手順: 拡張標識変数の値を,使用されているステートメントまたはコンテキストで許可されている値に変更してください。 要求をやり直してください。
SQLCODE: -363
SQLSTATE: 22010
SQL0364
メッセージ・テキスト: 算術演算または割り当て時の DECFLOAT 例外 &1 です。
原因: DECFLOAT のデータ・タイプを持つ列に対する加算、減算、乗算、割り算、否定、または組み込み関数操作のときに、例外エラー &1 が起きました。 DECFLOATカラムへの代入でオーバーフローおよびアンダーフロー例外も発生している可能性があります。 考えられる例外タイプは次のとおりです。
  • 1 - アンダーフロー。
  • 2 - オーバーフロー。
  • 3 - 不正確な結果。
  • 4 - 無効なオペランド。
  • 5 - ゼロによる除算。
  • 6 - 正常以下の値。
回復手順: 警告が発生した式を調べて,問題の原因を判別できるかを確認してください。 問題はデータ依存である可能性があります。 ステートメントの実行は続行されます。
SQLCODE: +364
SQLSTATE: 0168C, 0168D, 0168E, 0168F, 0168G
SQL0365
メッセージ・テキスト: 項目 &1 の拡張標識変数値の使用が無効です。
原因: 値 DEFAULT または UNASSIGNED が項目 &1 の拡張標識変数に対して、許可されていないコンテキストで使用されました。 これらの値は,INSERT, MERGE,およびUPDATEステートメントでのみ使用可能です。
回復手順: 拡張標識変数を,使用されているコンテキストで許可されている値に変更してください。 要求をやり直してください。
SQLCODE: -365
SQLSTATE: 22539
SQL0372
メッセージ・テキスト: カラム&1のデータ・タイプまたは属性がテーブルに既に定義されている。
原因: 列 &4 がすでに定義されているので、列 &1 を &3 のテーブル &2 に作成することはできません。 テーブルに定義できるのは,多くても1つのIDENTITYカラム,1つのROWIDカラム,1つのROW CHANGE TIMESTAMPカラム,1つのROW BEGINカラム,1つのROW ENDカラム,および1つのTRANSACTION START IDカラムです。
回復手順: 単一のカラムだけがこれらの各属性で定義されるように,カラムの1つを削除するか,あるいは属性を変更してください。 要求をやり直してください。
SQLCODE: -372
SQLSTATE: 428C1
SQL0373
メッセージ・テキスト: DEFAULT は欄 &1 には指定できません。
原因: 次のいずれかが起こっています。
  • DEFAULT文節が,CREATE TABLEまたはALTER TABLEステートメントでROWIDカラム,生成カラム,またはXMLカラムに指定されています。
  • SET ステートメントが、GENERATED BY DEFAULT として定義された IDENTITY 列、ROWID 列、XML 列、または ROW CHANGE TIMESTAMP 列に DEFAULT を割り当てる SQL トリガーの中で指定されている。
  • 検査制約のON INSERT VIOLATION文節は,省略時値を持たないカラムをDEFAULTに設定することはできません。
回復手順: DEFAULT文節をカラムの定義から削除するか,あるいはステートメントが値DEFAULTを割り当てないようにステートメントを変更してください。 要求をやり直してください。
SQLCODE: -373
SQLSTATE: 42623
SQL0385
メッセージ・テキスト: SQLCODE または SQLSTATE への割り当て状態で &2 中に SQL ルーチン &1 が作成されました。
原因: スキーマ &2 中に SQL ルーチン &1 が作成されましたが、ターゲットとして SQLCODE または SQLSTATE 変数を指定する割り当てステートメントが含まれています。 SQLCODEおよびSQLSTATEを変更する割り当てステートメントは,変数中の値を 変更するだけで,エラーまたは警告は出されません。
回復手順: 回復処置は不要です。 エラーまたは警告の指示を出すつもりであった場合には,割り当ての代わりにSIGNALまたはRESIGNALステートメントを指定してください。
SQLCODE: +385
SQLSTATE: 01643
SQL0387
メッセージ・テキスト: 追加の結果セットは戻されません。
原因: &2 のプロシージャー &1 は最大 &4 個の結果セットを戻すように定義されていました。 プロシージャーは &3 個の結果セットを戻しました。
回復手順: 不要です。
SQLCODE: +387
SQLSTATE: 02001
SQL0390
メッセージ・テキスト: &2 の関数 &1 の使用が正しくない。
原因: スキーマ &2 での関数 &1 の使用は無効です。 特定の名前は &3 です。 次のいずれかが起こっています。
  • テーブル関数が FROM 文節以外の文節に指定された。
  • 関数が FROM 文節に指定されたが、その関数はテーブル関数ではない。
  • テーブル関数が CREATE FUNCTION ステートメントにソース関数として指定された。
  • UNNEST が指定されたが、これは SQL のプロシージャーおよび関数でのみ許可されている。
  • 選択リストに配列結果のある関数を持つカーソルに対して WITH RETURN が指定されました。
  • ARRAY_AGG、LISTAGG、XMLAGG、または GROUPING の集約関数またはソース関数が OLAP 仕様で使用された。
回復手順: 関数を文節から除去するか,あるいは別の関数が検出されるように関数名,引数,またはパスを変更してください。 要求をやり直してください。
SQLCODE: -390
SQLSTATE: 42887
SQL0391
メッセージ・テキスト: テーブル関数は関数 &1 の引数にはできません。
原因: テーブル指定子をスキーマ &2 の関数 &1 の引数として使用することができません。

関数 & 1 の引数がビューであり、そのビューが基本表を参照していない場合、そのビューを関数の引数として使用することはできません。

回復手順: テーブル関数を表していないテーブル指定子をこの関数の引数として使用してください。 要求をやり直してください。
SQLCODE: -391
SQLSTATE: 42881
SQL0392
メッセージ・テキスト: 指定されたホスト変数へのLOBまたはXMLの割り当ては許可されていません。
原因: カーソル &1 に対するこの LOB または XML 値のすべての取り出しのターゲット・ホス ト変数は、ロケーター、LOB ホスト変数、または XML ホスト変数でなければなりません。
回復手順: この取り出しのターゲットを,このカーソルに対する他の取り出しと矛盾しないように,LOBまたはXMLホスト変数あるいはLOBまたはXMLロケーターに変更してください。 ホスト変数とロケーターを両方ともこの取り出しのターゲットとして使用する必要がある場合には,*NOOPTLOBコンパイラー・オプションを使用してください。
SQLCODE: -392
SQLSTATE: 42855
SQL0393
メッセージ・テキスト: 条件または診断に指定された値が有効でありません。
原因: SET TRANSACTIONステートメントのDIAGNOSTICS SIZEに指定された値が範囲外であるか,GET DIAGNOSTICSステートメント に指定された条件番号が前のSQLステートメントに使用可能な条件の数より大きくなっています。
回復手順: 正しい値を指定してください。
SQLCODE: -393
SQLSTATE: 35000
SQL0398
メッセージ・テキスト: AS LOCATORはLOBまたはXMLパラメーターに限り指定できます。
原因: AS LOCATORは,プロシージャーまたは関数のLOBまたはXMLパラメーターおよび戻り値にしか使用できません。 AS LOCATORは配列には使用できません。 AS LOCATOR が、パラメーターまたは戻り値 &1 に対して指定されました。
回復手順: プロシージャーまたは関数のLOBまたはXMLパラメーターあるいは戻り値にだけAS LOCATOR を使用するようにしてください。
SQLCODE: -398
SQLSTATE: 428D2
SQL0399
メッセージ・テキスト: ROWID 欄 &1 の値が無効です。
原因: ROWID 列 &1 に指定された値が無効であるので、INSERT または UPDATE ステートメントは実行できません。
回復手順: 列 &1 を列リストから除去するか、あるいは有効な ROWID 値または DEFAULT を列 &1 に指定してください。
SQLCODE: -399
SQLSTATE: 22511
SQL0401
メッセージ・テキスト: 比較演算子 &1 のオペランドが矛盾している。
原因: 比較演算子 &1 のオペランドには互換性がない。
  • 数値オペランドは他の数値オペランドとも、文字およびグラフィックのオペランドとも互換性がある。
  • 文字オペランドは、文字、グラフィック、日付、時刻、タイム・スタンプ、または数値オペランドと互換性がある。
  • 日付、時刻、およびタイム・スタンプ・オペランドは、文字およびグラフィック・オペランドとも、同じタイプの別のオペランドとも互換性がある。 日付とタイム・スタンプのオペランドも互換性があります。
  • グラフィック・オペランドは、グラフィック、文字、日付、時刻、タイム・スタンプ、または数値オペランドと互換性がある。
  • バイナリー・オペランドは、バイナリー・オペランドとしか互換性がない。
  • ブール・オペランドは、文字、グラフィック、整数、および 10 進浮動小数点オペランドと互換性があります。
  • 強く型付けされた特殊タイプのオペランドは、まったく同じタイプのオペランドとしか比較できない。
  • データ・リンク・オペランドは比較できない。
  • XML オペランドは比較できない。
回復手順: すべてのオペランドのデータ・タイプを調べて,すべてのオペランド のデータ・タイプに矛盾がないことを確認してください。 SQLステートメントのすべ てのオペランドが正しくて,ビューにアクセス中の場合には,ビュー定義のすべての オペランドのデータ・タイプを調べてください。 エラーを訂正してください。 要求をやり直してください。
SQLCODE: -401
SQLSTATE: 42818
SQL0402
メッセージ・テキスト: &1 の使用法が正しくない。
原因: 算術関数または演算子 &1 に正しくないオペランドが指定されています。
  • 厳密に型付けされた特殊タイプは、演算子またはスカラー関数のオペランドとして指定することはできません。 強く型付けされた特殊タイプを演算子と一緒に使用する場合には,そのタイプ用に特に作成されたユーザー定義関数内でしか指定できません。
  • DIGITS のオペランドは、数値または浮動小数点を除く数値互換タイプとすることができる。
  • SMALLINT、FLOAT、REAL、DOUBLE または DOUBLE_PRECISION、および DECFLOAT のオペランドを、日付、時刻、またはタイム・スタンプにすることはできない。
  • その他の関数および演算子には数値オペランドまたは数値互換オペランドが必要。
回復手順: 関数または演算子 &1 のすべてのオペランドが正しいことを確認してください。 オペランドを訂正してください。 要求をやり直してください。
SQLCODE: -402
SQLSTATE: 42819
SQL0403
メッセージ・テキスト: 別名 &1 が &2 に作成されましたが、テーブルまたはビューが見つかりません。
原因: 別名 &1 が &2 に作成されましたが、参照されたテーブルまたはビュー &3 を &4 で見つけることができませんでした。
回復手順: 別名が作成されても、&3 が &4 の中に作成されるまで使用することはできません。
SQLCODE: +403
SQLSTATE: 01522
SQL0404
メッセージ・テキスト: 欄または変数 &1 の値が長すぎる。
原因: INSERT、UPDATE、MERGE、SET、VALUES INTO、または GET DIAGNOSTICS ステートメントが、&1 に記憶できる ストリングの最大長よりも長い値を指定しています。 &1 の長さは &2 で、ストリングの長さは &3 です。
回復手順: ストリングの長さを &3 から最大の &2 に減らして、要求をやり直し てください。
SQLCODE: -404
SQLSTATE: 22001
SQL0405
メッセージ・テキスト: 数値定数 &1 が範囲外である。
原因: &1 で始まる数値定数が範囲外です。
  • 10 進数および整定数には最大 63 桁の有効数字を含めることができます。 浮動小数点リテラルで使用できる範囲は,+/- 1 * 10**-6176から+/- 9.999999999999999999999999999999999 * 10**6144です。
  • SELECT または DECLARE CURSOR ステートメントでは、OPTIMIZE 文節の行数に 0 は正しくありません。
  • INCREMENT BY 値は整数値でなければなりません。
  • 識別列または順序属性の定数は、識別列または順序に割り当てることができる値でなければなりません。
回復手順: すべての数値定数がこのデータ・タイプで使用できる範囲内であり,その特定の使用に許可された値に準拠していることを確認してください。 要求をやり直してください。
SQLCODE: -405
SQLSTATE: 42820
SQL0406
メッセージ・テキスト: 欄 &2 への割り当て時に変換エラー。
原因: INSERT、UPDATE、ALTER TABLE、または REFRESH TABLE ステートメントで列 &2 に値を割り当てようとした時に、変換エラー・タイプ &3 が起こりました。 プリコンパイル中の場合に、列 &2 で同じ属性の数値定数を変換する時にエラーが起こりました。 エラー・タイプのリストは次の通りです。
  • エラー・タイプ 1 はオーバーフロー。
  • エラー・タイプ 2 は浮動小数点オーバーフロー。
  • エラー・タイプ 3 は浮動小数点アンダーフロー。
  • エラー・タイプ 4 は浮動小数点変換エラー。
  • エラー・タイプ 5 は正確な結果ではない。
  • エラー・タイプ 6 は無効な数値データ。
  • エラー・タイプ 7 は無効な DBCS データ。
回復手順: 結果の値が列 &2 に収まり有効となるようにステートメントを変更す るか、あるいは結果の値を割り当てられるように列 &2 の新しいタイプまたは長さを 指定して、テーブルまたはビューを作成し直してください。
SQLCODE: -406
SQLSTATE: 22003、22023、22504
SQL0407
メッセージ・テキスト: 欄または変数 &5 では、NULL 値は使用できない。
原因: 次のいずれかが起こっています。
  • &5 列目が &4 のテーブル &3 のための UPDATE、INSERT、または MERGE ステートメント中のターゲット列です。 このカラムに対する挿入または更新の対象としてヌル値が指定されたか,あるいはこのカラムの値がINSERTに指定されていなくて,このカラムがヌル値を許可していません。 VALUES リスト、選択リスト、または SET 文節中の相対項目番号 &6 に NULL 値が 指定されていました。
  • 列 &5 がテーブル &4 の &3 のための ALTER ステートメントに指定されている。 NULL 値が列の相対項目番号 &6 に存在しているので、列 &5 の属性は NOT NULL に変更できません。
  • 変数 &5 は SQL プロシージャー、関数、またはトリガー内のターゲット変数。 ヌル値がSETまたはVALUESステートメントを使用してこの変数に設定されるように指定されていましたが,この変数はヌル値可能でありません。 NULL 値が SET または VALUES INTO 文節中の相対項目番号 &6 に指定されて いました。

NULL 値が NULL、負の値が入っている関連した標識変数をもつホスト変数、NULL 値が入っている列、または NULL に評価された式のいずれかとして指定されていました。 NULL 値がホスト変数または列の場合には、その名前は &7 です。

列の NULL 値は、列の CREATE または ALTER で指定された列の NOT NULL 属性を強制するために暗黙的に追加された CHECK 制約によって使用できないようになっている場合があります。

列の NULL 値は、CREATE TABLE または ALTER TABLE ステートメントの基本テーブルに指定された列のパーティション・キー属性を 強制するために暗黙的に追加された CHECK 制約によって使用できないようになっている場合があります。

回復手順: これがALTER TABLEステートメントの場合には,カラムの中の既存のヌル値を非ヌル値に変更してください。 そうでない場合には,結果が非ヌルになるように値を変更します。 ホスト変数を指定する場合には,関連標識変数の値をゼロ以上の値に変更してください。 要求をやり直してください。
SQLCODE: -407
SQLSTATE: 23502
SQL0408
メッセージ・テキスト: 列、変数、またはパラメーター &1 の値が矛盾しています。
原因: ソース値のデータ・タイプがターゲットの列、変数、またはパラメーター &1 のデータ・タ イプと矛盾しています。 ステートメントが INSERT または UPDATE である場合には、&1 はスキーマ &3 中のテーブル &2 の列です。
  • 数値タイプ値は数値、文字、またはグラフィック・タイプに割り当てることが可能。
  • 文字またはグラフィック値は文字、グラフィック、または数値タイプに割り当てることが可能。
  • バイナリー値はバイナリー・タイプに割り当てることが可能。
  • 日付、時刻、またはタイム・スタンプの値は文字、またはグラフィック・タイプに割り当てることが可能。
  • 文字またはグラフィック値は、日付、時刻、タイム・スタンプ、またはブール・タイプに割り当てることができます。
  • 日付値は日付またはタイム・スタンプに割り当てることが可能。
  • 時刻値は時刻に割り当てることが可能。
  • タイム・スタンプ値は日付、時刻、またはタイム・スタンプに割り当てることが可能。
  • 整数または 10 進浮動小数点値をブール値に割り当てることができます。
  • ブール値は、文字、グラフィック、整数、または 10 進浮動小数点に割り当てることができます。
  • 強く型付けされた特殊タイプに割り当てる値は、ソース・タイプにプロモート可能なものでなければならない。
  • データ・リンクに割り当てる時は、DLVALUE 関数が指定されていなければならない。
  • XML 値は XML タイプにのみ割り当てることができます。
  • 結果セット・ロケーター値は結果セット・ロケーターに割り当てることができます。
回復手順: &1 に割り当てられた値を互換性のある値に変更してください。 要求をやり直してください。
SQLCODE: -408
SQLSTATE: 42821
SQL0410
メッセージ・テキスト: 浮動小数点リテラル &1 が正しくない。
原因: 浮動小数点定数 &1 の文字数が先行ゼロを除外して 42 を超えることは できません。 最初の数の桁数が先行ゼロを除外して34を超えることはできず,2番 目の数の桁数が4を超えることはできません。
回復手順: 指示されたリテラル &1 を訂正してください。 浮動小数点リテラルが ,次の例で示されている正しい形式になっていることを確認してください。+1.2E+3, 15E1, 2.E5, 2.2E-1, +5.E+2, -.1E1。 要求をやり直してください。
SQLCODE: -410
SQLSTATE: 42820
SQL0412
メッセージ・テキスト: 複数の結果のカラムのある副選択は正しくありません。
原因: 述部の他のオペランドが単一式の場合には,述部の副選択には1つの結果のカラムのみが指定されていなければなりません。 副選択の結果はリストを構成するゼロ,1,または複数の行とすることができますが,結果のカラムはただ1つでなければなりません。
回復手順: ただ1つの結果のカラムが指定されるように,副選択が戻す項目の数を変更するか, あるいは述部の他のオペランドが式のリストになるように変更してください。
SQLCODE: -412
SQLSTATE: 42823
SQL0413
メッセージ・テキスト: 数値データ・タイプの変換に失敗しました。
原因: ある数値タイプから別の数値タイプへの変換時にオーバーフローまたはアンダーフロー状態が発生しました。
回復手順: このステートメント内の数値が許容範囲内の数値になるようにしてください。
SQLCODE: -413
SQLSTATE: 22003
SQL0414
メッセージ・テキスト: LIKE述部のオペランドが正しくない。
原因: LIKE述部のオペランド1のタイプが日付,時刻,タイム・スタンプ,ROWID,XML,またはデータ・リンクになっているか, あるいは強く型付けされた特殊タイプです。 LIKE述部に指定するオペランドはバイナリー,文字,図形,または数値であるか,あるいはこれらのタイプの1つに基づいて弱く型付けされた特殊タイプでなければなりません。 ESCAPE 文字が指定された場合には,オペランド1をDBCS専用にすることができません。 オ ペランドが列の場合には、列名は &1 です。
回復手順: LIKE述部のオペランド1をバイナリー,文字,図形,または数値タイプに変更してください。 日付,時刻,またはタイム・スタンプの比較には別の述部を使用してください。 オペランド1がDBCS専用の場合には,ESCAPE文字を指定しないで ください。 要求をやり直してください。
SQLCODE: -414
SQLSTATE: 42824
SQL0415
メッセージ・テキスト: 設定操作,配列コンストラクター,またはVALUESのオペランドに互換性がありません。
原因: 列 &2 は、UNION、EXCEPT、または INTERSECT の別の副選択、VALUES 文節の別の行、または配列コンストラクターの別の項目の対応する列と互換性がありません。 リスト中の値の相対位置は &1 です。 次の条件の1つが存在する可能性があります。
  • 一方の列が文字、グラフィック、または数値で、他方の列が文字、グラフィック、または数値でない。
  • 一方の列が日付、時刻、またはタイム・スタンプで、他方の列が文字または同じタイプでない。 日付とタイム・スタンプは互換性があります。
  • 一方の列がバイナリーで、他方の列がバイナリーでない。
  • 一方の列がブール値で、他方の列がブール値、文字、グラフィック、整数、または 10 進浮動小数点ではない。

列名が *N の場合には、その列が指定された列ではない。

回復手順: UNION, EXCEPT, INTERSECT,配列コンストラクター,またはVALUES文節のオペランドのカラムを互換性があるように変更してください。 値を互換性のあるタイプにするには,キャスト関数を使用できます。 要求をやり直してください。
SQLCODE: -415
SQLSTATE: 42825
SQL0417
メッセージ・テキスト: パラメーター・マーカーの組み合わせが正しくない。
原因: PREPAREステートメントの目的語として指定されたステートメント・スト リングに,同じ演算子のオペランドとしてパラメーター・マーカーが使用されている 述語または式が入っています。 パラメーター・マーカーの使用については,次の制約 事項が適用されます。
  • 述語の両方のオペランドをパラメーター・マーカーとすることはできない。 例えば,次の形式の述語の指定は正しくありません。

? = ?

または

? = (選択? FROM X )

これは有効ではありません

  • 式の両方のオペランドをパラメーター・マーカーとすることはできない。 例えば,次の形式の式の指定

? + ?

これは無効です。

  • BETWEEN 述語のオペランドの少なくとも 1 つはパラメーター・マーカーとすることができない。 例えば,次の形式の述部の指定

? 間? および?

これは無効です。

  • IN 述語のオペランドの少なくとも 1 つはパラメーター・マーカーとしてはならない。 例えば,次の形式の述部の指定

? IN (?,?,?)

これは無効です。

回復手順: 述語または式のすべてのオペランドがパラメーター・マーカーであるということがないように,ステートメントを訂正してください。 属性をパラメーター・マーカーに割り当てるために,ほとんどの場合にCAST指定を使用できます。 要求をやり直してください。
SQLCODE: -417
SQLSTATE: 42609
SQL0418
メッセージ・テキスト: パラメーター・マーカー,NULL,またはUNKNOWNの使用法が正しくない。
原因: 次の場合には,パラメーター・マーカー,NULL,およびUNKNOWNは使用できません。
  • 一部のスカラー関数のオペランドとして。 スカラー関数がVALUE, COALESCE, IFNULL, NULLIF, MIN, MAX, LAND, LOR, XOR, BITAND, BITANDNOT, BITOR, BITXOR,またはBITNOTの 場合には,値がパラメーター・マーカー,NULL,またはUNKNOWNのいずれでもない引数が,少なくとも1つ必要です。

次の場合もパラメーター・マーカーを使用できません。

  • 準備するステートメント・ストリングの SELECT 文節の中。
  • VALUES INTO ステートメント中の値として。
  • 挿入された SQL または対話式 SQL の SQL ステートメントの中。
  • EXECUTE IMMEDIATE ステートメントの中。
  • CREATE VIEW、CREATE TABLE、ALTER TABLE、CREATE INDEX、CREATE MASK、または CREATE PERMISSION ステートメントの中。
  • CREATE PROCEDURE または CREATE FUNCTION ステートメントのパラメーターのデフォルト値文節の中。
  • RUNSQLSTM または RUNSQL コマンドによって処理されるステートメントの中。
  • ブロック化 INSERT ステートメントの中。

RAISE_ERROR スカラー関数は、パラメーター・マーカーが許可されない式では使用できません。

回復手順: パラメーター・マーカー,NULL, UNKNOWN,およびRAISE_ERRORスカラー関数は,使用できる位置にのみ 指定してください。 多くの場合は,CAST指定を使用できます。 パラメーター・マーカーを使用できる場所の 詳細については,SQL解説書のPREPAREステートメントを参照してください。 エラーを訂正 してください。 要求をやり直してください。
SQLCODE: -418
SQLSTATE: 42610
SQL0419
メッセージ・テキスト: 負の位取り(スケール)は正しくない。
原因: 10進の除算操作によって負の位取り(スケール)となりました。 小数の除算の目盛りを決定するために使用されるアルゴリズムを表示するには、 IBM i ドキュメンテーションのデータベースカテゴリにある Db2 for i SQL リファレンストピックのコレクション https://www.ibm.com/docs/en/i を参照してください。
回復手順: FLOATまたはDECFLOATスカラー関数を使用することによってオペランドのいずれかを浮動小数点に変更します。 これにより,除算の結果が浮動小数点に変更されます。 10進数 の結果が必要な場合には,浮動小数点の結果にDECIMALスカラー関数を使用してくだ さい。 オペランドの1つが整数,小整数,または大整数の場合には,SQLは除算の前 にその整数を10進数に変換しています。 DECIMAL関数を使用して,整数,小整数,または64ビット整数を,除算で負の位取りが 生じない精度に明示的に変換することができます。 要求をやり直してください。
SQLCODE: -419
SQLSTATE: 42911
SQL0420
メッセージ・テキスト: キャスト引数の値が無効です。
原因: キャスト関数の引数の文字が正しくないか,引数を数値に変換できませんでした。

INTERPRET 関数の場合、最初の引数の長さは、結果データ・タイプに必要な長さと正確に一致する必要があります。 例えば,整数結果データ・タイプの場合,最初の引数の長さは4でなければなりません。

以下の情報を使用して、エラーの原因を識別することができます。& 1.

回復手順: CAST関数では,引数を変更して, 結果のデータ・タイプの値の有効な表現が含まれるようにしてください。 引数が数値でなければならない場合,値を数値データ・タイプに暗黙的にキャストできることを確認してください。 これがキャストの場合,結果のデータ・タイプを,引数の文字を認識できるものに変更してください。

INTERPRET 関数の場合は、最初の引数の長さに結果データ・タイプに必要なバイト数が含まれるように引数を変更してください。

SQLCODE: +420、-420
SQLSTATE: 01565、22018
SQL0421
メッセージ・テキスト: カラムの数が矛盾しています。
原因: UNION, INTERCEPT,またはEXCEPTの副選択では結果のカラムが同数でなければなりません。 複数行挿入またはVALUES文節に指定するすべての行には同数の値が必要です。
回復手順: 各行に定義するカラムの数が同数となるようにSQLステートメントを訂正してください。 要求をやり直してください。
SQLCODE: -421
SQLSTATE: 42826
SQL0423
メッセージ・テキスト: ロケーター &1 が正しくありません。
原因: 現在、ロケーター &1 の値は正しくありません。 前のFREE LOCATORステートメントまたはCOMMITあるいはROLLBACKによってLOBまたはXMLロケーターが解放された可能性があります。 CLOSEステートメントまたはCOMMITあるいはROLLBACKによって結果セット・ロケーターが解放された可能性があります。 既にカーソルが割り振られている結果セット・ロケーター値に対してALLOCATE CURSORステートメントを実行することはできません。
回復手順: FREE LOCATOR, CLOSE, COMMIT,またはROLLBACKステートメントによって解放されていない活動ロケーターをロケーター値が参照するようにしてください。 SELECT INTOステートメント,VALUES INTOあるいはSETステートメント,GET DESCRIPTORステートメント,またはFETCHステートメントを使用して,ロケーター変数にLOBまたはXML値を割り当てることができます。 ASSOCIATE LOCATORSステートメントまたはDESCRIBE PROCEDUREステートメントを使用して,結果セット・ロケーター変数に値を割り当てることができます。
SQLCODE: -423
SQLSTATE: 0F001
SQL0426
メッセージ・テキスト: 動的COMMITはこのアプリケーション環境には無効です。
原因: DRDA2フェーズ・コミット・プロトコルを使用しているアプリケーションが,動的COMMITを出そうとしたか,あるいはCOMMIT ON RETURNを実行するストアード・プロシージャーを呼び出しました。
回復手順: 動的COMMITステートメントを除去するか,あるいはCOMMIT ON RETURNは使用しないようにストアード・プロシージャー定義を変更してください。
SQLCODE: -426
SQLSTATE: 2D528
SQL0427
メッセージ・テキスト: 動的ROLLBACKはこのアプリケーション環境には無効です。
原因: DRDA2フェーズ・コミット・プロトコルを使用しているアプリケーションが,動的ROLLBACKを出そうとしました。
回復手順: 動的ROLLBACKステートメントを除去してください。
SQLCODE: -427
SQLSTATE: 2D529
SQL0428
メッセージ・テキスト: SQLステートメントを実行することができない。
原因: SET TRANSACTION, DISCONNECT,またはSET SESSION AUTHORIZATION ステートメントは,現在のアプリケーションの状態では実行できません。 理由コードは &1 です。 理由コードとそ の意味は次の通りです。
  • 1 -- 適用業務処理がコミット境界にない。
  • 2 -- 現行サーバーはローカル・リレーショナル・データベースであり、リモート・リレーショナル・データベースへのアクティブな接続がある。
  • 3 -- SYSTEM_USER が QSYS、QDFTOWN、または QSPL などのシステム提供のユーザー・プロファイルの 1 つである。
  • 4 -- ストアード・プロシージャー、ユーザー定義関数、またはトリガーが実行中である。
  • 5 -- COMMIT HOLD ステートメントを実行したために、リソースが保留されている。
  • 6 -- HOLD LOCATOR ステートメントを実行したために、リソースが保留されている。
  • 7 -- 最大数の ProfileHandles が生成された。
回復手順: SQLステートメントを実行する前に,次の処置の1つを実行してください。 要求をやり直してください。
  • 1 -- 接続がコミット境界にない場合、COMMIT または ROLLBACK SQL ステートメントを発行する。
  • 2 -- リモート・リレーショナル・データベースへの接続がアクティブである場合、リモート接続を切断する。
  • 3 -- SYSTEM_USER がシステム提供のユーザー・プロファイルの 1 つである場合、別のユーザー・プロファイルを使用してサインオンする。
  • 4 -- ストアード・プロシージャー、ユーザー定義関数、またはトリガーの実行の前または後で、SET SESSION AUTHORIZATION ステートメントを実行する。
  • 5 -- COMMIT HOLD を実行したためにリソースが保留されている場合、COMMIT または ROLLBACK SQL ステートメントを発行する。
  • 6 -- HOLD LOCATOR を実行したためにリソースが保留されている場合、ROLLBACK または FREE LOCATOR SQL ステートメントを発行する。
  • 7 -- 最大数の ProfileHandles が生成されている場合、「ProfileHandle の解放」 (QSYRLSPH) プログラムを使用して、必要でなくなった ProfileHandles の一部を解放する。
SQLCODE: -428
SQLSTATE: 25001、25501
SQL0429
メッセージ・テキスト: 同時に存在できるLOBまたはXMLロケーターの最大数に達しました。
原因: このプロセスには既に16000000個の有効なロケーターが存在しているので,LOBまたはXMLロケーターを生成できませんでした。
回復手順: FREE LOCATORステートメントを使用してLOBまたはXMLロケーターを解放してください。
SQLCODE: -429
SQLSTATE: 54028
SQL0432
メッセージ・テキスト: パラメーター・マーカーがユーザー定義タイプ名 &1 をもつことはできない。
原因: ステートメント中に、強く型付けされた特殊タイプ &1 をこれが使用されているコンテキストに基づいてもっていると判別されたパラメーター・マーカーがあります。 パラメータ・マーカは、代入の一部(INSERTのVALUES句またはUPDATEのSET句)であるか、CASTまたはTRY_CAST指定を使用して明示的にユーザ定義型にキャストされない限り、データ型として強く型付けされたユーザ定義型を持つことはできません。
回復手順: パラメーター・マーカーのユーザー定義特殊タイプへの明示キャスト を使用するか,あるいはユーザー定義タイプのカラムをそれぞれの対応するソース・デー タ・タイプにキャストしてください。
SQLCODE: -432
SQLSTATE: 42841
SQL0433
メッセージ・テキスト: CASTまたはXMLSERIALIZE中に重要なデータが切り捨てられました。
原因: 結果の文字または図形ストリングの長さが,その値の文字表現を保持するには十分ではありません。 こういった状況は,CAST, XMLCAST,およびXMLSERIALIZE関数の場合に起こることがあります。
回復手順: 結果のデータ・タイプを,結果を保持するために十分な長さを持つ文字または図形ストリングに変更してください。 要求をやり直してください。
SQLCODE: -433
SQLSTATE: 22001
SQL0435
メッセージ・テキスト: SQLSTATE 値 &1 が正しくありません。
原因: ハンドラーまたは条件に指定された、SIGNAL または RESIGNAL ステートメントに指定された、あるいは RAISE_ERROR 関数に指定された SQLSTATE 値 &1 は、有効でありません。 SQLSTATE値は,長さが5で,大文字のA-Zまたは数字0-9が含まれていなければなりません。 SQLSTATE値の最初の2文字を'00'にすることはできません。 RAISE_ERROR関数のSQLSTATE値は'00', '01',または'02'で開始することはできません。 示されたSQLSTATE値が'*N'の場合には,SQLSTATEでは空ストリングまたはヌル値が渡されました。
回復手順: SQLSTATEを有効なものに変更してください。 要求をやり直してください。
SQLCODE: -435
SQLSTATE: 428B3
SQL0440
メッセージ・テキスト: 指定されたパラメーターでは &2 のルーチン &1 は見つからない。
原因: 指定された名前および互換引数をもつ関数またはプロシージャーは見つ かりませんでした。 これは,許可の失敗が原因である可能性があります。
回復手順: 正しい数およびタイプのパラメーターをCALLステートメント,CREATE OR REPLACEステートメント,または関数呼び出しに指定してください。 要求をやり直してください。
SQLCODE: +440、-440
SQLSTATE: 0168L、42884
SQL0441
メッセージ・テキスト: 文節またはキーワード &1 は、指定された場所では正しくない。
原因: 次のエラーの1つが起こっています。
  • プロシージャー内のパラメーターとしてか、またはパラメーターとして、あるいは関数の RETURNS 文節内で、AS LOCATOR が指定され、そのパラメーターが BLOB、CLOB、または DBCLOB として定義されていて、長さ、CCSID 値、または FOR BIT DATA、FOR MIXED DATA、あるいは FOR SBCS DATA 文節が指定された。
  • 集約関数でない関数に ALL または DISTINCT が指定されている。
回復手順: 正しくない文節を除去してください。 要求をやり直してください。
SQLCODE: -441
SQLSTATE: 42601
SQL0442
メッセージ・テキスト: &2 のプロシージャー &1 には多すぎるパラメーターが CALL ステートメントにある。
原因: CALLステートメントに使用できるパラメーターは2000個までです。 こ のプロシージャーがREXXプロシージャーの場合には,CALLステートメントで渡す ことができるデータの最大バイト数は32766です。
回復手順: 指定したパラメーターの数を最大数の2000個まで減らしてください。 REXXプロシージャーを呼び出す場合には,パラメーター・データの合計バイト数を 32766未満に制限してください。 要求をやり直してください。
SQLCODE: -442
SQLSTATE: 54023
SQL0443
メッセージ・テキスト: トリガー・プログラムまたは外部ルーチンがエラーを検出した 。
原因: トリガー・プログラム,外部プロシージャー,または外部関数が,エラーを検出してそれをSQLに戻しました。 エラーがトリガー・プログラムで起こった場合には、トリガーはスキーマ &5 中のテーブル &4 にあります。 エラーが外部プロシージャーまたは関数で起こった場合には、外部名はスキーマ &5 中の &4 です。 関連テキストは &6 です。 エラーがトリガー・プログラムで起こった場合には,関連テキストはそのトリガー・プログラムのタイプです。 エラーが外部関数で起こった場合には,関連テキストはその外部関数から戻されたエラー・メッセージのテキストです。
回復手順: 検出されたエラーの詳細については,ジョブ・ログを参照してくださ い。 エラーを訂正して,要求を再試行してください。
SQLCODE: -443
SQLSTATE: 38501
SQL0444
メッセージ・テキスト: &5 の外部プログラム &4 が見つからない。
原因: &2 中の &1 で CALL プロシージャーまたは関数呼び出しが試みられました。 スキーマ &5 中で外部プログラムまたはサービス・プログラム &4 が見つかりませんでした。
回復手順: このプロシージャーまたは関数と関連づけられた外部プログラムまた はサービス・プログラムを見つけることができません。 DECLARE PROCEDURE, CREATE PROCEDURE, CREATE FUNCTION, ALTER PROCEDURE, またはALTER FUNCTIONステートメントに指定された名前のオブジェクトが存在することを確認してください。 名前が指定されていない場合には,指定 されたプロシージャー名または関数名と一致する名前のオブジェクトが存在していることを確認してください。 プログラム名が指定されている場合には,プログラム・オブジ ェクトが存在していなければなりません。 入り口点名が指定されている場合には,サー ビス・プログラム・オブジェクトが存在していなければなりません。 要求をやり直してください。
SQLCODE: -444
SQLSTATE: 42724
SQL0445
メッセージ・テキスト: 値が切り捨てられました。
原因: プロシージャーの呼び出し時に値が切り捨てられた場合、&2 にあるプロシージャー &1 内のパラメーター &4 の値が長すぎました。 OUT または INOUT として宣言されているパラメーター &4 にホスト変数 &8 に記憶できる最大長のストリングより長い値が入っています。 パラメーター &4 は &2 のプロシージャー &1 からホスト変数 &8 に戻されています。 パラメーターの長さは &6 で、ホスト変数の長 さは &7 です。 それ以外の場合,切り捨ては別のSQL操作で起こっています。

文字値のストリングの 長さには後書きブランクは含まれません。 バイナリー値のストリングの長さには後書き16進ゼロは含まれません。

回復手順: ホスト変数の長さを &7 から &6 に増やすか、切り捨てが予期したものであり、予期しない結果を生じないようなものにしてください。
SQLCODE: +445
SQLSTATE: 01004
SQL0446
メッセージ・テキスト: 引数 &2 の割り当て時に変換エラー。
原因: 呼び出しのために CALL ステートメントの入力引数番号 &1 を対応するパ ラメーターに割り当てようとした時に、エラー・タイプ &3 が起こりました。 エラー・タイプのリストは次の通りです。
  • 1 - オーバーフロー。
  • 2 - 浮動小数点オーバーフロー。
  • 3 - 浮動小数点アンダーフロー。
  • 4 - 浮動小数点変換エラー。
  • 5 - 正確な結果でありません。
  • 6 - 数値データが無効です。
  • 7 - 2 バイト文字セット (DBCS) データが無効です。

パラメーター名は &2 です。

回復手順: CREATE、 ALTER、または DECLARE PROCEDURE ステートメント中の パラメーター &1 の属性宣言を CALL ステートメント中の引数 &1 の属性と一致するように変更するか、有効でないデータを訂正してください。 要求をやり直してください。
SQLCODE: -446
SQLSTATE: 22003
SQL0448
メッセージ・テキスト: &2のルーチン&1のパラメーターが多すぎる。
原因: 次の限界の1つを超えました。
  • プロシージャー、スカラー関数、またはテーブル関数のパラメーターは 2000 個まで。
  • パラメーターの数と戻り値の数を合わせて8000個(テーブル関数の場合)。 実際の数は多分これより少なく,言語によって異なります。
回復手順: パラメーターまたは戻り値の数を減らしてください。 要求をやり直してください。
SQLCODE: -448
SQLSTATE: 54023
SQL0449
メッセージ・テキスト: &2 の中のルーチン &1 の外部プログラム名が正しくない。
原因: DECLARE PROCEDURE, CREATE PROCEDURE, CREATE FUNCTION, ALTER PROCEDURE, またはALTER FUNCTIONステートメントに指定されている外部プログラム名は,ルーチンまたは指定された言語の場合には無効です。
  • プロシージャーまたは関数の外部プログラム名は、「ライブラリー名/プログラム名」または「ライブラリー名/プログラム名 (入り口点名)」という形式になっていなければなりません。
  • Java プロシージャーまたは関数の外部プログラム名は、「クラス名!メソッド名」または「クラス名.メソッド名 (入り口点名)」という形式になっていなければなりません。
  • REXX プロシージャーの外部プログラム名は、「ライブラリー名/ソース・ファイル名 (メンバー名)」でなければなりません。
回復手順: 正しい形式の外部プログラム名を指定してください。 要求をやり直してください。
SQLCODE: -449
SQLSTATE: 42878
SQL0451
メッセージ・テキスト: &4 のプロシージャーまたは関数 &3 にはパラメーター &1 の属 性が正しくない。
原因: &4 のプロシージャーまたは関数 &3 に指定された言語には、パラメーター &1 のデータ・タイプ、長さ、または値が正しくありません。 パラメーター名は &2 です。 パラメーターの条件のリストは次の通りです。
  • C の場合: NUMERIC は有効なデータ・タイプでない。
  • C++の場合: NUMERIC および DECFLOAT は有効なデータ・タイプではない。
  • PL/I の場合:NUMERIC、BIGINT、DECFLOAT、GRAPHIC、VARGRAPHIC、CLOB、BLOB、DBCLOB、BOOLEAN、XMLは有効なデータ型ではありません。
  • COBOL の場合: DECIMAL または NUMERIC の精度を 18 より大きくすることはできない。 FLOAT, DECFLOAT, GRAPHIC, BIGINT, VARGRAPHIC, CLOB, BLOB, DBCLOB, BOOLEAN,およびXMLは有効なデータ・タイプではありません。
  • ILE COBOL の場合: DECIMAL または NUMERIC の精度を 18 より大きくすることはできない。 DECFLOATは無効です。
  • REXX の場合: SMALLINT、BIGINT、NUMERIC、DECFLOAT、Unicode グラフィック、CLOB、BLOB、DBCLOB、BOOLEAN、および XML は有効なデータ・タイプではありません。 精度が1 - 24の場合には,FLOATは無効です。 DECIMALの精度は63を超えることはできません。
  • ILE RPG の場合: DECFLOAT は有効なデータ・タイプでない。
  • RPG の場合: FLOAT、DECFLOAT、BIGINT、VARCHAR、VARBINARY、GRAPHIC、VARGRAPHIC、CLOB、BLOB、DBCLOB、BOOLEAN、ROWID、および XML は有効なデータ・タイプではありません。
  • CL の場合: BIGINT、NUMERIC、VARCHAR、VARBINARY、FLOAT、DECFLOAT、GRAPHIC、VARGRAPHIC、CLOB、BLOB、DBCLOB、BOOLEAN、および XML は有効なデータ・タイプではありません。 CLにGENERAL WITH NULLSを指定することはできません。
  • データ・リンクは、ルーチンが SQL プロシージャーまたは関数でない場合には、パラメーターとして有効なデータ・タイプではない。
  • AS LOCATOR を指定した LOB は、SQL プロシージャーまたは関数のパラメーターとして有効なデータ・タイプではない。
  • 外部ルーチンの XML データ・タイプの場合は、XML AS を指定する必要がある。
回復手順: DECLARE PROCEDURE, CREATE PROCEDURE, ALTER PROCEDURE, CREATE FUNCTION, またはALTER FUNCTIONステートメントのパラメーターに指定されたデータ・タイプまたは精度を訂正してください。 要求をやり直してください。
SQLCODE: -451
SQLSTATE: 42815
SQL0452
メッセージ・テキスト: ファイル参照変数が参照しているファイルにアクセスできない 。
原因: 理由コード &2 のため、ファイル参照変数 (ホスト変数 &1) が参照し ているファイルにアクセスできませんでした。 理由コードとその意味は次の通りです。
  • 1 - ファイル名またはパスの形式が正しくありません。
  • 2 - ファイル名の長さが最大許容長を超えています。
  • 3 - ファイル・オプションが正しくありません。
  • 4 - ファイルまたはディレクトリーが見つかりません。
  • 5 - NEW オプションをもつファイルに指定された名前と同じ名前をもつファイ ルがすでに存在しています。
回復手順: 次のいずれかを行ってください。理由コードが1の場合には,ファイ ル名またはパスの形式を訂正してから,要求を再試行してください。
  • 理由コードが 2 の場合には、ファイル名を訂正してから、要求をやり直してください。
  • 理由コードが 3 の場合には、ファイル・オプションを訂正してから、要求をや り直してください。
  • 理由コードが 4 の場合には、ファイル・オプションに SQL_FILE_CREATE を指定する、またはディレクトリーが存在することを確認してから、要求をやり直してください。
  • 理由コードが 5 の場合には、SQL_FILE_OVERWRITE または SQL_FILE_APPEND を 指定してから、要求をやり直してください。
SQLCODE: -452
SQLSTATE: 428A1
SQL0453
メッセージ・テキスト: &2 の関数 &1 の戻りの型は CAST TO タイプと矛盾している。
原因: &2 中の関数 &1 の RETURNS 文節に指定されたデータ・ タイプは有効でありません。 CAST TOとCAST FROMデータ・タイプが矛盾しています。
回復手順: この関数のRETURNS文節に指定されたデータ・タイプを訂正してください。 要求をやり直してください。
SQLCODE: -453
SQLSTATE: 42880
SQL0454
メッセージ・テキスト: &2 のルーチン &1 はすでに存在しています。
原因: 次のいずれかが起こっています。
  • 同じ数のパラメーターを持つプロシージャー &1 は、すでにスキーマ &2 に存在しています。 スキーマ内のプロシージャーが同じ名前および同数のパラメーターを持つことはできません。
  • 同じシグニチャーを持つ関数 &1 がすでにスキーマ &2 に存在しています。 同じスキーマ内のすべての関数は固有のシグニチャーを持っていなければなりません。 データベースは,関数の名前と引数のデータ・タイプおよび数を使用して ,関数のシグニチャーを決定します。
回復手順: ルーチン名またはパラメーターを変更するか,あるいは既存のルーチ ンを除去してください。 要求をやり直してください。
SQLCODE: -454
SQLSTATE: 42723
SQL0455
メッセージ・テキスト: 特定名のスキーマ &2 がルーチン・スキーマ &3 と同じでありません。
原因: CREATE PROCEDURE、DECLARE PROCEDURE、または CREATE FUNCTION ステートメントで指定された特定名の スキーマ &2 が、プロシージャーまたは関数 &1 のスキーマ &3 と同じではありません。
回復手順: プロシージャーまたは関数名に関する特定名に同じスキーマを指定してください。
SQLCODE: -455
SQLSTATE: 42882
SQL0456
メッセージ・テキスト: &2 の特定名 &3 はすでに存在している。
原因: 関数またはプロシージャー &1 を特定名 &3 で &2 に作成しようとしましたが、特定名 &3 はすでに そのスキーマに存在しています。 同じスキーマ内のルーチン(関数およびプロシージャー)は,すべて固有の特定名をもっていなければなりません。
回復手順: 存在していないSPECIFIC NAMEを指定するか,あるいはSPECIFIC NAMEは指定しません(固有の名前が生成されます)。 そうでない場合は,既存ルーチンを削除します。 要求をやり直してください。
SQLCODE: -456
SQLSTATE: 42710
SQL0457
メッセージ・テキスト: &2 の名前 &1 は関数には使用できない。
原因: &2 の関数 &1 はソース関数名として作成も変更もできないか、あるいは使用できません。 関数名が予約語であるか,またはスキーマがQSYS, QSYS2, SYSIBM, SYSPROC, またはQTEMPとして指定されているかのいずれかです。 QSYS, QSYS2, SYSIBM, SYSPROC,またはQTEMPで,関数は作成または変更できません。
回復手順: 関数の名前を予約されていないものに変更するか,あるいは別のスキーマを指定してください。 要求をやり直してください。
SQLCODE: -457
SQLSTATE: 42939
SQL0458
メッセージ・テキスト: 一致するシグニチャーを持つルーチン&1が&2に見つからない。
原因: ルーチン&1がスキーマ&2に指定されています。 関数の名前とパラメ ーターの個数およびデータ・タイプから関数シグニチャーが作られます。 プロシージャーの名前とパラメーターの数からプロシージャー・シグニチャーが作られます。 一致するシグニチャーを持つルーチンは見つかりませんでした。 これは,許可の失敗が原因である可能性があります。
回復手順: ルーチン名が存在し,シグニチャーがルーチン定義に一致することを確認してください。 要求をやり直してください。
SQLCODE: -458
SQLSTATE: 42883
SQL0460
メッセージ・テキスト: &2 の &1 の ALTER TABLE にデータの切り捨てが起こった可能性がある。
原因: &2 のテーブル &1 が変更されました。 列 &3 の長さが減らされて、デー タが切り捨てられた可能性があります。
回復手順: 回復処置は不要です。
SQLCODE: +460
SQLSTATE: 01593
SQL0461
メッセージ・テキスト: &1 から &2 への CAST はサポートされていません。
原因: データ型 &1 からデータ型 &2 への CAST または TRY_CAST はサポートされていません。 日付,時刻,またはタイム・スタンプから文字へのCASTの場合には,文字 の結果の長さが小さすぎます。
回復手順: 結果のデータ型または長さを、CASTまたはTRY_CAST関数でサポートされているものに変更するか、式を&2にキャストできるデータ型に変更する。 要求をやり直してください。
SQLCODE: -461
SQLSTATE: 42846
SQL0463
メッセージ・テキスト: &2 のルーチン &1 から戻された SQLSTATE &4 は正しくない。
原因: PARAMETER STYLE SQL または DB2SQL が指定されていると、SQLSTATE &4 は外部ルーチンから戻すことができません。 &2 のルーチン &1 は、呼び出された外部プロシージャーか、または呼び出された外部関数のいずれかです。 特定の名前は &3 です。 診断テキストは &5 です。
回復手順: PARAMETER STYLE SQLまたはDB2SQLの場合に有効なSQLSTATEしか戻さないように外部ルーチンを変更します。 要求をやり直してください。
SQLCODE: -463
SQLSTATE: 39001
SQL0464
メッセージ・テキスト: プロシージャー &1 は &3 個の結果セットを戻しましたが、定義済みの限界 &4 を超えています。
原因: &2 のストアード・プロシージャー &1 が正常に行われました。 しかし,ストアード・プロシージャーは,戻すことができる結果セットについて定義済みの限界を超えました。 SQL CALL ステートメントを発行した SQL プログラムに戻される結果セットは &4 個だけです。

考えられる理由は次の通りです。

  • 結果セットの数が、プロシージャーの作成時に指定された最大より大きくなっている。
  • クライアントによって設定されている DRDA 制限が原因で、ストアード・プロシージャーは &3 個の結果セットを戻せない。
回復手順: SQLステートメントは成功しています。 SQLSTATE '0100E'が戻されました。
SQLCODE: +464
SQLSTATE: 0100E
SQL0466
メッセージ・テキスト: プロシージャー &2 の &1 から使用可能な結果セットは &3 個です。
原因: &2 のプロシージャー &1 が呼び出され、1 つまたは複数の結果セットを戻しました。
回復手順: 不要です。
SQLCODE: +466
SQLSTATE: 0100C
SQL0467
メッセージ・テキスト: プロシージャー &2 の &1 のための結果セットがもう 1 つ存在しています。
原因: &2 の &1 のための結果セットがクローズされました。 ストアード・プロシージャーのための結果セットがもう1つ存在しています。 このプロシージャーのために可能な結果セットは最大 &3 個です。
回復手順: 不要です。
SQLCODE: +467
SQLSTATE: 0100D
SQL0469
メッセージ・テキスト: &2 の中のプロシージャー &1 のパラメーター &4 の IN、OUT、または INOUT が正しくない。
原因: プロシージャーの定義時にパラメーター &4 に指定された IN、INOUT、または OUT 属性が正しくありません。 パラメーター名は &5 です。 次のエラーの1つが起こりました。
  • OUT パラメーターにデフォルトを指定することはできません。
  • 属性が CALL ステートメントのパラメーターと矛盾している。 パラメーターがINOUTまたはOUTと宣言されている場合には,CALLステートメントのパラメーターをホスト変数またはグローバル変数として指定しなければなりません。
  • 属性が INOUT または OUT として指定されていて、REXX が言語として指定さ れている。 REXXを指定した場合には,属性がINでなければなりません。
回復手順: DECLARE PROCEDURE, CREATE PROCEDURE,またはALTER PROCEDUREステートメントのパラメーターの属性を変更するか,あるいはパラメーターを変更してください。 要求をやり直してください。
SQLCODE: -469
SQLSTATE: 42886
SQL0470
メッセージ・テキスト: &2 の中のプロシージャー &1 のパラメーター &4 に NULL 値を指定することはできない。
原因: プロシージャー &1 は GENERAL を指定して宣言されていたので、NULL 値はこのプロシージャーの CALL ステートメントでは使用できません。 NULLまたは UNKNOWNキーワード,負の値を含む関連標識変数を持つホスト変数,またはヌル値を持つ グローバル変数として,ヌル値が指定されています。 パラメーター番号は &4 で、パラメーター名は &5 です。
回復手順: CREATE PROCEDURE,ALTER PROCEDURE,またはDECLARE PROCEDUREステートメントで PARAMETER STYLE SQL, DB2SQL,またはGENERAL WITH NULLSを指定するか,あるいはCALLステートメントでヌル値以外の値を渡します。 要求をやり直してください。
SQLCODE: -470
SQLSTATE: 39004
SQL0473
メッセージ・テキスト: 名前 &1 はユーザー定義タイプには使用できません。
原因: ユーザー定義のタイプに指定されている名前 &1 はシステム定義済みのタイプと同じものであるか、あるいは予約済みの関数名の 1 つです。 使用できない関数名には, CAST, DATAPARTITIONNAME, DATAPARTITIONNUM, DBPARTITIONNAME, DBPARTITIONNUM, EXTRACT, NODENAME, NODENUMBER, PARTITION, POSITION, RID, RRN, STRIP, SUBSTRING, およびTRIMがあります。
回復手順: ユーザー定義タイプの名前を変更します。 要求をやり直してください。
SQLCODE: -473
SQLSTATE: 42918
SQL0475
メッセージ・テキスト: &4 の関数 &3 の RETURNS データ・タイプが正しくない。
原因: スキーマ &4 の関数 &3 の RETURNS 文節または CAST FROM 文節に指定されたデータ・タイプは、ソース関数から 戻されるデータ・タイプ、または SQL 関数本体の RETURN ステートメントに指定された値に適切ではありません。 RETURNS 文節に指定されたデータ・タイプは &1 で、ソース関数または SQL 関数から戻され るデータ・タイプは &2 です。
回復手順: 指定されたデータ・タイプを訂正するか,または別のソース関数を指 定してください。 要求をやり直してください。
SQLCODE: -475
SQLSTATE: 42866
SQL0476
メッセージ・テキスト: ルーチン &2 の &1 が固有でありません。
原因: 関数またはプロシージャー &2 の &1 がシグニチャーまたは特定の名前によらずに指定されていて、そのルーチンの複数のインスタンスが見つかりました。 あるいは,このプロシージャーが,リモート・システムへの接続時に,スキーマ名が指定されていないDESCRIBE PROCEDUREステートメントまたはASSOCIATE LOCATORステートメントで使用され,かつその名前で複数のプロシージャーが呼び出されました。
回復手順: ルーチンは,特定の名前またはシグニチャー(パラメーター・タイプ付きの関数名またはプロシージャー名)のいずれかによって要求します。 これがDESCRIBE PROCEDUREステートメントまたはASSOCIATE LOCATORステートメントに対するものである場合は,プロシージャーのスキーマ名を指定してください。 要求をやり直してください。
SQLCODE: -476
SQLSTATE: 42725
SQL0478
メッセージ・テキスト: タイプ &3 のオブジェクト &1 は除去することも変更することもできません。
原因: スキーマ &2 内の基本オブジェクト &1 は、別のオブジェクトがこれに従属しているため、除去することも変更することもできません。 &5 の従属オブジェクト &4 は、タイプ &6 のオブジェクトです。
  • 基本オブジェクト・タイプが *N の場合には、除去または変更されるオブジェクトは関数、プロシージャー、トリガー、マスク、または許可です。 その他のオブジェクトの場合には,依存関係が間接的である可能性があります。 つまり,示されたオブジェクトは,除去または変更しようとしているオブジェクトに依存する別のオブジェクトに依存しています。
  • 基本オブジェクトが関数である場合、その従属オブジェクトは、その基本オブジェクトをソースとするか、ビューまたは実体化された QUERY テーブルであるか、あるいは SQL プロシージャー、関数、グローバル変数、または関数を参照するトリガーです。
  • 基本オブジェクトがプロシージャーである場合、その従属オブジェクトは、SQL プロシージャー、関数、またはトリガー内で参照されます。
  • 基本オブジェクトがテーブルであり,さらに,基本オブジェクトがヒストリー・テーブルを持っているか,あるいは基本テーブルに従属する,トリガーまたは外部キー制約を持つ他のテーブルがある場合は,DROPステートメントのRESTRICT文節が基本テーブルの除去の妨げになっています。
  • 基本オブジェクトが *LIB で、テーブル、ビュー、関数、プロシージャー、特殊タイプ、別名、グローバル変数、またはトリガーがスキーマ内にある場合には、DROP ステートメントの RESTRICT 文節によってそのスキーマの除去が防止されます。 トリガーは,別のスキーマ内に存在しているテーブル上の1つのスキーマ内で定義できます。
  • 基本オブジェクトが *SQLUDT であり、特殊タイプに従属するテーブル、ビュー、索引、関数、プロシージャー、順序、グローバル変数、またはトリガーがある場合には、DROP ステートメントの RESTRICT 文節によってその基本オブジェクトの除去が防止されます。
  • 基本オブジェクトが*DTAARA で、順序に従属する SQL ルーチン、グローバル変数、またはトリガーがある場合には、DROP ステートメントの RESTRICT 文節によって基本順序の除去が回避されます。
  • 基本オブジェクトが *SRVPGM で、グローバル変数に従属するビュー、SQL ルーチン、グローバル変数、またはトリガーがある場合には、DROP ステートメントの RESTRICT 文節によって基本グローバル変数の除去が回避されます。
回復手順: 最初に,従属オブジェクトを除去します。 要求をやり直してください。
SQLCODE: -478
SQLSTATE: 42893
SQL0480
メッセージ・テキスト: プロシージャー &1 が前もって呼び出されていません。
原因: DESCRIBE PROCEDURE または ASSOCIATE LOCATOR ステートメントで参照されているスキーマ &2 内のプロシージャー &1 が、アプリケーション・プロセス内でまだ呼び出されていません。
回復手順: DESCRIBE PROCEDUREステートメントまたはASSOCIATE LOCATORステートメントを実行する前に,このプロシージャーを呼び出してください。
SQLCODE: -480
SQLSTATE: 51030
SQL0482
メッセージ・テキスト: プロシージャー &1 がロケーターを戻しませんでした。
原因: ASSOCIATE LOCATOR ステートメントで参照されているスキーマ &2 内のプロシージャー &1 が、この呼び出しに対して結果セット・ロケーターを戻しませんでした。 このエラーは,リモート接続時のASSOCIATE LOCATORステートメントにも起こります。その場合は,プロシージャーが呼び出されなかったか,または存在していません。
回復手順: DESCRIBE PROCEDUREステートメントを使用して,特定されたプロシージャーから結果セット・ロケーターが戻されるかどうか確認してください。
SQLCODE: +482
SQLSTATE: 02503
SQL0483
メッセージ・テキスト: &2 の関数 &1 のパラメーターがソース関数と同じでない。
原因: &2 中の関数 &1 に指定されているパラメーターの数とソース関数に指定されているパラメーターの数とが異なっています。
回復手順: 正しい数のパラメーターを関数に指定するか,あるいは別のソース関 数を指定してください。 これができない場合には,正しいソース関数が現行パスに存 在するようにしてください。 要求をやり直してください。
SQLCODE: -483
SQLSTATE: 42885
SQL0484
メッセージ・テキスト: &2 のルーチン &1 はすでに存在しています。
原因: &2 のルーチン &1 を作成しようとしましたが、&1 はすでに存在しています。 同一スキーマ内のすべての プロシージャーおよび関数には,固有の特定名が必要です。
回復手順: 存在していない特定名を指定するか,あるいは,特定名を指定しないと,固有名が生成されます。 そうでない場合は,既存ルーチンを削除します。 要求をやり直してください。
SQLCODE: -484
SQLSTATE: 42733
SQL0487
メッセージ・テキスト: SQLステートメントが使用できません。
原因: 次のエラーの1つが起こっています。
  • データ・アクセス属性として NO SQL を指定して作成したプロシージャーまたは関数が呼び出された。 NO SQLで作成されたルーチン,または後続のルーチンでは,SQLステートメントを含めることはできず,また,CONTAINS SQL DATA, READS SQL DATA,またはMODIFIES SQL DATA属性を持つルーチンを呼び出すことはできません。
  • SQL プロシージャーまたは関数の作成時には NO SQL を指定できない。
  • SQL ステートメントが含まれているトリガーが活動化されている。
  • プロシージャー、関数、またはトリガー内で、クライアント SQL 特殊レジスターを変更することはできない。
  • SQL ステートメントを含むフィールド・プロシージャーが呼び出されました。

エラーがプロシージャーまたは関数の中で起こった場合には、ルーチン名は &1 であり、特定名は &2 です。

回復手順: NO SQLとして作成されたルーチンがSQLステートメントの含まれ ていないルーチンだけを呼び出すことを確認してください。 SQLプロシージャーまた は関数にNO SQLは指定しないようにしてください。 プロシージャー,関数,またはトリガー内のクライアントSQL特殊レジスターを変更しないでください。 フィールド・プロシージャー・プログラムでSQLステートメントを使用しないようにしてください。
SQLCODE: -487
SQLSTATE: 38001
SQL0490
メッセージ・テキスト: 数値 &1 が正しくない。
原因: &1 が指定されましたが、その使用に有効な値の範囲内にありません。 有効な値の範囲は &2 から &3 まてです。
回復手順: 値を変更して要求をやり直してください。
SQLCODE: -490
SQLSTATE: 428B7
SQL0491
メッセージ・テキスト: プロシージャーまたは関数の文節が正しくない。
原因: CREATE PROCEDURE, CREATE FUNCTION, ALTER PROCEDURE,またはALTER FUNCTIONの文節が抜けているか,または使用できません。 理由コードは &1 です。 理由コードとそ の意味は次の通りです。
  • 1 -- 関数の場合、RETURNS 文節が必要。
  • 3 -- 関数の場合、パラメーター・スタイルが JAVA または GENERAL であれば、DBINFO、 FINAL CALL、および SCRATCHPAD 文節を指定することはできない。 プロシージャーの場合には,パラメーター・スタイルがSQLでない限り,DBINFOを指定することはできません。
  • 4 -- 関数の場合、GENERAL を指定できるのは、EXTERNAL NAME でサービス・プログラムが指定されている場合のみ。
  • 5 -- 関数およびプロシージャーの場合、パラメーター・スタイル JAVA または DB2GENERAL を指定できるのは LANGUAGE JAVA に対してのみ。
  • 6 -- テーブル関数がパラメーター・スタイル JAVA、GENERAL、または GENERAL WITH NULLS をもつことはできない。
  • 7 -- 関数およびプロシージャーの場合、JAVA または REXX には PROGRAM TYPE MAIN は使用できない。 PROGRAM TYPE SUBを使用できるのはサービス・プログラムに対してだけです。
  • 9 -- CARDINALITY 文節を使用できるのはテーブル関数の場合のみ。
  • 10 -- 外部関数およびプロシージャーの場合、LANGUAGE SQL は使用できず、ルーチン本体があってはならない。
  • 11 -- 外部関数およびプロシージャーの場合には、CONCURRENT ACCESS RESOLUTION を指定することはできません。
  • 12 -- ソース化された関数では、WITH RESTRICT ON DROPは指定できない。
回復手順: 抜けている文節を追加するか,または許可されない文節を除去してく ださい。 要求をやり直してください。
SQLCODE: -491
SQLSTATE: 42601
SQL0492
メッセージ・テキスト: &2 の関数 &1 のデータ・タイプはソース・タイプには正しくない。
原因: ライブラリー &2 の関数 &1 のパラメーター &3 に指定されたデータ・ タイプは、SOURCE 関数の対応するタイプには正しくありません。
回復手順: パラメーター &3 に指定されたデータ・タイプを訂正するか、または 別のソース関数を指定してください。 要求をやり直してください。
SQLCODE: -492
SQLSTATE: 42879
SQL0494
メッセージ・テキスト: ロケーターの数が結果セットの数を下回っています。
原因: スキーマ &2 のプロシージャー &1 に対する ASSOCIATE LOCATOR ステートメントで、使用可能な結果セットの数より少ない結果セット・ロケーター変数が指定されました。 &3 結果セット・ロケーター変数が用意されており、 &4 個の結果セットが使用可能です。
回復手順: 回復処置は不要です。
SQLCODE: +494
SQLSTATE: 01614
SQL0499
メッセージ・テキスト: カーソル &1 は既に結果セットに割り当てられています。
原因: ALLOCATE CURSORステートメントを使用して結果セットにカーソルを割り当てようとしました。次のいずれかが当てはまります。
  • ALLOCATE CURSOR ステートメントで指定された結果セット・ロケーターは既にカーソル &2 に割り当てられています。
  • ALLOCATE CURSOR ステートメントで指定されたカーソル &1 は既に結果セットに割り当てられています。
回復手順: 結果セットごとにALLOCATE CURSORを1つだけにしてください。
SQLCODE: -499
SQLSTATE: 24516
SQL0501
メッセージ・テキスト: カーソル &1 がオープンされていない。
原因: カーソル &1 が FETCH または CLOSE ステートメントに指定されていま すが、このカーソルはオープンされていません。 カーソル &1 の状態は次の 1 つです。
  • カーソル &1 は、いままでオープンされたことがない。
  • カーソル &1 は、別のプログラムまたはこのプログラムの別の呼び出しでオープン され、プログラムは CLOSQLCSR(*ENDPGM) で作成された。
  • カーソル &1 は、このモジュールの別のモジュール、または別の呼び出しでオープ ンされ、モジュールは CLOSQLCSR(*ENDMOD) で作成された。
  • カーソル &1 は、このプログラムの別の呼び出しでオープンされ、SQL ステー トメントを実行したプログラムは終了し、プログラムは CLOSQLCSR(*ENDSQL) で作成された。
  • カーソル &1 はこのモジュールの別のモジュールでオープンされ、活動化グル ープは呼び出し間で終了した。 そのモジュールはCLOSQLCSR(*ENDACTGRP)で作成さ れた。
  • カーソルは CLOSE、COMMIT、または ROLLBACK ステートメントによってクローズされた。
  • カーソル &1 は現行トランザクションと異なるトランザクションのもとでオープンされた。
回復手順: 次のいずれかを実行して,プリコンパイルを再試行してください。
  • カーソルを FETCH または CLOSE ステートメントで使用する前に、同じプログ ラム、またはモジュールの呼び出しでカーソル &1 がオープンされたかどうかを確かめる。
  • アプリケーション・プログラムのプリコンパイル時に、CLOSQLCSR(*ENDSQL)、CLOSQLCSR(*ENDJOB)、または CLOSQLCSR(*ENDACTGRP) を指定する。
  • カーソルが COMMIT または ROLLBACK によってクローズされた場合には、オープン・カーソル、準備済みステートメント、およびテーブルのロックを保存するために、COMMIT または ROLLBACK ステートメントに HOLD を指定する。
SQLCODE: -501
SQLSTATE: 24501
SQL0502
メッセージ・テキスト: カーソル &1 は既にオープンされているか割り振られています。
原因: OPENステートメントまたはALLOCATE CURSORステートメントに指定されたカーソルは,既にこのプログラム呼び出しに備えてオープンされているか,または割り振られています。
回復手順: カーソル &1 をクローズしてから OPEN ステートメントまたは ALLOCATE CURSOR ステートメントをやり直すか 、あるいはカーソルの名前を変更してからプログラムのプリコンパイルをやり 直してください。
SQLCODE: -502
SQLSTATE: 24502
SQL0503
メッセージ・テキスト: 欄 &3 を更新することができない。
原因: UPDATE ステートメントが &2 のテーブルまたはビュー &1 の列 &3 を更新しようとしました。 関連したDECLARE CURSORステートメントのFOR UPDATE OF文 節に指定されていなかったために,カラムを更新することができません。
回復手順: 関連した DECLARE CURSOR ステートメントの FOR UPDATE OF 文節に、列 &3 を追加してください。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -503
SQLSTATE: 42912
SQL0504
メッセージ・テキスト: カーソル &1 が宣言されていない。
原因: カーソル &1 は参照される前にプログラムで宣言されていません。 カーソルは他のステートメントで参照される前に,宣言しなければなりません。 プログラム内のカーソルのどれか にWITH RETURNまたはWITHOUT RETURNが宣言されていると,SET RESULT SETSステートメントで使用されるすべての カーソルにWITH RETURNが宣言されていなければなりません。
回復手順: アプリケーション・プログラムが完了し,カーソルの宣言につづりのエラーがないことを確認してください。 カーソルの宣言が,他のステートメントで参照される前にアプリケーション・プログラムで行われていることを確認してください。 カーソルの どれかにWITH RETURNまたはWITHOUT RETURNが宣言されている場合には,SET RESULT SETS ステートメントで 使用されるすべてのカーソルにWITH RETURNが宣言されていることを確認します。 プログラムのプリコンパイルを再試行してください。
SQLCODE: -504
SQLSTATE: 34000
SQL0507
メッセージ・テキスト: カーソル &1 がオープンされていない。
原因: カーソル &1 が UPDATE または DELETE ステートメントに指定されてい ますが、このカーソルはオープンされていません。 カーソル &1 の状態は次の 1 つです。
  • カーソル &1 は、いままでオープンされたことがない。
  • カーソル &1 は、別のプログラムまたはこのプログラムの別の呼び出しでオープン され、プログラムは CLOSQLCSR(*ENDPGM) で作成された。
  • カーソル &1 は、このモジュールの別のモジュール、または別の呼び出しでオープ ンされ、モジュールは CLOSQLCSR(*ENDMOD) で作成された。
  • カーソル &1 は、このプログラムの別の呼び出しでオープンされ、SQL ステー トメントを実行したプログラムは終了し、プログラムは CLOSQLCSR(*ENDSQL) で作成された。
  • カーソル &1 は、このモジュールの別のモジュールでオープンされ、活動化グループは呼び出し間で終了した。 そのプログラムはCLOSQLCSR(*ENDACTGRP)で作成され た。
  • カーソルは CLOSE、COMMIT、または ROLLBACK ステートメントによってクローズされた。
回復手順: 次のいずれかを実行して,プリコンパイルを再試行してください。
  • カーソルを UPDATE または DELETE ステートメントで使用する前に、同じプロ グラム、またはモジュールの呼び出しでカーソル &1 がオープンされたかどうかを確かめる。
  • アプリケーション・プログラムのプリコンパイル時に、CLOSQLCSR(*ENDSQL)、CLOSQLCSR(*ENDJOB)、または CLOSQLCSR(*ENDACTGRP) を指定する。
  • カーソルが COMMIT または ROLLBACK によってクローズされた場合には、オープン・カーソル、準備済みステートメント、およびテーブルのロックを保存するために、COMMIT または ROLLBACK ステートメントに HOLD を指定する。
SQLCODE: -507
SQLSTATE: 24501
SQL0508
メッセージ・テキスト: カーソル &1 はロックされた行に位置づけられていない。
原因: WHERE CURRENT OF &1 のある UPDATE または DELETE ステートメントが試 みられましたが、カーソルが行に位置づけられていないか、あるいは行に位置づけら れましたが、COMMIT HOLD または ROLLBACK HOLD ステートメントが行のロックを解 放したために行がロックされていません。 カーソルを行に位置づけて行をロックする ためには,FETCHステートメントを出さなければなりません。
回復手順: FETCHステートメントを出して,要求を再試行してください。
SQLCODE: -508
SQLSTATE: 24504
SQL0509
メッセージ・テキスト: &3 のテーブル &2 がカーソル &1 のテーブルと同じでない。
原因: WHERE CURRENT OF &1 のある UPDATE または DELETE ステートメントが &3 のテーブル &2 を指定しましたが、カーソル &1 は別のテーブルを参照しています。 UPDATE または DELETE ステートメントに指定されたテーブルとカーソル &1 によっ て参照されるテーブルは、同じでなければなりません。
回復手順: 指定されたテーブル名をカーソル &1 で指定されたテーブルと一致す るように変更してから、プログラムのプリコンパイルをやり直してください。
SQLCODE: -509
SQLSTATE: 42827
SQL0510
メッセージ・テキスト: テーブルまたはビュー &2 のカーソル &1 は読み取り専用です。
原因: WHERE CURRENT OF文節のあるUPDATEまたはDELETEステートメントが 指定されましたが,カーソルは読み取り専用です。 カーソル &1 が読み取り専用であるか、あるいはスキーマ &3 のビューまたは論理ファイル &2 が読み取り専用です。

次の条件の 1 つまたは複数が該当する場合には、ビューまたは論理ファイルが読み取り専用です。

ビューに,DISTINCTキーワード,GROUP BY文節,HAVING文節,集約関数,FOR SYSTEM_TIME文節,あるいは最外部の副選択内のUNION, EXCEPT,またはINTERSECTが入っている。

-- ビューまたは論理ファイルに結合が含まれている。

-- ビューに最外部の副選択のテーブルと同じテーブルを参照する SUBQUERY が含まれている。

-- ビューのすべての列が式、スカラー関数、または定数である。

-- 論理ファイルのすべての列が入力専用である。

次の条件の 1 つまたは複数が該当する場合には、カーソルは読み取り専用です。

-- DECLARE CURSOR ステートメントが ORDER BY 文節を指定しているが、FOR UPDATE OF 文節を指定していない。

-- DECLARE CURSOR ステートメントが FOR READ ONLY 文節を指定している。

-- DECLARE CURSOR ステートメントが、DYNAMIC を指定しないで SCROLL キーワードを指定している。

-- カーソルが選択リストの読み取り専用ビューまたは論理ファイルを参照している。

-- DECLARE CURSOR ステートメントに指定された全選択に、ビューを読み取り専用にするような上記の制約事項のどれかが含まれている。

-- 2 番目の INSTEAD OF トリガーが従属ビューでの更新または削除に必要である。

-- DECLARE CURSOR ステートメントがデータ変更テーブル参照付きの SELECT を指定している。

回復手順: 次のいずれかを実行して,プログラムのプリコンパイルを再試行してください。

-- DECLARE CURSOR ステートメントが ORDER BY 文節を指定しているが、FOR UPDATE OF 文節を指定していない場合には、FOR UPDATE OF 文節を追加してください。

-- DECLARE CURSOR ステートメントが FOR READ ONLY 文節を指定している場合には、FOR READ ONLY 文節を除去してください。

-- DECLARE CURSOR ステートメントが SCROLL キーワードを指定している場合には、DYNAMIC SCROLL を指定してください。

-- 参照されるビューまたは論理ファイルが読み取り専用の場合には、UPDATE または DELETE ステートメントを除去してください。

-- DECLARE CURSOR ステートメントにカーソルを読み取り専用にする条件が入っている場合には、UPDATE または DELETE ステートメントを除去してください。

SQLCODE: -510
SQLSTATE: 42828
SQL0511
メッセージ・テキスト: FOR UPDATE文節が正しくない。
原因: 結果のテーブルが読み取り専用であるために、カーソル &1 で FOR UPDATE 文節を使用することができません。 結果のテーブルは次の場合には読み取り専用です。
  • 選択ステートメントで、DISTINCT キーワード、集約関数、GROUP BY 文節、または HAVING 文節、あるいは UNION、EXCEPT、または INTERSECT 演算子が使われている場合。
  • 選択ステートメントに VALUES 文節が入っている。
  • FROM 文節が複数のテーブル、複数のビュー 、または読み取り専用ビューを認識している場合。
  • FROM 文節に、データ変更テーブル参照が入っている。
  • FROM 文節に、FOR SYSTEM_TIME 文節が入っている。
回復手順: カーソル &1 を更新することはできません。 FOR UPDATE文節を除去 してください。
SQLCODE: -511
SQLSTATE: 42829
SQL0512
メッセージ・テキスト: ステートメントが複数のデータベースに存在するオブジェクトを参照しています。
原因: ステートメントが複数のデータベースに存在するオブジェクトを参照しています。 これらのオブジェクトは,明示的に修飾されたオブジェクト名であるか,または別のデータベースを参照するように定義されている別名である可能性があります。 このSQLステートメントは1つのデータベースのみを参照できます。

リモート・データベースから選択する CREATE TABLE AS は、FIELDPROC が定義されているテーブルを参照できません。 それは実体化QUERYテーブルを定義できません。 そのリモート・データベースがIBM Iサーバー上にない場合,INCLUDING文節は使用できません。

回復手順: このステートメントで使用されているすべてのオブジェクトが同じデータベースに存在するようにしてください。 要求をやり直してください。
SQLCODE: -512
SQLSTATE: 56023
SQL0513
メッセージ・テキスト: &2 の別名 &1 が別の別名を参照することはできません。
原因: &2 の別名 &1 で参照することができるのは、テーブルまたはビューだけ です。 別の別名を参照することはできません。
回復手順: 参照された名前を変更して,要求を再試行してください。
SQLCODE: -513
SQLSTATE: 42924
SQL0514
メッセージ・テキスト: 準備済みステートメント &2 が見つからない。
原因: 準備済みステートメント &2 を参照しているカーソル &1 をオープンしようとしました。 ステートメント &2 の状態は次の 1 つです。
  • ステートメントはまだ準備されていない。
  • ステートメントは別のプログラムまたはこのプログラムの別の呼び出しで準備 され、プログラムは CLOSQLCSR(*ENDPGM) で作成された。
  • ステートメントはこのモジュールの別のモジュール、または別の呼び出しで準備 され、モジュールは CLOSQLCSR(*ENDMOD) で作成された。
  • このステートメントはこのプログラムの別の呼び出しで準備され、SQL ステートメントを実行したプログラムは終了し、プログラムは CLOSQLCSR(*ENDSQL) で 作成された。
  • このステートメントはこのモジュールの別のモジュールで準備され、活動化グループは呼び出し間で終了した。 そのモジュールはCLOSQLCSR(*ENDACTGRP)で作成さ れた。
  • COMMIT または ROLLBACK ステートメントがすべての準備済みステートメントを壊した。
回復手順: 次のいずれかを実行して,プリコンパイルを再試行してください。
  • カーソル &1 をオープンする前に、ステートメント &2 を準備する (PREPARE ステートメント)。
  • カーソル &1 をオープンする前に同じプログラム、またはモジュールの呼び出し で &2 が準備されたかどうかを確かめるか、あるいはアプリケーション・プログラムのプリコンパイル時に CLOSQLCSR(*ENDSQL)、 CLOSQLCSR(*ENDJOB) または CLOSQLCSR(*ENDACTGRP) を指定する。
  • ステートメントが COMMIT または ROLLBACK によって削除された場合には、オープン・カーソル、準備済みステートメント、およびテーブルのロックを保存するために、COMMIT または ROLLBACK ステートメントに HOLD を指定する。
SQLCODE: -514
SQLSTATE: 26501
SQL0516
メッセージ・テキスト: 準備済みステートメント &2 が見つからない。
原因: &2 は有効な準備済みステートメントではありません。 このステートメントの状態は次の1つです。
  • ステートメントはまだ準備されていない。
  • ステートメントは別のプログラムまたはこのプログラムの別の呼び出しで準備 され、プログラムは CLOSQLCSR(*ENDPGM) で作成された。
  • ステートメントはこのモジュールの別のモジュール、または別の呼び出しで準備 され、モジュールは CLOSQLCSR(*ENDMOD) で作成された。
  • このステートメントはこのプログラムの別の呼び出しで準備され、SQL ステートメントを実行したプログラムは終了し、プログラムは CLOSQLCSR(*ENDSQL) で 作成された。
  • このステートメントはこのモジュールの別のモジュールで準備され、活動化グループは呼び出し間で終了した。 そのモジュールはCLOSQLCSR(*ENDACTGRP)で作成さ れた。
  • COMMIT または ROLLBACK ステートメントがすべての準備済みステートメントを壊した。
回復手順: 次のいずれかを実行して,プリコンパイルを再試行してください。
  • DESCRIBE ステートメントを使用する前に同じプログラムまたはモジュール呼び出しで &1 が準備されたかどうかを確かめるか、あるいはアプリケーション・プログラムのプリコンパイル時に CLOSQLCSR(*ENDSQL)、 CLOSQLCSR(*ENDJOB) または CLOSQLCSR(*ENDACTGRP) を指定する。
  • ステートメントが COMMIT または ROLLBACK によって削除された場合には、オープン・カーソル、準備済みステートメント、およびテーブルのロックを保存するために、COMMIT または ROLLBACK ステートメントに HOLD を指定する。
SQLCODE: -516
SQLSTATE: 26501
SQL0517
メッセージ・テキスト: 準備済みステートメント &2 は、選択ステートメントではありません。
原因: ステートメント &2 を参照しているカーソル &1 をオープンしようとし ました。 ステートメント &2 は有効な準備済みステートメントですが、SELECT ステートメントではありません。 OPENは準備済みの選択ステートメントしか参照することができません。
回復手順: 準備済みの SELECT ステートメントを参照するように OPEN ステートメントを変更するか、あるいは有効な SELECT ステートメントを使用してステートメント &2 を準備し、オープンをやり直してください。
SQLCODE: -517
SQLSTATE: 07005
SQL0518
メッセージ・テキスト: 準備済みステートメント &1 が見つからない。
原因: ステートメント &1を参照する EXECUTE ステートメント。&1 は有効な準備済みステートメントではありません。 このステートメントの状態は次の1つです。
  • ステートメントはまだ準備されていない。
  • このステートメントは準備済み SELECT または DECLARE PROCEDURE ステート メントを識別する。
  • 準備時またはバインド時にステートメントにエラーがあった。
  • ステートメントは別のプログラムまたはこのプログラムの別の呼び出しで準備 され、プログラムは CLOSQLCSR(*ENDPGM) で作成された。
  • ステートメントはこのモジュールの別のモジュール、または別の呼び出しで準備 され、モジュールは CLOSQLCSR(*ENDMOD) で作成された。
  • このステートメントはこのプログラムの別の呼び出しで準備され、SQL ステートメントを実行したプログラムは終了し、プログラムは CLOSQLCSR(*ENDSQL) で 作成された。
  • このステートメントはこのモジュールの別のモジュールで準備され、活動化グループは呼び出し間で終了した。 そのモジュールはCLOSQLCSR(*ENDACTGRP)で作成さ れた。
  • 準備済みステートメントが COMMIT または ROLLBACK ステートメントで破壊された。 これが起こるのは,DB2 FOR IBM I以外のデータベースに接続された時だけです。
回復手順: 次の1つを実行してください。
  • &1 が準備済み SELECT または DECLARE PROCEDURE ステートメントを識別している場合には、別の準備済みステートメントの名前が EXECUTE ステートメント中で指定されていなければなりません。
  • ステートメントにエラーがあった場合には、エラーを訂正し、ステートメントをもう一度準備するか、プログラムをもう一度プリコンパイルしてください。
  • EXECUTE ステートメントを使用する前に同じプログラムまたはモジュール呼び出しで &1 が準備 されたかどうかを確かめるか、あるいはアプリケーション・プログラムのプリコンパイル時に CLOSQLCSR(*ENDSQL)、 CLOSQLCSR(*ENDJOB) または CLOSQLCSR(*ENDACTGRP) を指定する。
  • ステートメントが COMMIT または ROLLBACK によって削除された場合には、PREPARE WITH HOLD を指定するか、準備済みステートメントを保存するための正しいオプションでプログラムをバインドする。
SQLCODE: -518
SQLSTATE: 07003
SQL0519
メッセージ・テキスト: 準備するステートメント &2 は使用中である。
原因: アプリケーション・プログラムがステートメント &2 を準備しようとしました。 こ のステートメントは現在オープンされているカーソル &1 の SELECT ステートメントです。
回復手順: PREPARE ステートメントのステートメント名を変更するか、あるい は PREPARE ステートメントをやり直す前にカーソル &1 をクローズするように、アプリケーション・プログラムの論理を訂正してください。
SQLCODE: -519
SQLSTATE: 24506
SQL0520
メッセージ・テキスト: カーソル &1 で UPDATE または DELETE することはできない。
原因: カーソル &1 はレコードのブロック化を行っています。 カーソル &1 の UPDATE または DELETE WHERE CURRENT OF が試みられましたが、このカーソルに対し てブロック化が使用中であったので、これを実行することはできません。
回復手順: UPDATE または DELETE ステートメントを使用する場合には、カーソル &1 に対してレコードのブロック化を行わないようにしてください。
SQLCODE: -520
SQLSTATE: 42828
SQL0525
メッセージ・テキスト: ステートメントがアプリケーション・サーバーに対して正しく ない。
原因: スキーマ &3 のパッケージ &2 のステートメント番号 &4 を実行しようとしました。 このステートメントにエラーがあるか,あるいはステートメント がアプリケーション・サーバーによってサポートされていません。 このステー トメントと対応するセクション番号は &1 です。
回復手順: エラーのあるステートメントを訂正して,そのステートメントがアプ リケーション・サーバーに有効なSQL/400ステートメントであることを確認してくだ さい。 ステートメントが複数行FETCHである場合には,単一行FETCHを指定してく ださい。 ステートメントが複数行INSERTである場合には,挿入する1行以上を指定したVALUES文節を指定するか,あるいは 副選択を指定してください。 ステートメントがSET TRANSACTIONの場合には,アプリケーションからこれを除去するか, 分散リレーショナル・データベース体系(DRDA)接続が使用されている場合はこれを出さないようにしてください。 要求をやり直してください。
SQLCODE: -525
SQLSTATE: 51015
SQL0526
メッセージ・テキスト: ステートメントは &3 の &1 の TEMPORARY TABLE &2 には無効です。
原因: &3の一時テーブル&2は,CREATE TRIGGER, CREATE MASK, CREATE PERMISSION, LOCK TABLE,またはRENAMEステートメントには指定できません。 このテーブルは,制約を持つことができず,区分化できません。 さらに,以下も適用されます。

DECLARED TEMPORARY TABLEに以下は許可されません。

  • ALTER TABLE, COMMENT, LABEL, GRANT, REVOKEステートメント。

CREATED TEMPORARY TABLEに以下は許可されません。

  • WITH CHECK OPTIONを使用するビュー。
回復手順: このステートメントで有効なテーブルを指定してください。 要求をやり直してください。
SQLCODE: -526
SQLSTATE: 42995
SQL0527
メッセージ・テキスト: ALWCPYDTA(*NO) が指定されたが、&1 の場合には一時的な結果が必要である。
原因: データのコピー可能(ALWCPYDTA)パラメーターが*NOの値と一緒 にプリコンパイラー・コマンドまたはSTRSQLコマンドに指定されています。 この値 は,データが常に現行の値を反映しているように,データベースから直接検索される データをQUERYで常に使用する必要があることを示します。 特定のタイプのSQLの 照会では,データのコピーを作成しないで分析解決することはできません。 キーワー ドDISTINCTまたはUNIONを使用していくつかの例が照会されます。 実行しているQUERY は,データのコピーが必要な照会です。
回復手順: ALWCPYDTAパラメーターに別の値を指定するか,SQLステートメン トを一時的な結果を使用しないで評価されるように,SQLステートメントを変更して ください。
SQLCODE: -527
SQLSTATE: 42874
SQL0530
メッセージ・テキスト: 操作は &2 の参照制約 &1 では使用できない。
原因: これがINSERT, UPDATE,またはMERGEステートメントの場合には,親キー内に一致する値がないため,値は外部キーには無効です。 これがSET DEFAULT削除規則の影響を受けるDELETEまたはMERGEステートメントの場合には,同じ理由から省略時の値は無効です。 これが ALTER TABLE ステートメントの場合には、操作の結果が制約 &1 に 違反することになります。 &4 のテーブル &3 に対する &2 の制約 &1 では、外部キ ーの非 NULL 値は一致する値が親キーになければなりません。
回復手順: 制約規則に従うためには,次のいずれかを実行しなければなりません。
  • 親キーの値と一致するように INSERT、UPDATE、または MERGE 値を変更する
  • 挿入または更新する外部キー値と一致する行を親ファイルに挿入する
  • 従属行の外部キーの省略時の値と一致する行を親ファイルに挿入する そうで ない場合には,参照制約を消去しなければなりません。
SQLCODE: -530
SQLSTATE: 23503
SQL0531
メッセージ・テキスト: &2 の参照制約 &1 によって更新が妨げられた。
原因: &2 の制約 &1 は、更新規則 RESTRICT または NO ACTION によって &4 の従属テーブル &3 と関連する親テーブルとして更新するテーブルを識別しています。 一致する値をもつ行が従属テーブルにある時には,親キーの更新は妨げられます。
回復手順: この更新を実行するためには,この制約を消去するか,あるいはこの 行に従属する行を従属テーブルから削除しなければなりません。
SQLCODE: -531
SQLSTATE: 23001、23504
SQL0532
メッセージ・テキスト: &2 の参照制約 &1 によって削除が妨げられた。
原因: &2 の制約 &1 は、削除規則 RESTRICT または NO ACTION によって &4 の 従属テーブル &3 と関連する親テーブルとして変更するテーブルを識別しています。 一致する値をもつ行が従属テーブルにある時には,親キーの削除は妨げられます。
回復手順: この行を削除するためには,この制約を消去するか,あるいはこの行 に従属する行を従属テーブルから削除しなければなりません。
SQLCODE: -532
SQLSTATE: 23001、23504
SQL0536
メッセージ・テキスト: SUBQUERY の &2 のテーブル &1 が影響を受ける可能性があるので、削除を行うことはできない。
原因: サブクエリーで参照されている &2内の表 &1 が操作の影響を受ける可能性があるため、削除操作を実行できません。&2 の &1 は、 CASCADE、SET NULL、または SET DEFAULT の削除規則を持つ参照制約内の従属表です。
回復手順: SUBQUERYが従属テーブルを参照しないようにステートメントを変更 するか,あるいは2つのテーブル間の関係を定義している制約を消去してください。
SQLCODE: -536
SQLSTATE: 42914
SQL0537
メッセージ・テキスト: キーの定義に重複した欄名 &1 がある。
原因: 主キー、固有キー、外部キー、またはパーティション・キーの列のリスト内でか、または CREATE INDEX ステートメントのキー式の列のリスト内で、列 &1 が複数回指定されました。 カラムはキーの定義に1回しか指定することができません。 AS文節を使用して名前を付けられた索引カラムには, テーブルのカラムとは異なる名前が必要です。
回復手順: キーのカラムのリストから重複カラムを除去するか,カラムの名前を変更してください。 要求をやり直してください。
SQLCODE: -537
SQLSTATE: 42709
SQL0538
メッセージ・テキスト: &2 の制約 &1 にある FOREIGN キーが親キーと同じでない。
原因: &2 の制約 &1 にある FOREIGN キーが &4 のテーブル &3 の親キーと同じでありません。 FOREIGNキーは親キーと同じ数のカラムを持つ必要があります。また,FOREIGNキーのデータ・タイプ,属性,およびフィールド・プロシージャーは,親キーの対応するカラムのデータ・タイプ,属性,およびフィールド・プロシージャーと同一でなければなりません。
回復手順: FOREIGNキーの記述が指定されたテーブルの親キーの記述と適合す るように,当該ステートメントを訂正してください。
SQLCODE: -538
SQLSTATE: 42830
SQL0539
メッセージ・テキスト: &2 のテーブル &1 に基本キーまたは固有キーがない。
原因: &2 のテーブル &1 は、参照制約の親テーブルとして、または ALTER TABLE ステートメントの主キーまたは固有キーを消去するテーブルとして指定されていま す。 参照制約に参照カラム・リストが指定されていない時には,親テーブルの基本キーを使 用することが試みられます。 テーブル &1 には主キーが定義されていません。
回復手順: FOREIGN KEYカラム・リストと一致する参照カラム・リストがFOREIGN KEY文節 に指定されるように当該ステートメントを訂正するか,あるいは親テーブルとして使 用するテーブルに基本キーを定義してください。 これが基本キーまたは固有キーを消 去しようとするものである場合には,回復処置は不要です。
SQLCODE: -539
SQLSTATE: 42888
SQL0541
メッセージ・テキスト: &2 のテーブル &1 に重複 UNIQUE 制約が存在している。
原因: &4 の UNIQUE 制約 &3 を追加しようとしました。 &2 のテーブル &1 に は、追加しようとした制約とまったく同じものである UNIQUE 制約がすでに存在しています。 一方のUNIQUE制約のカラムが他方のUNIQUE制約のカラムと同じである場合には, カラムの順序が同じでなくても,UNIQUE制約は重複となります。 制約 &1 を追加するこ とはできません。
回復手順: この制約は既に有効となっています。 UNIQUE制約の名前を変更す るためには,重複制約を消去して要求を再試行してください。
SQLCODE: -541
SQLSTATE: 42891
SQL0542
メッセージ・テキスト: PRIMARY キーの列 &1 に NULL 値は使用できません。
原因: 列 &1 は、PRIMARY KEY の列であると定義されています。 PRIMARY KEYの カラムにヌル値を指定することはできません。
回復手順: ヌル値を指定できないようにこのカラムを作成してください。
SQLCODE: -542
SQLSTATE: 42831
SQL0543
メッセージ・テキスト: 制約 &1 が SET NULL または SET DEFAULT の規則と矛盾している。
原因: 制約 &1 が CHECK 制約であり、これは、SET NULL または SET DEFAULT のいずれかの規則をもつ既存の参照制約と矛盾しています。
回復手順: CHECK制約が参照制約の規則と矛盾しないようにそれを変更するか ,あるいは参照制約を除去してください。
SQLCODE: -543
SQLSTATE: 23511
SQL0544
メッセージ・テキスト: CHECK 制約 &1 は追加できない。
原因: テーブルの既存のデータが制約 &1 の CHECK 制約規則に違反しています 。 この制約を追加することはできません。
回復手順: テーブルのデータが &1 に指定された制約に従っているように、それを変更してください。 要求をやり直してください。
SQLCODE: -544
SQLSTATE: 23512
SQL0545
メッセージ・テキスト: INSERT, UPDATE,またはMERGEがCHECK制約によって許可されていません。
原因: 挿入または更新している値が CHECK 制約 &1 の基準と一致していません 。 この操作を使用することはできません。
回復手順: CHECK制約が一致するように,挿入または更新している値を変更し てください。 そうでない場合には、CHECK 制約 &1 を除去してください。
SQLCODE: -545
SQLSTATE: 23513
SQL0546
メッセージ・テキスト: 制約 &1 の CHECK 条件が正しくありません。
原因: 次の理由のいずれかのために、制約 &1 の CHECK 条件が正しくありません。
  • 列レベルの CHECK 条件がテーブル中の他の列を参照している
  • CHECK 条件がこのテーブル中にない列を参照している
  • CHECK 条件が特殊レジスターを参照している
  • CHECK 条件に集約関数 (AVG や COUNT など)、ユーザー定義関数、または OLAP 仕様が使用されている。
  • CHECK 条件に副選択が含まれている
  • CHECK 条件に許可されていない組み込みスカラー関数が使用されている。
  • CHECK 条件で、ブール、IS JSON、JSON_EXISTS、または REGEXP_LIKE 述部が使用されました。
  • CHECK 条件に LOB を含む式が使用されている
  • CHECK 条件で、非互換のデータ・タイプが使用されている
  • CHECK 条件に、ROW CHANGE TIMESTAMP または ROW CHANGE TOKEN が入っている。
  • CHECK 条件に順序参照が含まれている。
  • CHECK 条件がグローバル変数を参照している。
  • CHECK 条件が XML 列を参照している。
  • ON INSERT VIOLATION および ON UPDATE VIOLATION 文節に指定する列は、CHECK 条件に指定する必要がある。
  • 同じ列名を ON INSERT VIOLATION および ON UPDATE VIOLATION 文節に指定する必要がある。
回復手順: エラーを訂正してください。 要求をやり直してください。
SQLCODE: -546
SQLSTATE: 42621
SQL0551
メッセージ・テキスト: &2 のオブジェクト &1 タイプ *&3 が認可されていない。
原因: &2 のタイプ *&3 のオブジェクト &1 に操作が試みられました。 この操作は必要な権限な しに実行することはできません。

オブジェクトに権限を付与するには、付与しようとしているすべての権限に加えて、*OBJMGT権限を持っていなければならない。

回復手順: 機密保護担当者,オブジェクト所有者,またはQIBM_DB_SECADM関数の使用を認可されたユーザーから必要な権限をもらってください。 論理ファイルに対して認可されていない場合には,論理ファイ ルの基礎になっているファイルに対する認可を受けてください。 操作を再試行してください。
SQLCODE: +551、-551
SQLSTATE: 01548、42501
SQL0552
メッセージ・テキスト: &1 には認可されていない。
原因: 必要な権限がなければ,この操作を実行することはできません。
  • CREATE TABLE の場合、CRTPF コマンドの *USE 権限が必要です。
  • CREATE VIEW または CREATE INDEX の場合、CRTLF コマンドの *USE 権限が必要です。
  • CREATE ALIASには、CRTDDMFコマンドの*USE権限と、ローカルでないリレーショナル・データベース名を指定する場合の*IOSYSCFG特別権限が必要です。
  • CREATE SCHEMA の場合、CRTLIB コマンドの *USE 権限が必要です。
  • ALTER TABLE の場合、制約を追加するためには ADDPFCST コマンドの *USE 権限が必要で、制約を除去するためには RMVPFCST コマンドの *USE 権限が必要です。
  • ALTER TRIGGER の場合、CHGPFTRG コマンドの *USE 権限が必要です。
  • CREATE PROCEDURE または CREATE FUNCTION の場合、QSYS2 内のカタログ・テーブル SYSROUTINES の *OBJOPR 権限と *ADD 権限が必要です。
  • DROP PROCEDURE または DROP FUNCTION の場合、QSYS2 内のカタログ・テーブル SYSPARMS の *OBJOPR 権限と *DLT 権限が必要です。
  • CREATE TYPE の場合、QSYS2 内のカタログ・テーブル SYSTYPES の *OBJOPR 権限と *ADD 権限が必要です。
  • DROP TYPE の場合、QSYS2 内のカタログ・テーブル SYSTYPES の *OBJOPR 権限と *DLT 権限が必要です。
  • CREATE TRIGGER の場合、ADDPFTRG コマンドの *USE 権限が必要です。
  • DROP TRIGGER の場合、RMVPFTRG コマンドの *USE 権限が必要です。
  • CREATE SEQUENCE の場合、CRTDTAARA コマンドの *USE 権限が必要です。
  • DROP SEQUENCE の場合、DLTDTAARA コマンドの *USE 権限が必要です。
  • ALTER SEQUENCE の場合、RTVDTAARA および CRTDTAARA コマンドの *USE 権限が必要です。
  • プロシージャー、関数、タイプ、トリガー、および順序の COMMENT ON ステートメントの場合、オブジェクトに関連したカタログ・テーブルの *OBJOPR、*READ、および *UPD 権限が必要です。
  • SET SESSION AUTHORIZATIONには*ALLOBJ特別権限が必要です。
  • SET CURRENT DEGREEと QSYS2/RESET_ENVIRONMENTAL_LIMITS プロシージャには、*JOBCTL特別権限またはQIBM_DB_SQLADM関数への権限が必要です。
  • REPLICATION_OVERRIDEを変更するには、QIBM_DB_GENCOL_OVERRIDE関数への認証が必要です。
  • MASKまたはPERMISSIONのCREATE、ALTER、DROP、LABEL ON、COMMENT ONにはQIBM_DB_SECADM関数への権限が必要です。 マスクまたは許可によって参照されるオブジェクトを名前変更,除去,または削除する場合と, 保護トリガーまたは関数を作成,除去,または変更する場合に同じ権限が必要です。
回復手順: 機密保護担当者から許可をもらって,操作を再試行してください。

QIBM_DB_SQLADM、QIBM_DB_SECADM、および QIBM_DB_GENCOL_OVERRIDE 関数への権限は、Change Function Usage (CHGFCNUSG) コマンドを使用して割り当てることができます。 例: CHGFCNUSG FCNID(QIBM_DB_SQLADM) USER(XXXXX) USAGE(*ALLOWED)。

SQLCODE: +552、-552
SQLSTATE: 01542、28000、42502
SQL0553
メッセージ・テキスト: スキーマ名 &1 は許可されません。
原因: スキーマ名 &1 は、予約語であるため許可されません。
回復手順: このスキーマ名を予約語でないものに変更してください。
SQLCODE: -553
SQLSTATE: 42939
SQL0556
メッセージ・テキスト: 2 型 *&3 のオブジェクト &1 から指定された権限を取り消すことはできません。
原因: 2型*&3内のオブジェクト&1に対してリボーク操作が試みられました。 オブジェクトから特権を剥奪するには、剥奪しようとするすべての特権に加えて、*OBJMGT権限を持っていなければならない。
回復手順: 権限のあるユーザーから必要な権限を取得するか、REVOKEステートメントを変更し、保持している権限のみを指定します。
SQLCODE: -556
SQLSTATE: 42502, 42504
SQL0557
メッセージ・テキスト: &2 の中の &1 に特権が無効です。
原因: 次の理由のいずれかのために,指定した特権は正しくありません。
  • INDEX 特権はテーブルおよび物理ファイルに対しては正しいが、ビューに対しては正しくない。 ビューに索引を作成することはできません。
  • &2 のテーブルまたはビュー &1 には該当する能力がないので、指定した特権 は正しくない。 例えば,DELETE, INSERT,およびUPDATE特権は,読み取り専用ビュ ーに対しては正しくありません。
  • &2 内の &1 は読み取り専用グローバル変数であるため、WRITE 特権は無効です。
回復手順: 正しい能力をもつテーブルまたはビューを指定するか,あるいは正し くない特権をSQLステートメントから除去してください。
SQLCODE: -557
SQLSTATE: 42852
SQL0567
メッセージ・テキスト: 権限名 &1 は使用できません。
原因: 権限名は,QSYS, QDFTOWN,またはQSPLなどのシステム提供ユーザー・プロファイルとすることはできません。
回復手順: 名前を変更して,要求をやり直してください。
SQLCODE: -567
SQLSTATE: 28000、42501
SQL0569
メッセージ・テキスト: 要求した特権のうち、&2 のタイプ *&3 のオブジェクト &1 から取り消されなかったものがある。
原因: &2 のオブジェクト &1 タイプ *&3 に対して REVOKE 操作が試みられまし たが、要求した特権のすべてが取り消されたわけではありません。 オブジェクト &1 に対する指定された特権がないか、オブジェクト &1 に対する *OBJMGT 権限がないか、QIBM_DB_SECADM 関数の使用を許可されていないか、あるいは該当する特権を現在有していないユーザーからその特権を取り消そうとしたかのいずれかです。

要求した有効な特権はすべて取り消されました。

回復手順: 現在その特権を有していないユーザーから特権を取り消す場合には, 処置は不要です。

特権を有していない場合には、有効な特権を指定するように REVOKE ステートメントを変更してください。

SQLCODE: +569、-569
SQLSTATE: 01006、56092
SQL0570
メッセージ・テキスト: &2 のオブジェクト &1 タイプ *&3 に対する要求した特権のう ち、認可されなかったものがある。
原因: &2 内のタイプ *&3 のオブジェクト &1 に対して GRANT 操作が試みられまし たが、次の理由のいずれかのために、特権が付与されませんでした。

-- すべての特権が付与されるわけではない。

-- WITH GRANT OPTION を使用して GRANT ステートメントを実行しようとしているが、オブジェクト所有者ではない。

-- オブジェクトに対する *OBJMGT 権限がない。

-- *ALLOBJ 特殊権限がない。

-- QIBM_DB_SECADM 関数に対する権限がない。

-- 読み取り専用グローバル変数の WRITE 特権の GRANT を実行しようとしている。

要求した有効な特権はすべて認可されました。

回復手順: 機密保護担当者またはオブジェクト所有者から必要な権限をもらってく ださい。 操作を再試行してください。
SQLCODE: +570
SQLSTATE: 01007
SQL0573
メッセージ・テキスト: &2 のテーブル &1 には対応する親キーがない。
原因: &4 の制約 &3 に対して FOREIGN KEY 文節に参照列リストが指定されてい ます。 &2 の親テーブル &1 には対応する PRIMARY または UNIQUE キーがありません 。 ファイルが区画化ファイルである場合は,親ファイルのアクセス・パスが非区分アクセス・パスでなければなりません。 この制約を追加することはできません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 参照列リストと対応する PRIMARY または UNIQUE キーをもつテーブルを FOREIGN KEY 文節に指定する。
  • 親テーブルに定義された PRIMARY または UNIQUE キーの定義と一致するよう に参照列リストを変更する。
  • 親ファイルが区画化ファイルである場合は、非区分アクセス・パスを追加する。
SQLCODE: -573
SQLSTATE: 42890
SQL0574
メッセージ・テキスト: カラム,順序,または変数の属性が無効です。
原因: &2中の&1のカラム&3のDEFAULT値,識別属性値,または生成カラム・データ・タイプが無効であるか,&2中の順序&1の順序属性値が無効であるか,SQL変数の定数値が無効であるか,あるいはサイクル・カラム&3に割り当てられた値が無効であるか,のいずれかです。

DEFAULT 値の場合、このステートメントに間違った値が指定されているか、あるいは値がすでに列に定義されていて ALTER TABLE ステートメントに指定されている新規属性と矛盾している可能性があります。

値は次の規則に従っていなければなりません。

  • DEFAULT 値は列のデータ・タイプと矛盾しないものでなければなりません。 浮 動小数点定数は浮動小数点またはDECFLOATカラムの省略時の値にだけすることができます。 DECFLOAT定数は DECFLOATカラムの省略時の値にだけすることができます。
  • DEFAULT 値は列に対して長すぎてはいけません。
  • 列が日付、時刻、またはタイム・スタンプとして定義されている場合には、DEFAULT 値はそのタイプの有効なストリング表記でなければなりません。
  • 列がブール値として定義されている場合、デフォルトは TRUE または FALSE のブール・リテラルでなければなりません。
  • DEFAULT 値が USER 特殊レジスターの値として定義されている場合には、列を CHAR または VARCHAR として定義し、長さ属性は 18 より大きいか等しくなければなりません。
  • DEFAULT 値の CCSID は、列の CCSID と矛盾しないものでなければなりません。
  • 強く型付けされた特殊タイプである列の DEFAULT 値は、ソース・タイプにプロモート可能なものであるか、あるいはそのタイプ用の CAST 関数を使ってその特殊タイプにキャストされているものでなければなりません。
  • データ・リンクまたは XML カラムあるいは SQL 変数に DEFAULT 値を指定することはできません。

生成カラムの場合,データ・タイプと長さが,特殊レジスター,組み込みグローバル変数,またはデータ変更操作の定義に正確に一致する必要があります。

識別列または順序の場合、START WITH、INCREMENT BY、MINVALUE、MAXVALUE、および RESTART WITH オプションに指定する値は、位取りがゼロでなければなりません。

SQL 変数の場合、DataLink または XML のデータ・タイプに CONSTANT は指定できません。

再帰的共通テーブル式循環列名の場合、割り当て値は、長さ 1 の文字ストリングでなければなりません。

回復手順: 値をカラム,順序,または変数に有効なものに変更してください。 要求をやり直してください。
SQLCODE: -574
SQLSTATE: 42894
SQL0577
メッセージ・テキスト: SQLデータの変更は許されません。
原因: 次のエラーの1つが起こっています。
  • データ・アクセス属性として READS SQL DATA または CONTAINS SQL DATA を指定して作成したプロシージャーが呼び出されたか、あるいは関数が呼び出されました。 READS SQL DATAまたは CONTAINS SQL DATAを指定した作成されたプロシージャーまたは関数,あるいはそのプロシージャーまたは関数で呼び出されるプロシージャーまたは関数では,データを変更できず,MODIFIES SQL DATA属性を持つプロシージャーまたは関数を呼び出すことはできません。
  • データを変更するステートメントがルーチン本体に含まれている場合、SQL プロシージャーまたは関数の CREATE PROCEDURE、ALTER PROCEDURE、CREATE FUNCTION、または ALTER FUNCTION ステートメントには READS SQL DATA および CONTAINS SQL DATA は指定できません。
  • グローバル変数のデフォルト値で、データを変更する関数が使用されました。

データを変更するステートメントには、INSERT、UPDATE、DELETE、MERGE、REFRESH TABLE、GRANT、REVOKE、LABEL、COMMENT、およびいずれかの CREATE、DROP、または ALTER ステートメントがあります。 エラーがプロシージャーまたは関数の中で起こった場合には、ルーチン名は &1 であり、特定名は &2 です。

回復手順: READS SQL DATAまたはCONTAINS SQL DATAを指定して作成されたプロシージャーまたは関数が,SQLデータを変更するプロシージャーまたは関数を呼び出していないことを確認します。 SQLデータを変更する関数を作成する場合は,MODIFIES SQL DATAを指定してください。 CREATE VARIABLEステートメントの省略時値は,SQLデータを変更できません。
SQLCODE: -577
SQLSTATE: 2F002, 38002
SQL0578
メッセージ・テキスト: &2 の SQL 関数 &1 で RETURN ステートメントが実行されませんでした。
原因: &2 の SQL 関数 &1 の実行中に、RETURN ステートメントを実行しないで 、ルーチン本体の終わりに達しました。
回復手順: 関数ルーチン本体の終わりにRETURNステートメントを追加してくださ い。 要求をやり直してください。
SQLCODE: -578
SQLSTATE: 2F005
SQL0579
メッセージ・テキスト: SQLデータの読み取りは許されません。
原因: 次のエラーの1つが起こっています。
  • データ・アクセス属性として CONTAINS SQL DATA を指定して作成したプロシージャーが呼び出されたか、あるいは関数が呼び出されました。 CONTAINS SQL DATAを指定した作成されたプロシージャーまたは関数,あるいはそのプロシージャーまたは関数で呼び出されるプロシージャーまたは関数では,データを読み取ることができず,READS SQL DATA属性を持つプロシージャーまたは関数を呼び出すことはできません。
  • データを読み取るステートメントがルーチン本体に含まれていると、CONTAINS SQL DATA は、SQL プロシージャーまたは関数の CREATE PROCEDURE、ALTER PROCEDURE、CREATE FUNCTION、または ALTER FUNCTION ステートメントでは指定できません。
  • SQL ステートメントが含まれているトリガーが活動化されている。

エラーがプロシージャーまたは関数の中で起こった場合には、ルーチン名は &1 であり、特定名は &2 です。

回復手順: CONTAINS SQL DATAを指定して作成されたプロシージャーおよび関 数がSQLデータを読み取るプロシージャーまたは関数を呼び出していないことを確認 してください。
SQLCODE: -579
SQLSTATE: 2F004, 38004
SQL0580
メッセージ・テキスト: CASE式の少なくとも1つの結果はNULLであってはなりません。
原因: CASE式のすべての結果について,NULL値,パラメーター・マーカー,またはRAISE_ERRORスカラー関数が指定されています。 CASE式の少なくとも1つの結果はNULL,パラメーター・マーカー,またはRAISE_ERRORスカラー関数以外の値でなければなりません。
回復手順: THENまたはELSEキーワードに続く少なくとも1つの結果の式がNULL,パラメーター・マーカー,またはRAISE_ERRORスカラー関数以外の他の値になるように,CASE式を変更してください。 要求をやり直してください。
SQLCODE: -580
SQLSTATE: 42625
SQL0581
メッセージ・テキスト: CASE式の結果に互換性がありません。
原因: CASE式の結果の値として指定された式に互換性がありません。
回復手順: CASE式の結果を互換性のある値に変更してください。 要求をやり直してください。
SQLCODE: -581
SQLSTATE: 42804
SQL0583
メッセージ・テキスト: &2 の関数 &1 の使用が正しくない。
原因: &2 の関数 &1 は、確定的でないものとして定義されているか、または外部アクションを含んでいるため、指定された場所で呼び出すことはできません。 決定論でない関数は,GROUP BY文節またはJOIN文節にも,あるいはグローバル変数の省略時文節にも指定できません。 決定論でない関数や,外部アクションを含む関数は,OLAP関数のPARTITION BY文節やORDER BY文節には指定できません。また,OFFSET文節を含むQUERYの選択リストにも指定できません。 RAISE_ERROR関数はGROUP BYまたはHAVINGの文節に指定できません。
回復手順: その関数を除去してください。 要求をやり直してください。
SQLCODE: -583
SQLSTATE: 42845
SQL0584
メッセージ・テキスト: VALUES内でNULL, UNKNOWN,またはパラメーター・マーカーは使用できない。
原因: VALUES文節の各カラムには,データ・タイプが必要です。 カラムのすべての行には,NULL, UNKNOWN,パラメーター・マーカー,またはRAISE_ERRORスカラー関数を含めることはできません。
回復手順: 各カラムに少なくとも1つ以上の定義されたタイプの値が含まれるようにしてください。 CASTの指定を使用して,タイプを割り当てることができます。 要求をやり直してください。
SQLCODE: -584
SQLSTATE: 42608
SQL0585
メッセージ・テキスト: 指定されたパスでのスキーマ &1 の使用法が正しくありません。
原因: 誤ったパスが,SET PATHステートメントまたはSET OPTION SQLPATHステートメントに指定されていました。 次のエラーの1つが起こっています。
  • パスの中で &1 が複数回指定されています。
  • *LIBL がパス中に指定されているただ 1 つの値でありません。
  • スキーマ名が *N である場合には、USER、CURRENT PATH、または SYSTEM PATH のいずれかがパス中に複数回指定されています。
回復手順: 有効なパスを指定します。 要求をやり直してください。
SQLCODE: -585
SQLSTATE: 42732
SQL0590
メッセージ・テキスト: プロシージャーまたは関数 &2 に指定された名前 &1 は固有のものではない。
原因: &1 は、SQL プロシージャーまた関数 &2 の中でパラメーター、SQL 変 数、条件、またはラベルとして指定されています。 この名前は固有のものではありません。
回復手順: 名前が固有のものとなるように変更してください。
SQLCODE: -590
SQLSTATE: 42734
SQL0593
メッセージ・テキスト: 生成カラム&1はNOT NULLである必要がある。
原因: NOT NULL を欄 &1 に指定する必要があります。 ROW CHANGE TIMESTAMPカラム,ROW BEGINカラム,およびROW ENDカラムではヌル値はサポートされません。
回復手順: ステートメントを変更して、列 &1 に NOT NULL を指定してください。 要求をやり直してください。
SQLCODE: -593
SQLSTATE: 42831
SQL0595
メッセージ・テキスト: コミット・レベル *&1 は *&2 ロックに拡大された。
原因: コミット・レベルに *&1 が指定されていますが、*&1 は使用されませ んでした。 コミットメント・レベル *&1 に対する要求を満たすために、基本テーブル が *&2 でロックされました。 ROLLBACK HOLDステートメントを要求した場合には,カ ーソルは同じ位置にとどまります。

次の理由のいずれかのために、*&1 は使用されませんでした。

  • GROUP BY 文節、HAVING 文節、または集約関数がステートメントに指定された。
  • DISTINCT キーワードがステートメントに指定された。
  • UNION キーワードがステートメントに指定された。
  • 結合がステートメントに指定されたが、すべてのテーブルが同じジャーナルにジャーナル処理されるわけではない。
  • DB2 for IBM i はテーブルをロックして、反復可能読み取りコミット・レベルをインプリメントします。
回復手順: コミット・レベルの自動調整が必要でない場合には,ステートメントまたは要求したコミット・レベルを変更してください。 更新不可共用ロック・レベル(*SHRNUP)が認可されたが,これを受け入れることが できない場合には,コミット・レベルに*CHGまたは*NONEを指定してください。
SQLCODE: +595
SQLSTATE: 01526
SQL0596
メッセージ・テキスト: リレーショナル・データベース &1 の DISCONNECT 時にエラーが起こった。
原因: リレーショナル・データベース &1 の DISCONNECT 時にエラーが起こり ました。 ただし、これによってリレーショナル・データベース &1 の正常な切断が妨 げられたわけではありません。 エラーの説明については,前のメッセージを参照して ください。
回復手順: 不要です。
SQLCODE: +596
SQLSTATE: 01002
SQL0601
メッセージ・テキスト: &2 のタイプ *&3 に &1 がすでに存在している。
原因: & 2 に & 1 を作成しようとしたか、表、ビュー、別名、索引、変数、またはシーケンスの名前を & 1 に変更しようとしましたが、& 1 はすでに存在しています。 同じスキーマ内のすべてのオブジェクトの名前が固有でなければなりません。
  • &1 が一時テーブルである場合には、WITH REPLACE 文節を指定しなければそれを置き換えることはできない。
  • スキーマ名が *N の場合には、これは CREATE SCHEMA ステートメント。 これが CREATE TABLE または ALTER TABLE ステートメントで、そのタイプが *N の場合には、&1 が制約。
回復手順: &1 を存在しない名前に変更するか、あるいは既存のオブジェクト を削除、移動、名前変更してください。 これが一時テーブルである場合には,WITH REPLACE文節を使用してください。 SQLパッケージを作成する時には,CRTSQLPKG にREPLACE(*YES)を指定してください。 要求をやり直してください。
SQLCODE: -601
SQLSTATE: 42710
SQL0602
メッセージ・テキスト: CREATE INDEXに120を超えるカラムが指定された。
原因: CREATE INDEXステートメントで使用できるカラムの数は120までです。
回復手順: カラム・リスト中のカラムの名前の数を最大120に減らしてください。 要求をやり直してください。
SQLCODE: -602
SQLSTATE: 54008
SQL0603
メッセージ・テキスト: 重複キーのために固有の索引を作成することができない。
原因: &2 に固有索引 &1 を作成しようとしたか、あるいは &2 に固有制約 &1 を追加しようとしました。 索引の作成に使用される列の 1 つまたは複数の重複した値が、&4 のテーブル &3 の行に含まれているので、この操作を実行することはで きません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • CREATE INDEX ステートメントから UNIQUE 属性を除去する。
  • ALTER TABLE ステートメントから UNIQUE 制約を除去する。
  • すべてのキー値が固有になるように、関連テーブルのデータを変更する。
  • 重複キーに NULL 値が入っている場合には、CREATE INDEX ステートメントに UNIQUE WHERE NOT NULL を指定する。 キー値にヌル値が入っていても,固有性の制約が適用され ません。

どの行に重複するキーの値が入っているかについては、前にリストされているジョブ・ログのメッセージを参照してください。

SQLCODE: -603
SQLSTATE: 23515
SQL0604
メッセージ・テキスト: 属性が正しくない。
原因: 無効なデータ・タイプ,長さ,精度,位取り(スケール),またはALLOCATE属性が次のいずれかに含まれています。
  • CREATE TABLE、ALTER TABLE、DECLARE GLOBAL TEMPORARY TABLE、CREATE GLOBAL TEMPORARY TABLE文の列、またはデータ変更文のINCLUDE列。
  • DECLARE PROCEDURE、CREATE PROCEDURE、ALTER PROCEDURE、CREATE FUNCTION、ALTER FUNCTION、または CREATE TRIGGER ステートメント中のパラメーターまたは SQL 変数の 1 つ。
  • CAST または TRY_CAST 指定。
  • CREATE TYPE ソース・データ・タイプ。
  • CREATE VARIABLE データ・タイプ。

次の理由のいずれかのために、定義が無効です。

  • DECIMAL または NUMERIC データ・タイプが指定されている場合には、精度は 1 から 63 で、位取りは 0 からその精度までとする。
  • DECFLOAT を指定する場合、精度を省略するか、または 16 か 34 でなければならない。
  • CHARACTER または BINARY が指定されている場合には、長さは、パラメーターまたは NULL 値可能でない列の場合には 1 から 32766 であるか、あるいは NULL 値可能な列の場合には 1 から 32765 でなければならない。
  • VARCHAR または VARBINARY が指定されている場合には、長さは、パラメーターまたは NULL 値可能でない列の場合には 1 から 32740 であるか、あるいは NULL 値可能な列の場合には 1 から 32739 でなければならない。
  • FOR MIXED DATA 文節または混合 CCSID が指定されている場合には、長さを 4 未満にはできない。
  • GRAPHIC または NCHAR が指定されている場合には、長さは、パラメーターまたは NULL 値可能でない列の場合には 1 から 16383 であるか、あるいは列が NULL 値可能の場合には 1 から 16382 でなければならない。 指定される長さは,DBCS文字の文字数です。
  • VARGRAPHIC または NVARCHAR が指定されている場合には、長さは、パラメーターまたは NULL 値可能でない列の場合には 1 から 16370 であるか、あるいは列が NULL 値可能の場合には 1 から 16369 でなければならない。 指定される長さは,DBCS文字の文字数です。
  • BLOB または CLOB が指定されている場合には、長さは、1 から 2G (2048 M、2,097,152 K、または 2,147,483,647 バイト) でなければなりません。 DBCLOBまたはNCLOBが指定されている場合には,長さは1 - 1073741823でなければなりません。
  • TIMESTAMP を指定する場合、精度は 0 から 12 でなければなりません。
  • DATALINK が指定されている場合には、長さは 1 から 32717 でなければなりません。
  • VARCHAR、VARGRAPHIC、NVARCHAR、VARBINARY、CLOB、BLOB、DBCLOB、NCLOB、または DATALINK が指定されている場合には、ALLOCATE 属性は、指定されている長さ属性以下で、かつ 32766 以下でなければなりません。
  • DATALINK および配列タイプをグローバル変数のタイプとして指定することはできません。
  • 配列タイプを定義する場合、CLOB または BLOB の長さは 1048576 を超えることができず、DBCLOB の長さは 524288 を超えることができません。
  • CREATE TYPE に ARRAY [0] を指定することはできません。
回復手順: カラムの長さ,精度,位取り,またはALLOCATE属性を訂正してください。 要求をやり直してください。
SQLCODE: -604
SQLSTATE: 42611
SQL0607
メッセージ・テキスト: &2 のシステム・テーブル &1 に対する操作は許されません。
原因: &2 のテーブルまたはビュー &1 はカタログまたはシステム・テーブルで す。 カタログ,システム・テーブルおよびシステム・トリガーは,ユーザーが 変更したりロックすることはできません。
回復手順: システム・テーブルでないテーブルを参照するように,SQLステー トメントを変更してください。 要求をやり直してください。
SQLCODE: -607
SQLSTATE: 42832
SQL0612
メッセージ・テキスト: &1 は重複した欄の名前である。
原因: 次のエラーの1つが起こっています。
  • CREATE TABLE または CREATE VIEW ステートメントに列 &1 が複数回指定されている。 カラム名およびシステムカラム名はテーブルまたはビューの中で固有でなければなりません。
  • ALTER TABLE ステートメントの ADD 文節の中に列 &1 が指定されている。 列 &1 はすでにテーブルの中に存在しています。
  • 列 &1 が ALTER TABLE ステートメントの ALTER、DROP、または ADD 文節の中に複数回指定されている。
  • 共通テーブル式の列リストの中か、テーブルまたは派生テーブルの相関文節の中に、列 &1 が複数回指定されている。
  • 列 &1 が UPDATE トリガーの列リストの中に複数回指定されている。
  • 列 &1 が CREATE FUNCTION ステートメントの RETURNS TABLE 文節の中に複数回指定されている。 ユーザー定義テーブル関数の戻りカラム名は固有でなければなりません。
  • 列 &1 が再帰的共通テーブル式の CYCLE 列リストの中に複数回指定されている。
  • 列 &1 が XMLTABLE または JSON_TABLE の COLUMNS 文節に複数回指定されている。
  • AS 名 &1 が XMLTABLE で複数回指定されている。
  • SYSTEM_TIME期間がテーブルに定義されていて,カラムの名前がSYSTEM_TIMEです。
  • RCDFMT 文節のカラム・リストにカラム & 1 が複数回指定されています。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 各カラムに固有の名前を指定してください。
  • 1 つの ALTER TABLE ステートメントの中の 1 つの文節を除いてその他のすべての文節から列を除去する。 必要な場合には,複数のステートメントを指定することができます。
SQLCODE: -612
SQLSTATE: 42711
SQL0613
メッセージ・テキスト: キーが長すぎるか,そのカラムが多すぎます。
原因: 次のいずれかが起こっています。
  • &2 中の制約 &1 の PRIMARY または UNIQUE キーを作成することができません。
  • テーブルのパーティション・キーが長すぎます。

キーに 120 個を超える列が指定されているか、あるいはキーに指定された列の長さの合計が最大値の 32768 バイトを超えています。 リストにヌル可能カラムが入っている場合には,各ヌル可能カラムの長さに 対して追加のバイトが必要です。 可変長カラムがリストに入っている場合には,各可変長カラムごとに2バイトの長さが合計 長に含まれます。 ICU (UNICODE)テーブルを使用している場合には,そのキーの長さが長すぎる可能性があります。 キーの内部拡張は,変換のためにユーザー指定のキー長の6倍までとすることができます。 詳細については,前のメッセージを参照してください。

回復手順: キーから一部のカラムを取り除くか,キーの合計長が最大長を超えないようにカラムの長さ属性を変更してください。 要求をやり直してください。
SQLCODE: -613
SQLSTATE: 54008
SQL0614
メッセージ・テキスト: CREATE INDEXのカラムの長さが長すぎる。
原因: CREATE INDEXに指定されたカラムの長さの合計が最大の32768バイトを超えています。 リストにヌル値可能カラムが入っている場合には,各ヌル値可能カラムに追加のバイト が必要です。 索引に可変長カラムが入っている場合には,カラムの2バイトの長さが合計長に含まれます。 ICU (UNICODE)テーブルを使用している場合には,そのキーの長さが長すぎる可能性があります。 キーの内部拡張は,変換のためにユーザー指定のキー長の6倍までとすることができます。 詳細については,前のメッセージを参照してください。
回復手順: カラムの一部をCREATE INDEXカラム・リストから削除することによって長さを 減らしください。 要求をやり直してください。
SQLCODE: -614
SQLSTATE: 54008
SQL0615
メッセージ・テキスト: &2 のオブジェクト &1 タイプ &3 が除去されなかった。 現在使 用中です。
原因: &2 のオブジェクト &1 タイプ &3 は、すでに同じアプリケーション処理で使用さ れているため、除去されませんでした。 オブジェクトがテーブルの場合には,オープ ン・カーソルが使用している可能性があります。 オブジェクトがSQLパッケージの場 合には,そのパッケージが現在実行中である場合があります。
回復手順: このオブジェクトがテーブルの場合には,カーソルをクローズしなけ ればなりません。 このオブジェクトがSQLパッケージの場合には,SQLパッケージ はそれ自身を除去することはできません。 除去要求を再試行してください。
SQLCODE: -615
SQLSTATE: 55006
SQL0616
メッセージ・テキスト: RESTRICT を使用して &2 タイプ &3 の &1 を除去することはできない。
原因: RESTRICT オプションを使用して &2 の &1 を除去しようとしました。 &1 は、ビュー、制約、トリガー、マテリアライズ照会表、履歴表、または索引がそれに依存しているため、ドロップできません。
回復手順: &1およびそれに依存しているビュー,制約,トリガー,実体化されたQUERYテーブル,ヒストリー・テーブル,および索引を除去するためには,ALTER TABLEステートメントにCASCADEを指定してください。 これがCREATE OR REPLACE TABLEステートメントである場合,テーブルを置換するには,その前に依存関係を除去する必要があります。 要求をやり直してください。
SQLCODE: -616
SQLSTATE: 42893
SQL0624
メッセージ・テキスト: &2 のテーブル &1 にはすでに基本キーがある。
原因: &2 のテーブル &1 に主キーすなわち固有キーを追加しようとしました。 このテーブルには既に基本キーが定義されているか,あるいはこのテーブルは, 追加しようとするキーと一致しないアクセス・パスをもっています。 テーブルは基本 キーを1つしかもつことができません。 この制約を追加することはできません。
回復手順: テーブルに現在定義されている基本キーを除去するか,あるいはUNIQUE 制限として制約を追加してください。 テーブルのアクセス・パスが一致しない場合に は,制約の中のカラムの数とアクセス・パスの中のカラムの数が一致するようにしてください 。 要求をやり直してください。
SQLCODE: -624
SQLSTATE: 42889
SQL0628
メッセージ・テキスト: 同じ定義では文節が正しくない。
原因: カラム,ソース関数,プロシージャー,トリガー,または索引の属性を定義するために指定されている文節が無効です。 次のいずれかが起こっています。
  • 文節 FOR BIT DATA、FOR SBCS DATA、FOR MIXED DATA、または CCSID のうち 2 つ以上が列定義に指定されていました。
  • READ PERMISSION FS および WRITE PERMISSION BLOCKED がデータ・リンク列に指定されていました。
  • READ PERMISSION DB および WRITE PERMISSION FS がデータ・リンク列に指定されていました。
  • WRITE PERMISSION FS および ON UNLINK 文節がデータ・リンク列に指定されていました。
  • INCLUDING または EXCLUDING COLUMN DEFAULTS および USING TYPE DEFAULTS がテーブルに指定されていました。
  • ソース関数の作成時に無効な文節が指定されていました。
  • RETURNS 文節が ALTER FUNCTION に指定されましたが、ALTER には REPLACE が指定されていません。
  • プロシージャーに AUTONOMOUS が指定され、ゼロでない値の COMMIT ON RETURN または DYNAMIC RESULT SETS も指定されています。
  • WITH RETURNが複合(動的)ステートメントでカーソルに指定されています。
  • FOR EACH STATEMENT が BEFORE または INSTEAD OF トリガーに指定されていたか、MODE DB2ROW で指定されています。
  • MODE DB2SQL が BEFORE の場合に指定されていて、トリガー・テーブルへの参照がトリガーに含まれています。
  • WHEN 文節または UPDATE 列リストが INSTEAD OF トリガーに指定されている。
  • OLD ROW または NEW ROW および日付または時刻オプション用に SET OPTION をもつ相関名が指定されていました。
  • CREATE INDEX の場合は、INCLUDE 文節が指定されていると、RCDFMT 文節を指定することはできません。 INCLUDE文節にはENCODED VECTOR文節が必要です。
  • SET OPTION DBGVIEW に指定したオプションが、DEBUG MODE に指定した値との整合性がない。
  • SET OPTION CONACCオプションは,ルーチン・オプションCONCURRENT ACCESS RESOLUTIONと一緒に指定できません。
  • SET OPTION SYSTIMEオプションは,ルーチン・オプションSYSTEM_TIME SENSITIVEと一緒に指定できません。
回復手順: 定義が有効となるように文節を変更または除去してください。 要求をやり直してください。
SQLCODE: -628
SQLSTATE: 42613
SQL0629
メッセージ・テキスト: &2 の参照制約 &1 に対して SET NULL を指定することはできない。
原因: 参照制約 &1 に対して REFERENCES 文節で SET NULL が指定されていま す。 外部キー中のカラムにヌル値を指定することはできません。
回復手順: 外部キー中のカラムの少なくとも1つにヌル値を指定できるようにテーブル を作成するか,あるいは別の省略時処置をON DELETE文節で指定してください。 要求をやり直してください。
SQLCODE: -629
SQLSTATE: 42834
SQL0631
メッセージ・テキスト: &2 の制約 &1 に対する外部キーが長すぎる。
原因: &2 の制約 &1 に対して FOREIGN キーを作成することができません。 FOREIGN KEY文節に120個を超えるカラムが指定されているか,あるいはこのキーに指定されたカラムの長さの合計が最大値の32768バイトを超えています。 リストにヌル可能カラムが入っている場合には,各ヌル可能カラムの長さに 対して追加のバイトが必要です。 可変長カラムがリストに入っている場合には,各可変長カラムごとに2バイトの長さが合計 長に含まれます。
回復手順: FOREIGN KEY文節からカラムのいくつかを除去してください。 要求をやり直してください。
SQLCODE: -631
SQLSTATE: 54008
SQL0636
メッセージ・テキスト: 区画 &1 に指定された範囲が正しくありません。
原因: 次のいずれかの理由で区分化キーに指定された範囲は有効でありません。
  • パーティションが正しい順序で指定されていません。
  • パーティションの ENDING 値が STARTING 値より小さくなっています。
  • EVERY 文節に指定された値が範囲に有効でありません。
  • MINVALUE または MAXVALUE が開始または終了値に指定され、ステートメントに EVERY 文節が含まれていた。
  • パーティション・キーがオーバーラップしています。
  • MINVALUE または MAXVALUE がパーティション・キー境界の開始または終了値に指定され、その範囲の後続のキー値が同じ値ではない。
回復手順: STARTING, ENDING,またはEVERY文節に有効な範囲を指定して, 要求をやり直してください。
SQLCODE: -636
SQLSTATE: 56016
SQL0637
メッセージ・テキスト: &1 で始まるキーワードまたは文節が無効です。
原因: キーワードまたは文節 &1 は次の理由のいずれかのために正しくありません。
  • DEFAULT, HIDDEN, ROW CHANGE TIMESTAMP, ROW BEGIN, ROW END, TRANSACTION START ID, FIELDPROC, UNIQUE, PRIMARY,各データ・リンク・オプション,そして各識別オプションを指定できるのは,CREATE TABLEステートメント中のカラム定義で一度だけである。
  • 同じ列定義で UNIQUE と PRIMARY の両方を指定することはできない。
  • PRIMARY は CREATE TABLE ステートメントに 1 回だけ指定することができる。
  • IDENTITY COLUMN ATTRIBUTES、COLUMN DEFAULTS、USING TYPE DEFAULTS、HIDDEN COLUMN ATTRIBUTES、および ROW CHANGE TIMESTAMP COLUMN ATTRIBUTES のいずれのオプションも、指定できるのは 1 回のみである。
  • ALTER TABLE ALTER COLUMN の場合には、各 SET または DROP オプションを指定 できるのは、列につき一度だけである。
  • ALTER TABLE の場合、ROW ACCESS CONTROL および COLUMN ACCESS CONTROL を指定できるのはそれぞれ 1 回だけである。
  • 制約の検査では、使用できる ON INSERT VIOLATION および ON UPDATE VIOLATION 文節はそれぞれ 1 つだけである。
  • XML 関数の各オプションを指定できるのは 1 回だけである。
  • FOR READ ONLY、FOR UPDATE、OPTIMIZE、分離レベル、および SKIP LOCKED DATA のどの文節も、指定できるのは 1 回のみである。
  • CREATE TRIGGER の場合、INSERT、UPDATE、または DELETE イベントは 1 回だけ指定できる。
  • XMLTABLE 関数には FOR ORDINALITY 列は 1 つしか定義できない。
  • XMLTABLE の PASSING 文節では xquery-context-item-expression を 1 つしか指定できない。
  • PREPARE ステートメントの属性ストリングは、オプションを 1 回しか指定できず、矛盾するオプションを含むことはできません。
回復手順: 各キーワードまたは文節ごとに1つを除くすべての指定を除去してください。 要求をやり直してください。
SQLCODE: -637
SQLSTATE: 42614
SQL0642
メッセージ・テキスト: &2 の &1 に対する制約の最大数を超えている。
原因: &2 のテーブル &1 はすでに 5000 個の制約と関連づけられているので、このテーブルに制約を追加することはできません。 この限界数には,テーブルに定義さ れているすべての制約とテーブルが親として定義されているすべての参照制約が含ま れます。
回復手順: 可能であれば,既に関連づけられている5000個の制約のうちの1つを 消去して,要求をやり直してください。
SQLCODE: -642
SQLSTATE: 54021
SQL0644
メッセージ・テキスト: ATTRIBUTES 値 &1 が正しくありません。
原因: PREPARE ステートメントに指定された ATTRIBUTES ストリングに &1 が含まれていますが、これは正しくありません。 準備中の SQL ステートメントのタイプのタイプは &2 です。
回復手順: 無効な属性を除去または訂正して,再試行してください。
SQLCODE: -644
SQLSTATE: 42615
SQL0645
メッセージ・テキスト: &2 の索引 &1 の場合には、WHERE NOT NULL 文節は無視される。
原因: &2の索引&1の作成時にUNIQUE WHERE NOT NULLが指定されましたが, この索引のカラムはどれもヌル値可能ではありません。 この索引は固有の索引として作成さ れます。
回復手順: CREATE INDEXステートメントからWHERE NOT NULL文節を除去して ください。
SQLCODE: +645
SQLSTATE: 01528
SQL0658
メッセージ・テキスト: 関数 &2 の &1 が除去できません。
原因: スキーマ &2 の関数 &1 は、CREATE DISTINCT TYPE ステートメントによって暗黙に生成されたものなので、除去できません。
回復手順: この関数を除去するためには,この関数が関連付けられている特殊タ イプを除去する必要があります。
SQLCODE: -658
SQLSTATE: 42917
SQL0662
メッセージ・テキスト: &2 の &1 のパーティション化索引を作成できません。
原因: PARTITIONED または NOT PARTITIONED が CREATE INDEX ステートメントで指定されましたが、スキーマ &2 の中のテーブル &1 はパーティション・テーブルではありません。
回復手順: ステートメントからPARTITIONED文節を取り除いてください。 要求をやり直してください。
SQLCODE: -662
SQLSTATE: 53037
SQL0663
メッセージ・テキスト: 区分化値の数が正しくありません。
原因: パーティション &1 の STARTING または ENDING 文節に間違った数の値が指定されました。 指定する値の数は,区分化キーのキー・カラムの数と一致しなければなりません。

EVERY 文節を使用する場合には、パーティション・キーには 1 つの列しか指定できません。

回復手順: 指定されたキー限界の数を区分化キー・カラムの数と一致するように変更するか,区分化キー中のカラムの数を変更してください。 要求をやり直してください。
SQLCODE: -663
SQLSTATE: 53038
SQL0665
メッセージ・テキスト: 区画名または区画番号 &1 は正しくありません。
原因: DROP PARTITION 文節にパーティション名またはパーティション番号 &1 が指定されましたが、テーブル中のパーティションを参照していません。 指定する区分名または区分番号は,テーブルの既存の区分を識別するものでなければなりません。
回復手順: 既存のパーティションのパーティション名またはパーティション番号を指定します。 要求をやり直してください。
SQLCODE: -665
SQLSTATE: 53039
SQL0666
メッセージ・テキスト: SQL QUERYで指定された限界またはしきい値を超えている。
原因: 照会モニター・ツール & 5 によってデータベース照会が終了しました。 ツール:
  • 1 -- 予測照会ガバナー
  • 2 -- 照会監視プログラム

照会が予測照会管理プログラムによって停止された場合:

見積実行時間 &1 が指定限度 &2 を超えるか、または見積一時ストレージ使用 &3 が指定限度 &4 を超える、データベース照会を開始しようとしました。

照会時間制限および一時記憶域制限は、照会属性の変更 (CHGQRYA) CL コマンド、QQRYTIMLMT システム値、または QAQQINI 照会オプションを使用して構成できます。

実行中の QUERY が QUERY 監視プログラムによって終了された場合には, 次のようにしてください。

データベース・ファイル & 7 (& 6、メンバー & 8) の照会処理中に、しきい値 & 9 に達しました。 このしきい値により,QIBM_QQQ_QRY_SUPER出口点に登録されているユーザー指定の出口プログラムが呼び出され, 出口プログラムでQUERYを停止する必要があることが示されました。

しきい値は、 QSYS2.ADD_QUERY_THRESHOLD プロシージャー。 QSYS2.QUERY_SUPERVISOR ビュー。

回復手順: QUERYに対する次の変更により,推定資源使用量および実資源使用量を減らせると考えられます。
  • さらに制約レコード選択指定を追加することによって戻されるレコードの数が 少なくなるように QUERY を変更する。
  • 既存のキー順アクセス・パスを使用してより高速にレコードを処理できるよう に QUERY のレコード選択を変更する。
  • SQL CREATE INDEX ステートメントを使用して QUERY のレコード選択と一致するキーをもつアクセス・パスを作成する。
  • 一時アクセス・パスの作成もソートの実行も不要になるように順序づけ指定を変更する。
  • グループ化フィールド指定を、既存のキー順アクセス・パスの左端のキー・フ ィールドと一致するように変更する。 これによって既存のアクセス・パスを使用できます。
  • OPTIMIZE FOR N ROWS 文節を指定します。ここで N は、照会が終了する前に検索されるレコードの実際の数を表します。 この文節によって,QUERY最適化プログラムはQUERYを完了するまで実行 しないと考えられるので,推定時間が短くなります。
  • Visual Explain ツールを使用して、照会の実装に関する詳細を表示し、勧告索引のリストを検討します。
SQLCODE: -666
SQLSTATE: 57005
SQL0667
メッセージ・テキスト: FOREIGN キーの値が &2 の制約 &1 の親キーの値と一致しない。
原因: 従属テーブルのFOREIGNキーのすべての値は,一致する値が親テーブル の親キーになければなりません。 &2 の制約 &1 には、一致する値が親テーブルにな い既存の値が &4 のテーブル &3 の FOREIGN キーにあります。 この制約を追加することはできません。
回復手順: FOREIGNキーのすべての値が一致する値を親キーにもつように従属 テーブルまたは親テーブルの行を更新するか,あるいは参照制約中のキーの定義を変 更してください。 要求をやり直してください。
SQLCODE: -667
SQLSTATE: 23520
SQL0672
メッセージ・テキスト: DROP は、& 2 タイプ * & 3 の & 1 には許可されません。
原因: & 2 タイプ * & 3 の & 1 には RESTRICT ON DROP 属性があり、ドロップすることはできません。 スキーマにRESTRICT ON DROP属性を持つオブジェクトが含まれていると、DROP SCHEMAが失敗することがあります。
回復手順: オブジェクトを除去するには,その前にRESTRICT ON DROP属性を除去する 必要があります。 例えば、ALTER TABLEにDROP RESTRICT ON DROP句を指定してテーブルを作成します。
SQLCODE: -672
SQLSTATE: 55035
SQL0675
メッセージ・テキスト: 指定した削除規則は &2 のテーブル &1 上のトリガーでは使用できません。
原因: &2 のテーブル &1 で &4 の参照制約 &3 に指定されている削除規則は、指定したトリガーには使用できません。 制約規則DELETE CASCADEはカスケード・トリガーでは使用できません。 制約規則DELETE SET NULLおよびDELETE SET DEFAULTは更新トリガーでは使用できません。
回復手順: RMVPFTRGコマンドを使用してトリガーを除去するか,RMVPFCSTコマンドを使用して制約を除去するか,有効な削除規則を指定して制約を定義するか,あるいは別のイベントを指定してトリガーを定義するかのいずれかにしてください。
SQLCODE: -675
SQLSTATE: 42892
SQL0678
メッセージ・テキスト: リテラル &1 のデータ・タイプが欄 &3 と互換性がありません。
原因: 指定したリテラルには互換性がありません。 リテラル &1 が STARTING、ENDING、または EVERY 文節に指定された場合、列 &3 と互換性がありません。 列 &3 のデータ・タイプは &2 です。 リテラルが数値との比較に指定された場合は,そのリテラルは有効な数値でありません。
回復手順: 正しいリテラルを指定してください。 要求をやり直してください。
SQLCODE: -678
SQLSTATE: 53045
SQL0679
メッセージ・テキスト: 操作が保留されているために、&2 のオブジェクト &1 タイプ *&3 は作成されなかった。
原因: オブジェクト &1 にはコミットメント制御下の未処理の DROP または CREATE があり、それによって作成が妨げられています。 これは次のいずれかの方法で起こっ た可能性があります。
  • このアプリケーション処理が、コミットされていない DROP をコミットメント制御下で 実行し、現在、コミットメント制御レベル *NONE を使用して同じオブジェクトを作成 しようとしている。
  • 別のアプリケーション処理が、コミットされていない DROP をコミットメント制御下で実行した。
  • このアプリケーション処理が、別のコミット定義を使用して DROP をコミットメント制御下で実行して、DROP がコミットされていない。
  • このアプリケーション処理が、コミットされていない CREATE をコミットメント制御下で実行し、現在、コミットメント制御レベル *NONE のもとで後続の CREATE でオブジェクトを 使用しようとしている。
回復手順: 次の1つを実行して,要求をやり直してください。
  • これがコミットされていない DROP または CREATE ステートメントを出した アプリケーション処理であった場合には、オブジェクトの作成を試みる前に COMMIT を出すか、あるいは *NONE 以外のコミットメント制御レベルを使用してプログラム から CREATE ステートメントを出してください。
  • DROP を出したアプリケーション処理がユーザーのアプリケーション処理でない場合には、その アプリケーション処理が DROP ステートメントのコミットまたは ROLLBACK を実行しなければなりません。
  • このアプリケーション処理がコミットされていない DROP、または別のコミット定義の 下で CREATE ステートメントを出した場合には、コミット定義で COMMIT または ROLLBACK を出してください。
SQLCODE: -679
SQLSTATE: 57006
SQL0680
メッセージ・テキスト: 指定されたカラムが多すぎます。
原因: ユーザー定義テーブル関数の定義に指定されたカラムが多すぎます。 入力パラメーターと戻りカラムを合計して,指定できるカラムは最大8000個です。 実際の数は多分これより少なく,言語によって異なります。
回復手順: ユーザー定義テーブル関数について指定したパラメーターまたは戻りカラムの数を減らしてください。 要求をやり直してください。
SQLCODE: -680
SQLSTATE: 54011
SQL0681
メッセージ・テキスト: カラム &1 のフィールド・プロシージャーが SQLSTATE &5 を戻しました。
原因: カラム &1 のフィールド・プロシージャーが SQLSTATE &5 を戻しました。 関連メッセージ・テキストは &4 です。
回復手順: 有効なSQLSTATEを戻すようにフィールド・プロシージャーを変更してください。 要求をやり直してください。
SQLCODE: -681
SQLSTATE: 23507
SQL0682
メッセージ・テキスト: フィールド・プロシージャーのプログラム名 &1 は使用できません。
原因: フィールド・プロシージャーに指定された &2 内のプログラム名 &1 が見つからないか、またはこのプログラムを使用する十分な権限がありません。 理由コードは &3 です。 理由コードとその意味は次の通りです。
  • 1 -- フィールド・プロシージャーが見つかりません。
  • 2 -- プログラムを使用するための十分な権限がありません。プログラムを含むプログラムおよびライブラリーには , *EXECUTE 権限が必要です。
  • 3 -- プログラム名が ILE プログラムを指定していません。 プログラム名はOPMプログラム,サービス・プログラム,またはJAVAプロシージャーを参照できません。 プログラム名が外部プログラム名のストリング形式で指定されている場合は,「ライブラリー名/プログラム名」の形式になっていなければなりません。
  • 4 -- フィールド・プロシージャー・プログラムには *NEW という活動化グループを使用できません。
回復手順: プログラム名の指定が正しく,かつその名前のILEプログラムが存在するようにしてください。 プログラムが存在する場合は,プログラムおよびライブラリーを使用するために必要な権限を取得してください。 要求をやり直してください。
SQLCODE: -682
SQLSTATE: 57010
SQL0683
メッセージ・テキスト: 文節が指定のタイプには無効です。
原因: 次のいずれかが起こっています。
  • CAST または TRY_CAST 指定、CREATE DISTINCT TYPE ソース・データ型、または列またはパラメータ &1 に対して、FOR BIT DATA 節、FOR MIXED DATA 節、FOR SBCS DATA 節、または CCSID 節が指定されました。 これらの文節は,タイプが数値,日付,時刻,タイム・スタンプ,バイナリー,NCHAR, BOOLEAN, またはユーザー定義タイプの場合には無効です。 FOR BIT DATA, FOR MIXED DATA,またはFOR SBCS DATA文節は,タイプが図形,XML,またはデータ・リンクの場合には無効です。
  • LINKTYPE オプションがデータ・リンクでない列に指定されました。
  • ROW CHANGE TIMESTAMP が指定されましたが、データ・タイプが精度 6 のタイム・スタンプではありません。
  • ROW BEGIN, ROW END,またはTRANSACTION START IDが指定され,データ・タイプは精度12のタイム・スタンプではありません。
  • FIELDPROC は、ブール、ROWID、または DATALINK データ・タイプを持つ列、または生成列として定義されている列には指定できません。
  • XMLTABLE 関数または JSON_TABLE 関数の結果列には FOR BIT DATA を指定できません。
  • SQL ルーチン内の XML 変数の場合は、CCSID を指定できません。
回復手順: 正しくない文節を変更または除去してください。 要求をやり直してください。
SQLCODE: -683
SQLSTATE: 42842
SQL0684
メッセージ・テキスト: FIELDPROCの定数のリストが長すぎます。
原因: &1 で始まっている FIELDPROC の定数のリストが 2000 バイトを超えています。
回復手順: より短い値を使用するか値の数を減らすかして,リストを短くしてください。 要求をやり直してください。
SQLCODE: -684
SQLSTATE: 54012
SQL0685
メッセージ・テキスト: カラム &1 のフィールド・プロシージャーが無効なデータを戻しました。
原因: カラム &1 のフィールド・プロシージャーが無効なデータを戻しました。
回復手順: 有効なデータを戻すようにフィールド・プロシージャーを変更してください。
SQLCODE: -685
SQLSTATE: 58002
SQL0696
メッセージ・テキスト: 相互関連名またはテーブル &3 が無効です。
原因: 相関名またはテーブル &3 が &2 のトリガー &1 には無効です。 理由コードは &4 です。 理由コードが示すエラーは次の1つです。
  • 1 - NEW 相関名または NEW_TABLE &3 が DELETE トリガー中に指定された。
  • 2 - OLD 相関名または OLD_TABLE &3 が INSERT トリガー中に指定された。
  • 3 - OLD_TABLE または NEW_TABLE が BEFORE トリガー中に指定されていたか、DB2ROW で指定されていた。
回復手順: ステートメントが有効になるように,参照文節またはトリガーのタイプを変更します。 要求をやり直してください。
SQLCODE: -696
SQLSTATE: 42898
SQL0697
メッセージ・テキスト: REFERENCING OLDまたはNEWがステートメント・トリガーには無効です。
原因: REFERENCING OLDまたはNEWがSQLトリガーに指定されていました。 旧および新規相関変数がステートメント・トリガーには無効です。
回復手順: REFERENCING文節を除去するか,FOR EACH ROWをCREATE TRIGGERステートメントで指定します。 要求をやり直してください。
SQLCODE: -697
SQLSTATE: 42899
SQL0707
メッセージ・テキスト: &2 では名前 &1 は使用できません。
原因: 名前 &1 は、以下のいずれかの理由で許可されません。
  • &2 内の特殊タイプ、配列タイプ、順序、またはグローバル変数 &1 は、作成することも除去することもできません。 名前が予約語であるか,またはスキーマがQSYS, QSYS2, SYSIBM,またはQTEMPとして指定されているかのいずれかです。 特殊タイプ,配列タイプ,順序,およびグローバル変数をQSYS, QSYS2, SYSIBM, SYSPROC,またはQTEMPに作成することはできません。
  • SAVEPOINT &1 は、SYS で始まる名前にすることはできません。
回復手順: 名前を予約語でないものに変更するか,あるいはユーザー定義データ・タイプ,順序,またはグローバル変数をQSYS, QSYS2, SYSIBM, SYSPROC,またはQTEMP以外のスキーマに作成してください。
SQLCODE: -707
SQLSTATE: 42939
SQL0713
メッセージ・テキスト: &2 の値が正しくありません。
原因: SET &2 ステートメントに指定された値が正しくありません。 &2 特殊レジスターを設定するために NULL 値を使用することはできません。&2 は、文字ストリングまたは UCS-2 UTF-16 グラフィック・ストリングを使用してのみ設定できます。

SET ENCRYPTION PASSWORD WITH HINT の場合には、ヒント値は 32 文字を超えることはできません。

SET SCHEMA の場合には、スキーマ名内のすべての文字が大文字で なければならないか、スキーマ名を区切り文字で区切らなければなりません。

SET CURRENT DEGREE の場合、値は 5 文字を超えることはできません。

SET SESSION AUTHORIZATION の場合、権限名は 10 文字を超えることはできません。 ストリング・リテラルとして,またはホスト変数と一緒に指定される権限名には特殊レジスター・ストリングUSER, SYSTEM_USERおよびSESSION_USERを含めることはできません。さらに,小文字と特殊文字も使用できません。

SET CURRENT DECFLOAT ROUNDING MODE の場合、値中で小文字を使用してはならず、サポートされている丸めモードのうちの 1 つを指定する必要があります。

SET CURRENT IMPLICIT XMLPARSE OPTION の場合、値はサポートされている空白オプションのいずれかを識別するものでなければなりません。

回復手順: 特殊レジスターに有効な値を指定してください。 そこにNULL値は含まれていないことを確認してください。 要求をやり直してください。
SQLCODE: -713
SQLSTATE: 42815
SQL0723
メッセージ・テキスト: &2 の SQL トリガー &1 が SQLCODE &3 SQLSTATE &4 で失敗しました。
原因: スキーマ &2 中のトリガー &1 のトリガーされた SQL ステートメントでエラーが起こりました。 SQLCODE は &3、SQLSTATE は &4、さらにメッセージは &5 です。
回復手順: 検出されたエラーの詳細については,ジョブ・ログを参照してくださ い。 エラーを訂正して,要求を再試行してください。
SQLCODE: -723
SQLSTATE: 09000
SQL0724
メッセージ・テキスト: カスケードされたトリガー・プログラムが多すぎる。
原因: カスケード・トリガーの最大数200を超えました。
回復手順: 同じテーブルでトリガー・プログラムが繰り返し呼び出される原因と なっているトリガーを取り除いてください。
SQLCODE: -724
SQLSTATE: 54038
SQL0727
メッセージ・テキスト: &6 内の &5 に関連した式の評価に失敗しました。
原因: 次のいずれかが起こっています。
  • &6 内のグローバル変数 &5 の DEFAULT 文節を評価している時、エラーが発生しました。
  • &6 内のルーチン &5 のパラメーターの DEFAULT 文節を評価している時、エラーが発生しました。
  • &6 内の PERMISSION または MASK &5 の規則テキストを評価している時、エラーが発生しました。

この障害に関連付けられている SQLCODE は &2 です。 SQLSTATE は &3 です。 メッセージ・トークンは &4 です。

この障害は、DB2 for IBM i 以外のシステムで暗黙のシステム処置 &1 の最中にエラーが発生したことも示している場合があります。

回復手順: 検出されたエラーの詳細については,ジョブ・ログまたはプロダクト資料を参照してください。 エラーを訂正して,要求を再試行してください。
SQLCODE: -727
SQLSTATE: 56098
SQL0750
メッセージ・テキスト: テーブル&1のカラム&3を名前変更できません。
原因: &2のテーブル&1のCREATE TABLEステートメントでカラム&3が複数回指定されています。 カラム名およびシステム・カラム名はテーブルの中で固有でなければなりません。
回復手順: 各カラムに固有の名前を指定してください。
SQLCODE: -750
SQLSTATE: 42986
SQL0751
メッセージ・テキスト: SQL ステートメント &1 が使用できません。
原因: ステートメント&1は,プロシージャー,ユーザー定義関数,またはトリガーの中では使用できません。 2次スレッドで複合(動的)ステートメントは使用できません。
  • トリガー・プログラム内で使用できないステートメントは、CONNECT、 SET CONNECTION、 RELEASE、 DISCONNECT、 および SET RESULT SETS です。
  • RETURN ステートメントは SQL トリガーの中では使用できません。
  • トリガー・プログラムでは RUNSQLSTM を使用することはできません。
  • トリガー・プログラムが同一の活動化グループでトリガー・プログラムとして実行中の場合には、トリガー・プログラムで COMMIT および ROLLBACK を使用することはできません。 COMMITおよびROLLBACKはSQLトリガーの中では使用できません。
  • プロシージャーが COMMIT ON RETURN YES と定義されているか、あるいは分散作業単位用である場合、COMMIT および ROLLBACK は許可されません。
  • PIPEステートメントは,プロシージャー,スカラー関数,またはトリガーの中では使用できません。
回復手順: ステートメント&1をトリガー・プログラム,ユーザー定義関数,またはプロシージャーから除去します。 要求をやり直してください。
SQLCODE: -751
SQLSTATE: 0W000, 2F003, 38003
SQL0752
メッセージ・テキスト: 接続は変更できない。 理由コードは &1 です。
原因: アプリケーションの処理が接続可能状態でないので,接続を行うことができません。 理由コードは &1 です。 理由コードとそ の意味は次の通りです。
  • 1 -- SQL が接続可能な状態にない。 SQLは,COMMITまたはROLLBACKの後で接続可能状態になります。 COMMIT, ROLLBACK,またはCONNECT以外のSQLステートメントが実行される時に,SQLは接続可能状態を終了します。
  • 2 -- 現行サーバーでコミットメント制御による保留中の変更またはオープンされているファイルがある。CONNECT 要求に指定されたリレーショナル・データベース (RDB) が現行サーバーではありません。
  • 3 -- コミット境界でない時に SQL パッケージ作成要求が処理されている。
  • 4 -- 接続が対話式 SQL の別の呼び出しによってロックされているか、あるいは対話式 SQL 製品と IBM i の間にレベルの不一致がある。
  • 5 -- リモート接続およびジョブ・レベル・コミットメント定義での制約事項により、接続を変更することができない。
  • 6 -- SET TRANSACTION ステートメントが原因で、接続をリモート・システムに 変更することができない。
  • 7 -- 前の接続が保護されているので、*RUW 接続管理を使用して接続を変更することはできない。
  • 8 -- スレッドの補助記憶域プール (ASP) グループのための RDB が &3 であるので、CONNECT RESET では RDB&2 へのローカル接続を開始することができない。
  • 9 -- 活動状態の接続とスレッドの現行 ASP グループの間に不一致がある。
回復手順: 理由コードに基づいて,以下のいずれかを実行してください。
  • 1 -- COMMIT または ROLLBACK ステートメントを出して、接続可能な状態にする。
  • 2 -- コミットメント制御によりオープンされているすべてのファイルをクローズして、COMMIT または ROLLBACK ステートメントを出す。
  • 3 -- COMMIT または ROLLBACK ステートメントを出す。
  • 4 -- 対話式 SQL を終了して、要求をやり直す。 対話式SQL が活動中の場合には,対話式SQLを使用して現行サーバーしか変更することはできません。
  • 5 -- ジョブ・レベル・コミットメント定義に関連したすべての活動化グループはローカルとする。 あるいはローカル接続でなく、1 つのリモート接続だけにはジョブ・レベル・コミットメント定義を関連付けることができます。
  • 6 -- COMMIT または ROLLBACK ステートメントを出す。
  • 7 -- COMMIT の後に保護されている会話を解放する。
  • 8 -- スレッドの ASP グループを、リレーショナル・データベース &2 用の ASP グループに変更する。
  • 9 -- スレッドの ASP グループを、リレーショナル・データベース &2 用の ASP グループに変更するか、あるいは CONNECT または SET CONNECTION ステートメントを 使用して、活動状態の接続を変更する。
SQLCODE: -752
SQLSTATE: 0A001
SQL0771
メッセージ・テキスト: ROWIDの使用が無効です。
原因: 次のいずれかの理由からROWIDが無効です。
  • ROWID 列をもつテーブルは QTEMP には作成できません。
  • テーブルは、NULL 属性のある ROWID 列を使用して作成できません。
  • CREATE VARIABLE ステートメントでは ROWID をタイプとして指定することはできません。
回復手順: ROWIDカラムまたはタイプを除去するか,あるいはテーブルをQTEMP以外のスキーマに作成してください。 要求をやり直してください。
SQLCODE: -771
SQLSTATE: 428C7
SQL0773
メッセージ・テキスト: CASEステートメントのケースが見つかりません。
原因: SQLプロシージャーのルーチン本体にELSE文節のないCASEステートメ ントが指定されています。 CASEステートメントに指定された条件で満たされるもの はありませんでした。
回復手順: 起こりうるすべての条件を処理するようにCASEステートメントを変 更してください。
SQLCODE: -773
SQLSTATE: 20000
SQL0774
メッセージ・テキスト: 複合SQLステートメントの中でステートメントを実行するこ とはできません。
原因:
回復手順:
SQLCODE: -774
SQLSTATE: 2D522
SQL0775
メッセージ・テキスト: 指定されたSQLルーチンではステートメントは使用できませ ん。
原因: SQLプロシージャーのルーチン本体,SQL関数,または複合(動的)ステートメント内に指定されたステートメン トは許可されません。 制約のリストは次の通りです。
  • COMMIT または ROLLBACK ステートメントを SQL プロシージャーのアトミック複合ステートメントや、アトミック複合 (動的) ステートメントに指定することはできません。
  • ATOMIC 複合ステートメントを SQL 関数に指定することはできません。
  • COMMIT、 ROLLBACK、 CONNECT、 DISCONNECT、 SET CONNECTION、 SET RESULT SETS、 および SET TRANSACTION ステートメントを SQL 関数に指定することはできません。
  • プロシージャーに RESULT SET が指定されていない限り、SET RESULT SETS ステートメントを複合 (動的) ステートメントまたは SQL プロシージャー・ルーチン本体に指定することはできません。
回復手順: SQL関数,プロシージャー,または複合(動的)ステートメントからステートメントを除去してくだ さい。
SQLCODE: -775
SQLSTATE: 42910
SQL0776
メッセージ・テキスト: FOR ステートメントに指定されたカーソル &1 は使用できません。
原因: カーソル &1 は、SQL プロシージャーの FOR ステートメントに カーソル名として指定されています。 FORステートメントの中のFETCH, OPEN,またはCLOSE ステートメントにカーソルを指定することはできません。
回復手順: FETCH, OPEN,またはCLOSEステートメントを除去してください。
SQLCODE: -776
SQLSTATE: 428D4
SQL0777
メッセージ・テキスト: CASEのネストの深さが3レベルを超えています。
原因: 単純WHEN文節で使用する場合のSQLのプロシージャー,関数,またはトリガーのルーチン本体のCASEステートメントは,3つのレベルまでネストすることができます。 CASEで検索WHEN文節を使用する場合には,ネストの制限はありません。
回復手順: CASEステートメントを,検索WHEN文節を使用するように変更してください。
SQLCODE: -777
SQLSTATE: 42919
SQL0778
メッセージ・テキスト: 終了ラベル &1 が開始ラベルと同じでありません。
原因: SQL ルーチン本体中の複合、FOR、WHILE、REPEAT、または LOOP ステートメントの終わりに指定されたラベル &1 が、ステートメントの始めのラベルと同じではありません。 開始ラベルが指定されていない場合には,終了ラベルを指定する ことはできません。
回復手順: 複合,FOR, WHILE, REPEAT,またはLOOPステートメントで終了ラベルが開始ラベルと同じであることを確認してください。
SQLCODE: -778
SQLSTATE: 428D5
SQL0779
メッセージ・テキスト: 指定されたラベル &1 が無効です。
原因: ラベル &1 は、SQL ルーチン本体の中の LEAVE ステートメントまたは GOTO ステートメントに指定されています。 このラベルが有効なラベルではないか,あるいは現行ステートメントと同じ有効範囲内にありません。
回復手順: 同じ有効範囲内にある有効なラベルを指定します。 要求をやり直してください。
SQLCODE: -779
SQLSTATE: 42736
SQL0780
メッセージ・テキスト: ハンドラーに指定したUNDOが無効です。
原因: UNDOは,SQLプロシージャー,関数,またはトリガーの中の複合ステートメント中でハンドラーのために指定されています。 複合ステートメントがATOMICでない場合に,UNDOを指定することはできません。 UNDOはトリガーの中では指定できません。
回復手順: ATOMIC複合ステートメントを指定するか,あるいはハンドラーにEXIT またはCONTINUEを指定してください。
SQLCODE: -780
SQLSTATE: 428D6
SQL0781
メッセージ・テキスト: ハンドラーに指定された条件 &1 は定義されていません。
原因: SQL ルーチン本体のハンドラーに指定された条件 &1 は、定義されていません。
回復手順: DECLARE CONDITIONステートメントを使用して条件を定義するか, あるいは条件をハンドラーから除去してください。
SQLCODE: -781
SQLSTATE: 42737
SQL0782
メッセージ・テキスト: ハンドラーに指定された条件値 &1 が正しくありません。
原因: SQL ルーチン本体のハンドラーに指定された条件 &1 は、次 の理由のいずれかのために正しくありません。
  • 条件値は同じ有効範囲内の別のハンドラーによってすでに指定されている。
  • 条件または SQLSTATE が同じハンドラーの中で SQLEXCEPTION、SQLWARNING、または NOT FOUND として指定されている。
回復手順: 条件をハンドラーから除去してください。
SQLCODE: -782
SQLSTATE: 428D7
SQL0783
メッセージ・テキスト: FOR ステートメントのカーソル &1 のための選択リストが正しくありません。
原因: FORステートメントの選択リストには,固有のカラム名が含まれていなければなりません。
  • 選択リストには、重複した列名か名前のない式のいずれかが含まれています。 2 つの列名が同じであった場合には、列名は &2 となります。
  • 選択の FROM 文節は、リモート・サーバーのテーブルを参照しています。
回復手順: FORステートメントに指定された選択リストに固有のカラム名を指定し てください。
SQLCODE: -783
SQLSTATE: 42738
SQL0784
メッセージ・テキスト: 制約 &1 を除去することはできません。
原因: 制約 &1 は CHECK 制約または UNIQUE 制約です。 これは1次キーがヌルでなくなるように強制するか,あるいはROWIDを固有にするものであるので,除去することはできません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • この CHECK 制約によって NULL でなくなることが強制される 1 次キーを除去します。 1次キーが必要な場合には,1次キーを形成するカラムの属性 がNOT NULLになるように変更してから,1次キーを再び追加してください。
  • ROWID 列を除去します。 ROWIDカラムの代わりに識別カラムを使用することもできます。
SQLCODE: -784
SQLSTATE: 42860
SQL0785
メッセージ・テキスト: SQLCODEまたはSQLSTATEの使用が正しくありません。
原因: SQLCODEまたはSQLSTATEがルーチン本体で変数として使用されましたが,次の理由のいずれかのために正しくありません。
  • SQLCODE が INT として宣言されていない。
  • SQLSTATE が CHAR(5) として宣言されていない。
  • 変数が NULL に設定されている。
  • SQLCODE または SQLSTATE が CONSTANT として宣言されています。
回復手順: SQLCODE変数をINTとして宣言し,SQLSTATE変数をCHAR(5)と して宣言してください。 変数を有効な値に設定してください。
SQLCODE: -785
SQLSTATE: 428D8
SQL0787
メッセージ・テキスト: RESIGNALステートメントがハンドラー内にありません。
原因: SQLルーチンの中で指定されたRESIGNALステートメントは,ハンドラーの内部で指定されていなければなりません。
回復手順: RESIGNALステートメントを除去するか,あるいはSIGNALステートメントを使用します。 要求をやり直してください。
SQLCODE: -787
SQLSTATE: 0K000
SQL0788
メッセージ・テキスト: &2 内の MERGE ターゲット &1 で重複行が識別されました。
原因: MERGE ステートメントの USING 文節で識別されている行のセットは、INTO 文節で指定された &2 内のターゲット・テーブルまたはビュー &1 で同じ行を複数回識別しています。 ターゲット・テーブルまたはビュー内の行は,USING文節の入力によって1回しか識別できない場合があります。
回復手順: USING文節で識別されているデータを,ターゲット・テーブルまたはビュー内のどの行も複数回出現しないように変更してください。 要求をやり直してください。
SQLCODE: -788
SQLSTATE: 21506
SQL0789
メッセージ・テキスト: 配列パラメーター &1 にはデフォルト値は無効です。
原因: 配列パラメーター &1 にはデフォルト値を指定できません。
回復手順: パラメーター &1 のデフォルト値を除去してください。 要求をやり直してください。
SQLCODE: -789
SQLSTATE: 429BB
SQL0798
メッセージ・テキスト: GENERATED ALWAYS の列 &1 には値は指定できません。
原因: 列 &1 は GENERATED ALWAYS として定義されているので、それに値を指定することはできません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • 値を INSERT または UPDATE ステートメントから除去するか、あるいは DEFAULT を指定して、その列のシステム値が生成されるようにする。
  • INSERT、UPDATE、または MERGE 文で OVERRIDING SYSTEM VALUE 節を指定して、GENERATED ALWAYS 属性を上書きし、列に値を割り当てます。
  • 組み込みグローバル変数 QSYS2.REPLICATION_OVERRIDE を使用して、INSERT、UPDATE、および MERGE 文で GENERATED ALWAYS として定義されたすべての列の変更を許可します。
  • SET ステートメントから列を除去します。
SQLCODE: -798
SQLSTATE: 428C9
SQL0799
メッセージ・テキスト: アプリケーション・サーバーに特殊レジスター &1 が存在しません。
原因: SET ステートメントが特殊レジスター &1 を参照しています。 この特殊 レジスターがアプリケーション・サーバーに存在しないので,ステートメントの 中で参照することはできません。
回復手順: サポートされない特殊レジスターへの参照をステートメントから除去してください。 要求をやり直してください。
SQLCODE: +799
SQLSTATE: 01527
SQL0802
メッセージ・テキスト: データ変換またはデータ・マッピング・エラー。
原因: エラー・タイプ &3 が起こりました。 エラーのタイプとその意味は次のとおりです。
  • 1 -- 算術オーバーフロー。
  • 2 -- 浮動小数点オーバーフロー。
  • 3 -- 浮動小数点アンダーフロー。
  • 4 -- 浮動小数点変換エラー。
  • 5 -- 正確な結果でありません。
  • 6 -- 数値データが無効です。
  • 7 -- 2 バイト文字セット (DBCS) または UTF-8 データが無効です。
  • 8 -- ゼロによる除算。
  • 9 -- 要求された QUERY についてハッシュ値は計算できません。
  • 10 -- ユーザー定義関数がマッピング・エラーを戻しました。
  • 11 -- 配列結果セットから戻された可変長列で無効な長さが見つかりました。
  • 12 -- 可変長フィールドの連結操作の結果が、結果タイプに使用できる最大長を超えました。
  • 13 -- ブール値は無効です。

FETCH、組み込み SELECT、SET、または VALUES INTO ステートメントのホスト変数への値の割り当て時にエラーが起こった場合には、ホスト変数名は &2 であり、INTO 文節中のホスト変数の相対位置は &1 です。 ホスト変数名が*Nの場合には,検索条件を分析解決しようとしている時にエラーが起こりました。

複数のデータ・マッピング・エラーが起こった場合には、これは最初に起こったエラーの説明です。 その他のデータ・マッピング・エラーについては,前にリストされているジョブ・ログのメッセージを参照してください。

回復手順: このエラーの原因はデータが正しくないかあるいは大きすぎることに あります。 ジョブ・ログ中の前にリストされたメッセージを表示するか(DSPJOBLOGコマンド),あるいはこの画面からF10キー(ジョブ・ログのメッセージの表示)を押して,どの行およびカラムにエラーがあるかを調べてください。 データを訂正し てから,要求を再試行してください。
SQLCODE: +802、-802
SQLSTATE: 01004、01519、01547、01564、01565、22001、 22003、 22012、 22023、22504
SQL0803
メッセージ・テキスト: 重複するキーの値が指定された。
原因: &2 の固有索引または固有制約 &1 が &4 のテーブル &3 の 1 つまたは複数の列に存在しています。 1つまたは複数の値によってこの固有の索引または制約に重複キ ーが生成されるので,この操作を実行することはできません。
回復手順: 重複キーが生成されないように,ステートメントを変更してください 。 どの行に重複するキーの値が入っているかについては,ジョブ・ログ中の前にリス トされたメッセージを調べるか(DSPJOBLOGコマンド),あるいはこの画面でF10キ ー(ジョブ・ログのメッセージの表示)を押してください。
SQLCODE: -803
SQLSTATE: 23505
SQL0804
メッセージ・テキスト: SQLDAまたは記述子域が正しくありません。
原因: エラー・タイプが 2、3、9、12、または 13 である場合、エラーのある項目は &2 で、SQLTYPE または TYPE の値は &3 で、SQLLEN、SQLLONGLEN、または LENGTH の値は &4 です。 エラー・タイプが 13 である場合、不整合が検出されると、&5 が設定されます。 エラー・タイプが &1 のために、指定された SQLDA または記述子域は正しくありません。 エラーのタイプとその意味は次のとおりです。
  • 1 -- SQLN の値がゼロより小さいか、SQLD の値が 0 から 8000 の間にないか、SQLD の値が SQLN の値より大きいか、あるいは SQLD の値が REXX で初期設定されていない。
  • 2 -- SQLTYPE の値が正しくないか、あるいは REXX でサポートされていないかまたは初期設定されていない。
  • 3 -- SQLLEN または SQLLONGLEN の値が正しくないか、あるいは SQLLEN、SQLPRECISION、または SQLSCALE の値が REXX で初期設定されていない。 REXXおよびSQLTYPEが10進数または数値の場合には,SQLPRECISION またはSQLSCALEが初期設定されていません。 そうでない場合には,SQLLENが初期 設定されていません。 SQLTYPEがLOBまたはXML変数の場合には,SQLLONGLENが無効です。
  • 4 -- 配列変数の記述子内の属性が無効です。 配列がヌルの時以外は,レベルO記述子項目内のDATA項目をヌルにすることはできません。
  • 5 -- SQLDA 域が 16 バイト境界上になかった。
  • 6 -- SQLDABC に指定された値が無効である。 この値は,SQLNに指定された項目数に対して十分に大きくないか,あるいは使用 可能な最大値より大きいかのいずれかです。
  • 7 -- SQLN の値が少なくとも SQLD のサイズの 2 倍になっておらず、SQLDA に LOB ホスト変数が見つかった。
  • 8 -- SQLDAID の 7 番目のバイトが '2'、'3'、または '4' でなく、SQLDA に LOB ホスト変数が見つかった。
  • 9 -- DBCLOB ホスト変数に対して SQLDATAL ポインターが NULL でないが、SQLDATAL ポインターによって参照された長さの値が奇数値であった。
  • 10 -- LOB ロケーターの SQLTYPE が LOB ロケーターに関連したタイプと一致していない。
  • 11 -- 行の長さが許可された最大行長より長くなっている。
  • 12 -- 記述子域の項目に TYPE が設定されていない。
  • 13 -- 記述子域の項目の属性に整合性がない。 TYPE, LENGTH, PRECISION, SCALE, DB2_CCSID,およびDATETIME_INTERVAL_CODEは,SET DESCRIPTORステートメントで設定された各項目とそれぞれ整合していなければなりません。
  • 14 -- 記述子域内の LEVEL の値が無効である。
  • 15 -- 記述子域内の DATETIME_INTERVAL_CODE の値が無効である。
  • 16 -- CALL ステートメントで使用された入力および出力の記述子が一致していない。 両方の記述子に,CALLのすべてのパラメーターが組み込まれていて,項目が 一致していなければなりません。ただし,記述子がCALLステートメント のDESCRIBEで構築されている場合を除きます。
  • 17 -- SQLDA に ARRAY SQLTYPE が指定されています。
回復手順: SQLDAまたは記述子域のエラーを訂正して,要求を再試行してください。
SQLCODE: -804
SQLSTATE: 07002、0700E、0700F
SQL0805
メッセージ・テキスト: &2 の SQL パッケージ &1 が DRDA サーバー側に見つからない。
原因: &2 の SQL パッケージ &1 の &4 に対してリモート要求が試みられました。 SQLパッケージは見つかりませんでした。 対話式SQLまたはQUERY管理機能を使 用している場合には,リモート・システムでパッケージを作成する試みが正常に実行 されず,要求したパッケージは存在しません。
回復手順: DB2 FOR IBM I以外のサーバーとの対話式SQLセッションにおけるこの問題の最も一般的な原因は,接続を更新できないことにあります。 このケースでは,パ ッケージを自動的に作成できません。 接続を確実に更新できるようにするためには,リレーショナル・データベースに接続する前に,RELEASE ALLコマンドとCOMMITを続けて実行してください。

そのほかの場合には、SQL パッケージは、CRTSQLPKG コマンドを使用して作成 することができます。 また,RDBパラメーターを指定したSQLプログラムをプリコンパイルしても,システムにSQLパッケージが作成されます。 SQLパッ ケージを作成または復元してください。 アプリケーションを実行し直してください。

対話式 SQL、QUERY 管理機能、または SQL 呼び出しレベル・インターフェースを使用している場合には、そのプロダクトまたはアプリケーションを終了して CL COMMIT または ROLLBACK コマンドを入力してください。 これによって,ローカル・システムで処理を続行できるようになります。 ジョブ・ログを調べて,パッケージが作成されなかった理由を判別してください。 問題を訂正して,対話式SQLまた はQUERY管理機能のセッションを再び試みてください。

SQLCODE: -805
SQLSTATE: 51002
SQL0809
メッセージ・テキスト: 行の長さが3.5ギガバイトを超えます。
原因: INSERTまたはUPDATEステートメントへの入力データとして使用された値の長さにより,行の長さが最大長の3.5ギガバイトを超えることになります。
回復手順: すべてのフィールドの長さの合計が結果として3.5ギガバイト以内の行の長さとなるように,ステートメントを変更してください。
SQLCODE: -809
SQLSTATE: 54018
SQL0811
メッセージ・テキスト: SELECTの結果が複数行ある。
原因: SELECT INTOステートメント,SUBQUERY,またはSETステートメントの 副選択の結果のテーブルに複数の行が入っています。 エラー・タイプは &1 です。 エラー・タイプが1の場合には,SELECT INTOステートメントが複数の行を戻そうと しました。 エラー・タイプが2の場合には,基本述部の副選択が複数の行を作成し ました。 1行しか使用できません。
回復手順: 結果の行が1行だけ戻されるように選択項目を変更して,要求を再試行してください。 複数の結果の行を処理するためには,DECLARE CURSOR, OPEN,およ びFETCHステートメントを使用しなければなりません。 SUBQUERYの場合には,IN, EXISTS, ANY,またはALL述部を使用して,複数の結果の行を処理することができま す。 1行を要求していた場合には,行の重複など,複数行が戻される原因となるデー タ・エラーのある可能性があります。
SQLCODE: -811
SQLSTATE: 21000
SQL0817
メッセージ・テキスト: 更新操作は使用できません。
原因: SET TRANSACTION READ ONLYが実行された後に,テーブルの内容を変更することになるSQLステートメントを実行しようとしたか,あるいはデータベース・オブジェクトを作成または除去しようとしました。
回復手順: SET TRANSACTION READ WRITEを指定するか,あるいはプログラムから更新操作を除去して,再試行してください。
SQLCODE: -817
SQLSTATE: 25006
SQL0818
メッセージ・テキスト: 一貫性トークンが一致しない。
原因: アプリケーション・サーバー &5 上の &4 のパッケージ &3 は、現行の アプリケーション・プログラムと一緒には実行することができません。 これは、アプリケーション・プログラムがパッケージを再作成しないで再コンパイルされたか、あるいはパッケージがバックレベル・バージョンから復元されたためです。
回復手順: CRTSQLPKGコマンドを使用するか,あるいは正しいリレーショナル ・データベースを指定したCRTSQLXXXコマンドを使用して,パッケージを再ビルドして ください。 そうでない場合には,実行するアプリケーション・プログラムと一致するバージョン からパッケージを復元してください。
SQLCODE: -818
SQLSTATE: 51003
SQL0822
メッセージ・テキスト: SQLDAまたは記述子域中のアドレスが正しくありません。
原因: SQLDA または記述子域には、項目番号 &1 に正しくないアドレス、SQLDATA または DATA 値、または SQLIND または INDICATOR 値が入っています。 正しくないアドレスまたは値はタイプ &2 です。
  • タイプ 1 は、SQLDATA または DATA アドレスが正しくないことを示す。
  • タイプ 2 は、SQLIND または INDICATOR アドレスが正しくないことを示す。
  • タイプ 3 は、SQLDA アドレスが正しくないことを示す。
  • タイプ 4 は、行記憶域の大きさが十分でないことを示す。
  • タイプ 5 は、ブロック化 FETCH ステートメントの標識域の大きさが十分でな いことを示す。
  • タイプ 6 は、SQLDATA フィールドが REXX プロシージャー中で 1 つの値に 初期設定されていなかったことを示す。
  • タイプ 7 は、SQLIND フィールドが REXX プロシージャー中で 1 つの値に 初期設定されていなかったことを示す。
  • タイプ 8 は、SQLDATAL アドレスが正しくないことを示す。
回復手順: タイプ 1、2、3、または 8 の場合には、項目 &1 のアドレスを正し いアドレスに変更してください。 タイプ4と5の場合には,要求されたすべての行に 十分な区域を割り振ってください。 タイプ6と7の場合には,SQLDATAまたはSQLIND フィールドを有効な値に初期設定してください。 要求をやり直してください。
SQLCODE: -822
SQLSTATE: 0700C、51004
SQL0827
メッセージ・テキスト: &2 の &1 タイプ *SQLPKG にアクセスすることができない。
原因: &2 の SQL パッケージ &1 は、QSQPRCED API を使用して作成されておらず、QSQPRCED APIによってアクセスできません。CRTSQLPKG または CRTSQLXXX コマンドを使用して作成された *SQLPKG オブジェクトは , QSQPRCED API によって使用することはできません。
回復手順: QSQPRCED APIを使用して新しい*SQLPKGオブジェクトを作成して ください。 APIによって作成されたパッケージを使用するように要求を変更してくだ さい。
SQLCODE: -827
SQLSTATE: 42862
SQL0840
メッセージ・テキスト: 選択した項目数が8000を超えている。
原因: 選択リストに戻された項目数または挿入リストで指定された項目数が最 大の8000を超えています。
回復手順: 選択する項目の数を減らして,要求を再試行してください。
SQLCODE: -840
SQLSTATE: 54004
SQL0842
メッセージ・テキスト: リレーショナル・データベース &1 との接続はすでに存在している。
原因: 次の1つを行おうとしました。
  • 接続が活動状態にある時にリレーショナル・データベースに CONNECT しようとした。
  • 活動状態にあるリレーショナル・データベースとの接続と同じ通信情報が 含まれるリレーショナル・データベースに CONNECT しようとした。

活動状態にあるリレーショナル・データベースは &1 です。

回復手順: CONNECT が指定されている場合には、SET CONNECTION ステートメントを使用 してリレーショナル・データベース &1 を現行接続にするか、あるいは少なくとも 通信情報の部分が &1 用の項目で指定した情報と異なるように、接続しようと しているリレーショナル・データベースの RDB ディレクトリー項目を変更 (CHGRDBDIRE) してください。 APPC接続の場合の通信情報は,リモート・ロケーション,装置記述 ,ローカル・ロケーション,リモート・ネットワークID,モード,およびト ランザクション・プログラムです。 TCP/IP接続の場合の通信情報は,リモート・ロ ケーションおよびポート識別です。
SQLCODE: -842
SQLSTATE: 08002
SQL0843
メッセージ・テキスト: リレーショナル・データベース &1 との接続は存在していない。
原因: SET CONNECTION、RELEASE、または DISCONNECT ステートメントか、または SQLESETI API の呼び出しで、アクティブになっていないリレーショナル・データベース名 &1 を指定しました。
回復手順: 接続が活動状態になっているリレーショナル・データベースの名前を 指定してください。
SQLCODE: -843
SQLSTATE: 08003
SQL0845
メッセージ・テキスト: 順序 &1 の PREVIOUS VALUE は使用できません。
原因: PREVIOUS VALUE 式で &2 中の順序 &1 を指定していますが、値がこのアプリケーション・プロセスで使用可能でありません。
  • PREVIOUS VALUE 式が使用される前には NEXT VALUE 式を評価しなければなりません。
  • 順序が変更または除去された後では NEXT VALUE 式を評価しなければなりません。
回復手順: PREVIOUS VALUE を使用する前に、同じアプリケーション・プロセスで &2 中の順序 &1 で NEXT VALUE 式を評価してください。
SQLCODE: -845
SQLSTATE: 51035
SQL0846
メッセージ・テキスト: IDENTITYカラムまたは順序の属性が有効でありません。
原因: IDENTITY 列または順序でエラー &6 が起こりました。 IDENTITY 列の場合、スキーマ &3 中の &2 はテーブルの名前です。 順序の場合、&3 中の &2 は順序の名前です。
  • コード 1 -- IDENTITY 列のデータ・タイプが INTEGER、BIGINT、SMALLINT、あるいは位取りがゼロの DECIMAL または NUMERIC ではない。 DECIMALまたはNUMERICのIDENTITYカラムは31以下の精度でなければなりません。
  • コード 2 -- START WITH、INCREMENT BY、 MINVALUE、 または MAXVALUE に指定された値が指定されたデータ・タイプの範囲外。
  • コード 3 -- MINVALUE に指定された値が MAXVALUE に指定された値より大きい。
  • コード 4 -- CACHE に指定された値が無効。 CACHEの最小値は2です。
  • コード 7 -- 現在のデータ・タイプが組み込みデータ・タイプで、強く型付けされた特殊タイプのソース・データ・タイプにプロモートできる場合には、順序は強く型付けされた特殊タイプにしか変更不可。 現在のデータ・タイプが強く型付けされた特殊タイプである場合には,そのソース・データ・タイプにしか変更不可。
回復手順: IDENTITYカラムまたは順序に有効な属性を指定してください。 要求をやり直してください。
SQLCODE: -846
SQLSTATE: 42815
SQL0858
メッセージ・テキスト: LU6.2 保護会話のためにリレーショナル・データベース &1 を切断することができない。
原因: 会話が LU6.2 保護会話を使用しているので、DISCONNECT ステートメン トを使用してリレーショナル・データベース &1 を切断することはできません。
回復手順: RELEASEステートメントとその後に続けるCOMMITステートメント を使用して,LU6.2保護会話を終了してください。
SQLCODE: -858
SQLSTATE: 08501
SQL0862
メッセージ・テキスト: ローカル・プログラムがリモート・リレーショナル・データベ ースに接続しようとしている。
原因: &2 のローカル・プログラム &1 がリモート・リレーショナル・データベースに接続しようとしました。 CONNECTステートメントまたはSET CONNECTIONステ ートメントが指定され,指定されたリレーショナル・データベースはリモート・リレ ーショナル・データベースです。
回復手順: SQLプリコンパイル・コマンドにRDBパラメーターを指定してくだ さい。
SQLCODE: -862
SQLSTATE: 55029
SQL0863
メッセージ・テキスト: リレーショナル・データベース &1 では、混合または DBCS CCSID はサポートされない。
原因: 接続は完了しましたが、リモート・リレーショナル・データベース &1 は、 混合または DBCS CCSID をサポートしません。 SBCSデータを使用することができま す。 プロダクト識別は &2 です。
回復手順: 回復は不要です。
SQLCODE: +863
SQLSTATE: 01539
SQL0864
メッセージ・テキスト: 制約が、テーブル &3 の行を更新または削除しようとしました。
原因: &2 の参照制約 &1 が、データ変更テーブル参照によって変更された &4 内のテーブル &3 の行を更新または削除しようとしました。 FROM文節でデータ変更テーブル参照が指定されましたが,データ変更テーブル参照のターゲット・テーブルに同じテーブルを修正する参照制約があります。 同じ行の修正は許可されません。
回復手順: データ変更テーブル参照を FROM 文節から除去するか、または参照制約をテーブル &3 から除去してください。
SQLCODE: -864
SQLSTATE: 560C6
SQL0871
メッセージ・テキスト: 指定したCCSID値が多すぎる。
原因: 文字データ・タイプとコード化文字セットID (CCSID)の固有の 組み合わせが80を超えています。 リモート・データにアクセスする時には,80個の異 なるCCSID値が限界です。
回復手順: アクセスする文字データ・タイプとCCSIDの異なる組み合わせが80を 超えないように要求を変更してください。
SQLCODE: -871
SQLSTATE: 54019
SQL0880
メッセージ・テキスト: SAVEPOINT &1 は存在しないか、このコンテキストでは無効です。
原因: RELEASE TO SAVEPOINTまたはROLLBACK TO SAVEPOINTステートメントが,現行セーブポイント・レベルで存在しているセーブポイントを識別していません。
回復手順: 有効なセーブポイント名を使用するようにステートメントを訂正してから,ステートメントを再試行してください。
SQLCODE: -880
SQLSTATE: 3B001
SQL0881
メッセージ・テキスト: SAVEPOINT &1 はすでに存在しています。
原因: セーブポイント名は現行セーブポイント・レベルで前に定義されていて,既存のセーブポイントか新規のセーブポイントがUNIQUEキーワードによって定義されました。
回復手順: 別のセーブポイント名を使用するか,あるいは既存のセーブポイントがUNIQUE文節を指定しないで作成されていて,そのセーブポイント名の再使用を意図している場合には,UNIQUE文節を省略してください。 既存のセーブポイントは,RELEASE TO SAVEPOINTステートメントを使用して解放することができます。
SQLCODE: -881
SQLSTATE: 3B501
SQL0882
メッセージ・テキスト: セーブポイントが存在していません。
原因: セーブポイント名のないROLLBACK TO SAVEPOINTが試みられましたが,現行セーブポイント・レベルで存在するセーブポイントはありません。
回復手順: セーブポイントを設定するか,あるいはセーブポイントへのロールバックは試みないように,アプリケーションの論理を訂正してください。
SQLCODE: -882
SQLSTATE: 3B502
SQL0900
メッセージ・テキスト: アプリケーションの処理が接続状態になっていない。
原因: 次のいずれかが起こっています。
  • 現行の接続が DISCONNECT ステートメントを使用して切断された。
  • 現行の接続が解放されて、コミットが起こった。
  • 前のエラーでアプリケーションの処理が非接続状態になっている。 ジョブ・ログ表示(DSPJOBLOG) コマンドを使用して,前のエラーを調べてください。
回復手順: 接続状態に入るためには,TOまたはRESET文節を指定したCONNECT ステートメント,またはSET CONNECTIONステートメントを出してください。
SQLCODE: -900
SQLSTATE: 08003
SQL0901
メッセージ・テキスト: SQLシステム・エラー。
原因: SQLシステム・エラーが起こっています。 現在のSQLステートメントを 正常に完了することはできません。 このエラーによって他のSQLステートメントの処 理が妨げられることはありません。 SQLステートメントに問題があって,SQLがそ のエラーを正しく診断していないことを前のメッセージで指示している場合がありま す。 直前のメッセージ ID は &1 でした。 内部エラー・タイプ &2 が起こりました。 プリコンパイル中の場合には,このステートメントから後の処理は続行されません。
回復手順: 前のメッセージを調べて,SQLステートメントに問題があるかどう かを判別してください。 メッセージを表示するためには,対話式で実行中の場合には DSPJOBLOGコマンドを使用するか,あるいはWRKJOBコマンドを使用してプリコンパイルの出力を表示してください。 この戻りコードを受け取ったアプリケーション・プログラムは ,さらにSQLステートメントを試みることができます。 エラーを訂正して,要求をやり直してください。
SQLCODE: -901
SQLSTATE: 58004
SQL0904
メッセージ・テキスト: 資源の限界を超えた。
原因: リソース限界タイプ &1 が、理由コード &2 で超えました。 限界タイプのリストは次の通りです。
  • タイプ 1 は、ユーザー・プロファイルの記憶域限界またはマシンの 記憶域限界を超えたことを示す。
  • タイプ 2 は、マシン・ロック限界を超えたことを示す。
  • タイプ 3 は、QUERY リソース限界を超えたことを示す。 詳細については,前 にリストされたメッセージCPD4365を参照してください。
  • タイプ 4 は、ジャーナル・エラーが起こったことを示す。
  • タイプ 5 は、コミット・ロック限界を超えたことを示す。
  • タイプ 6 は、テーブルの最大サイズに達したことを示す。
  • タイプ 7 は、用意されたステートメント域の最大サイズに達したことを示す。
  • タイプ 8 は、このジョブのためにカーソルの最大数がオープンされたことを示す。
  • タイプ 9 は、ロック・テーブルの最大数の項目がこのジョブで使用されたことを示す。
  • タイプ 12 は、DRDA 通信バッファーの最大サイズを超えたことを示す。
  • タイプ 13 は、ブロック化データの最大容量を超えたことを示す。
  • タイプ 14 は、最大量の記述子スペースが割り振られていることを示す。
  • タイプ 15 は、パラメーターのデフォルト域の最大サイズに達したことを示す。
回復手順: 次のいずれかを実行してください。エラー・タイプ1の場合には,機密保 護担当者に連絡してユーザー・プロファイルの記憶域限界を増やしてもらうか,あるい は一部のオブジェクトを削除して記憶域を解放し,その後で要求を再試行してください。
  • エラー・タイプ 2 の場合には、保持されているマシン・ロックの数が 減少した時に操作をやり直す。
  • エラー・タイプ 3、4、または 5 の場合には、前にリストされているジョブ・ログの回復情報についてのメッセージを参照。
  • エラー・タイプ 6 の場合には、このテーブルから行の一部を別のテーブルに 移動。
  • エラー・タイプ 7 の場合には、これ以上 PREPARE ステートメントを出す前に、HOLD 文節を指定しないで COMMIT または ROLLBACK を出す。
  • エラー・タイプ 8 の場合には、これ以上 OPEN ステートメントを出す前に CLOSE を出す。
  • これがエラー・タイプが 9 の場合には、HOLD 文節のない COMMIT または ROLLBACK を出す。
  • エラー・タイプ 12 の場合には、SQL 要求で提供された列データの合計サイズを減らす。
  • これがエラー・タイプ 13 の場合には、ブロック中の行数を減らす。
  • これがエラー・タイプ 14 の場合には、DEALLOCATE DESCRIPTOR ステートメントを使用して割り振られた記述子の数を減らす。
  • これがエラー・タイプ 15 の場合には、パラメーターのデフォルト値を単純にする。
SQLCODE: -904
SQLSTATE: 57011
SQL0906
メッセージ・テキスト: 前のエラーのために,操作は実行されなかった。
原因: 前のエラーによりカーソル &1 が使用不能となりました。
回復手順: カーソルが使用不能です。 以下のステップを実行します。

1) カーソルをクローズする。

2) カーソルをオープンする。

3) 操作をやり直してください。

SQLCODE: -906
SQLSTATE: 24514
SQL0907
メッセージ・テキスト: データ変更違反が起こった。
原因: トリガー・プログラムの呼び出しを指示したステートメントによって参照 された行が,そのトリガー・プログラムで再び参照されました。 トリガー・プログラ ム内の参照はその行を更新または削除しようとするものです。 これは破壊的なデータ 変更と呼ばれ,これを行うことはできません。
回復手順: エラーの原因となったステートメントをトリガー・プログラムから除 去して,要求を再試行してください。
SQLCODE: -907
SQLSTATE: 27000
SQL0910
メッセージ・テキスト: &2 のオブジェクト &1 タイプ *&3 に保留中の変更がある。
原因: オブジェクト &1 に、コミットメント制御下で行われた未処理の変更があり、それがこの操作を妨げています。 次の1つが起こっていると考えられます。
  • このアプリケーション処理が、コミットメント制御下でこのオブジェクトに対して操作 を実行している。 この操作がコミットされていません。 このアプリケーション処理は,現在, コミットメント制御レベル*NONEを使用して同じオブジェクトを変更しようとしてい ます。
  • 別のアプリケーション処理が、コミットメント制御下でこのオブジェクトに対して操作 を実行している。 この操作がコミットされていません。
  • このアプリケーション処理が、別のコミット定義を使用して、コミットメント制御下で このオブジェクトの操作を実行した。 この操作がコミットされていません。
  • このアプリケーション処理が、コミットメント制御下でこのオブジェクトの操作を実行した。 この操作がコミットされていません。 変更がコミットされるかロールバックさ れるまでは,テーブルを変更することはできません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • ユーザーのアプリケーション処理がコミットされていない操作を出している場合には、このオブジェクトの他の操作を試みる前に COMMIT または ROLLBACK を出すか、あるいは *NONE 以外のコミットメント制御レベルを使用してプログラムから ステートメントを出してください。
  • このオブジェクトでコミットされていない操作を出したアプリケーション処理が ユーザーのアプリケーション処理でない場合には、そのアプリケーション処理が COMMIT または ROLLBACK を実行しなければなりません。
  • ユーザーのアプリケーション処理が別のコミット定義を使用してコミットされていない 操作を出した場合には、そのコミット定義の COMMIT または ROLLBACK を出してください。
  • このオブジェクトの ALTER TABLE ステートメントを試みる前に、COMMIT または ROLLBACK を出してください。
SQLCODE: -910
SQLSTATE: 57007
SQL0913
メッセージ・テキスト: &2 内の行またはオブジェクト &1 タイプ *&3 が使用中である。
原因: &2 の要求したオブジェクト &1 タイプ *&3 が別のアプリケーション処理で使用中であるか、あるいはこのオブジェクト中の行が別のアプリケーション処理またはこのアプリケーション処理の別のカーソルで使用中です。

利用可能な場合、ロックを保持しているジョブは&4である。

回復手順: ジョブ・ログ中の前にリストされたメッセージを調べるか(DSPJOBLOG コマンド),あるいは対話式SQLからこの画面でF10キー(ジョブ・ログのメッセージの表示)を押して,これがオブジェクトまたはレコード・ロック待機タイムアウトであるかどうかを判別してください。

次の1つを実行してください。

  • このオブジェクトが別のアプリケーション処理によってロックされている場合には、このオブジェクトが使用中でない時に、SQL ステートメントをやり直してください。 このオブジェクトを現在使用しているユーザーを調べるためには,オ ブジェクト・ロック処理(WRKOBJLCK)コマンドを使用してください。
  • オブジェクトがスキーマであって、コミットメント制御下でこのスキーマにテーブル、ビュー、または索引を作成しようとした場合には、システム中の他のジョブによって、同じスキーマで活動時保管操作が進行中である可能性があります。 活動時保管処理が完了した時に,要求を再試行してください。
  • 別のアプリケーション処理によってレコードがロックされている場合には、そのレコードが使用中でない時に、SQL ステートメントをやり直してください。 レコード・ロッ ク表示(DSPRCDLCK)コマンドを使用して,そのレコードを現在使用しているユーザー を調べることができます。
  • これが同じアプリケーション処理の別のカーソルによって保留されている レコード・ロックである場合には、この SQL ステートメントを出す前に、ロックを保留しているカーソル位置で COMMIT、ROLLBACK、または別の FETCH ステートメントを出さなければなりません。

このエラーが頻繁に起こる場合には、物理ファイル変更 (CHGPF)、論理ファイル 変更 (CHGLF)、またはデータベース・ファイル一時変更 (OVRDBF) コマンドを使用し て、オブジェクトまたはレコードの待機タイムアウトを変更してください。

SQLCODE: -913
SQLSTATE: 57033
SQL0918
メッセージ・テキスト: ROLLBACKが必要です。
原因: 活動化グループは,他のSQLステートメントを実行する前にROLLBACK を実行することを必要とします。 次のいずれかが起こっています。
  • SQL ステートメントが分散データベース・サーバーを更新したが、このデータベース・サーバーは読み取り専用操作にしか使用できない。
回復手順: ROLLBACK CLコマンドまたはSQL ROLLBACKステートメントを出し て,続行してください。 SQLサーバー・モードが使用された場合は,分散作業単位設定の使用に切り替えることを検討してください。
SQLCODE: -918
SQLSTATE: 51021
SQL0950
メッセージ・テキスト: リレーショナル・データベース &1 がリレーショナル・データ ベース・ディレクトリーの中にない。
原因: リレーショナル・データベース &1 への要求が出されましたが、 しかし,そのリレーショナル・データベース名はリレーショナル・データベース・デ ィレクトリーに見つかりませんでした。
回復手順: 次の1つを実行してください。
  • CONNECT、SET CONNECTION、RELEASE、または DISCONNECT ステートメント または SQL プリコンパイル・コマンドの RDB パラメーターに指定したリレーショナル・ データベースの名前を変更する。
  • リレーショナル・データベース・ディレクトリー項目追加 (ADDRDBDIRE) コマンドを使用して、リレーショナル・データベース・ディレクトリーにリレーショナル・データベース名を追加する。
  • CREATE TABLE ステートメントがノード・グループを指定している場合、このシステムをターゲット・システムのリレーショナル・データベース・ディレクトリーに追加する。
SQLCODE: -950
SQLSTATE: 42705
SQL0951
メッセージ・テキスト: &2 のオブジェクト &1 は変更されなかった。
原因: &2 中のオブジェクト &1 は、そのオブジェクトまたはその関連オブジェクトが同じアプリケーション・プロセス によって使用中であるので変更されませんでした。 テーブルは同じアプリケーション・プロセスで使用中の別のテーブルと の参照制約関係にある可能性があります。
回復手順: カーソルをクローズして,変更要求を再試行してください。
SQLCODE: -951
SQLSTATE: 55007
SQL0952
メッセージ・テキスト: SQLステートメントの処理は終了しました。 理由コードは &1 です。
原因: SQL操作は正常な完了前に終了しました。 理由コードは &1 です。 理由コードとそ の意味は次の通りです。
  • 1 -- SQLCANCEL API が処理された (たとえば ODBC から)。
  • 2 -- 例外の送信によって SQL 処理が終了。
  • 3 -- 異常終了。
  • 4 -- 活動化グループの終了。
  • 5 -- 活動化グループの再利用またはリソースの再利用。
  • 6 -- プロセスの終了。
  • 7 -- EXIT 関数が呼び出された。
  • 8 -- 処理できない例外。
  • 9 -- 長いジャンプが処理された。
  • 10 -- 照会メッセージに対する取り消し応答が受信された。
  • 11 -- データベース・ファイル出口プログラム (QIBM_QDB_OPEN) をオープンする。
  • 12 -- Db2 Mirror ターゲットシステムと通信できません。
  • 0 -- 不明の原因。
回復手順: 理由コードが1の場合には,SQL処理を取り消すクライアント要求が出されました。 その他すべての理由コードの場合には,前のメッセージを参照して,SQL処理が終了した理由を判別してください。
SQLCODE: -952
SQLSTATE: 57014
SQL0969
メッセージ・テキスト: アプリケーション要求元ドライバー・プログラムに要求を渡している時 に,エラーが起こった。
原因: リレーショナル・データベース &1 のアプリケーション要求元ドライバー・プロ グラムに SQL 要求を渡している時に、予期しないエラーが起こりました。 障害の原因については,前にリストされたジョブ・ログのメッセージを参照してください。
回復手順: 問題があればそれを訂正して,要求を再試行してください。
SQLCODE: -969
SQLSTATE: 58033
SQL0971
メッセージ・テキスト: 制約 &4 が検査保留状態にあります。
原因: &3 テーブル &2 で実行していた操作は正常に実行されていません。 &5 の制約 &4 は、理由コード &1 のために強制することはできませんでした。 理由コードとその意味は次の通りです。
  • 1 -- 参照制約違反のために従属ファイルが検査保留状態である。
  • 2 -- 従属ファイルまたは親ファイルのアクセス・パスが正しくない。
  • 3 -- 検査制約違反のためにファイルが検査保留状態である。
回復手順: 理由コード1および3の場合には,CHGPFCSTコマンドを使用して, 制約を使用できなくしてください。 その後でDSPCPCSTコマンドを使用して,検査保 留状態の原因となっているレコードを参照してください。 ファイルのデータを訂正し ,CHGPFCSTコマンドを使用して,制約を使用できるようにしてください。 理由コード2の場合は、EDTRBDAPコマンドまたは Navigator for iのManage Index Rebuildsを使用して、ファイルのアクセスパスを再構築してください。
SQLCODE: -971
SQLSTATE: 57011
SQL0989
メッセージ・テキスト: トリガー &1 が、テーブル &3 内の行を変更しようとしました。
原因: データ変更テーブル参照の &4 内のターゲット・テーブル &3 には、同じテーブルを変更する &2 の AFTER トリガー &1 が付帯しています。 AFTERトリガーによる同じテーブルの変更は許可されません。
回復手順: データ変更テーブル参照をFROM文節から除去するか,データ変更テーブル参照と同じテーブルを変更しないようにAFTERトリガーを変更してください。
SQLCODE: -989
SQLSTATE: 560C3
SQL0990
メッセージ・テキスト: 作業単位の結果が不明である。
原因: 作業単位は完了しましたが,その結果がすべての場所で完全に知られて いるわけではありません。 会話障害が起こって,問題を訂正するために再同期が行 われているか,あるいは資源の1つでROLLBACKが起こりました。
回復手順: ユーザーの処置は不要です。
SQLCODE: +990
SQLSTATE: 01587
SQL1530
メッセージ・テキスト: SET CURRENT DEGREEステートメントは完全には使用可能になっていません。
原因: システム機能DB2 SYMMETRIC MULTIPROCESSINGがシステムに導入されていないために,このマシンで並列処理は使用できません。
回復手順:
SQLCODE: +1530
SQLSTATE: 01623
SQL1583
メッセージ・テキスト: PAGESIZE 値 &1 が正しくありません。
原因: 次の理由のいずれかのために、PAGESIZE 値 &1 が正しくありません。
  • これは、ENCODED VECTOR 索引には指定できない。
  • PAGESIZE の有効値は、8、16、32、64、128、256、および 512 である。
  • PAGESIZE 値が索引のキー長と矛盾している可能性がある。
回復手順: PAGESIZE値を使用できる値の1つに変更してください。 これがENCODED VECTOR指標でないことを確認してください。 要求をやり直してください。
SQLCODE: -1583
SQLSTATE: 428DE
SQL1596
メッセージ・テキスト: &2 の &1 の WITH EMPTY TABLE が正しくありません。
原因: ALTER TABLE では、&2 のテーブル &1 に対して WITH EMPTY TABLE 文節を指定できません。 このテーブルが具体化されたQUERYテーブルであるか,あるいはWITH EMPTY TABLE文節と矛盾する参照制約の親テーブルであるか,のいずれかです。
回復手順: テーブルの名前を変更して,操作を再試行してください。
SQLCODE: -1596
SQLSTATE: 42928
SQL4300
メッセージ・テキスト: JAVAサポートがこのプラットフォームに導入されていないか,正しく構成されていません。
原因: JAVAストアード・プロシージャーおよびユーザー定義関数のサポートが,このサーバーで導入および構成されていません。
回復手順: 必ず,互換性のあるJAVA開発キットを導入してください。
SQLCODE: -4300
SQLSTATE: 42724
SQL4301
メッセージ・テキスト: Java インタープリターの始動または通信が理由コード &1 のために失敗しました。
原因: JAVAインタープリターを開始しようとしているか,それと通信しようとしている間にエラーが起こりました。 理由コードとその意味は次の通りです。
  • 1 -- Java 環境変数または Java データベース構成パラメーターが無効。
  • 2 -- Java インタープリターに対する Java ネイティブ・インターフェース呼び出しに失敗。
  • 4 -- Java インタープリターがそれ自体を終了して、再始動できない。
回復手順: JAVA環境変数またはJAVAデータベース構成パラメーターが無効であることを確認してください。 JAVAインタープリターによって呼び出されたJAVAメソッドがSYSTEM.OUTを使用していないことを確認してください。 内部DB2クラス(COM.IBM.DB2)はユーザー・クラスによって指定変更されません。
SQLCODE: -4301
SQLSTATE: 58004
SQL4302
メッセージ・テキスト: Java ストアード・プロシージャーまたはユーザー定義関数 &1 (特定名 &2) が例外 "&3" で打ち切られました。
原因: JAVAストアード・プロシージャーまたはユーザー定義関数がJAVA例外で打ち切られました。 SQJAVA構成要素トレースがオンになっていると,ジョブの構成要素トレースには打ち切られたメソッドのJAVAスタックのトレースバックが入ります。
回復手順: 例外を除去するためにJAVAメソッドをデバッグしてください。
SQLCODE: -4302
SQLSTATE: 38000
SQL4303
メッセージ・テキスト: Java ストアード・プロシージャーまたはユーザー定義関数 &1 (特定名 &2) が外部名 &3 から識別できませんでした。
原因: このストアード・プロシージャーまたはユーザー定義関数を宣言したCREATE PROCEDURE, ALTER PROCEDURE, CREATE FUNCTION,またはALTER FUNCTIONステートメントに, 間違って形式化されたEXTERNAL NAME文節がありました。 外部名は次のように形式化されていなければなりません:"PACKAGE.SUBPACKAGE.CLASS.METHOD"。
回復手順: ステートメントの外部名を変更してください。 要求をやり直してください。
SQLCODE: -4303
SQLSTATE: 42724
SQL4304
メッセージ・テキスト: Java ストアード・プロシージャーまたはユーザー定義関数 &1 (特定名 &2) が理由コード &4 のために Java クラス &3 をロードできませんでした。
原因: CREATE PROCEDURE, ALTER PROCEDURE, CREATE FUNCTION,またはALTER FUNCTIONステートメントのEXTERNAL NAME文節によって指定されているJAVAクラスをロードできませんでした。 理由コードとその意味は次の通りです。
  • 1 -- クラスが CLASSPATH で見つからない。
  • 2 -- クラスが必要なインターフェース ("com.ibm.db2.app.StoredProc" または "com.ibm.db2.app.UDF") をインプリメントしていなかったか、あるいは Java "public" アクセス・フラグが欠落していた。
  • 3 -- 省略時のコンストラクターが失敗したか使用不能。
回復手順: コンパイル済み".CLASS"ファイルがCLASSPATH(例えば,"/QIBM/USERDATA/OS400/SQLLIB/FUNCTION"の下)に導入されていることを確認してください。 必要なJAVAインターフェースが実装されていて,それが"PUBLIC"であることを確認してください。
SQLCODE: -4304
SQLSTATE: 42724
SQL4306
メッセージ・テキスト: Java ストアード・プロシージャーまたはユーザー定義関数 &1 (特定名 &2) が Java メソッド &3、シグニチャー &4 を呼び出すことができませんでした。
原因: CREATE PROCEDUREステートメントまたはCREATE FUNCTIONステートメントのEXTERNAL NAME文節によって指定されているJAVAメソッドが見つかりませんでした。 その宣言済みの引数リストが,必要としているデータベースと一致していないか,あるいは"PUBLIC"インスタンス・メソッドでないと考えられます。
回復手順: "PUBLIC"フラグおよびこの呼び出しに必要な引数リストをもつJAVAインスタンス・メソッドが存在していることを確認してください。
SQLCODE: -4306
SQLSTATE: 42724
SQL4701
メッセージ・テキスト: 指定された区分が多すぎるか,区分化キーが長すぎる。
原因: 次のいずれかが起こっています。
  • CREATE TABLE ステートメントに指定されたパーティションが多すぎます。
  • ALTER TABLE ステートメントで既存のテーブルにパーティションを追加しようとしましたが、テーブルにすでに最大数のパーティションがあります。
  • パーティション表にパーティションを追加するには、ビューの表参照が多すぎるために従属ビューを変更する必要がありました。
  • 区分化キーが長すぎます。

パーティション・テーブルに入れることができるパーティションの最大数は 256 個です。 区分化キーの最大長は2000です。

回復手順: CREATE TABLEステートメントの場合,区分の数が最大数を超えないように区分の数を訂正するか,キーの長さを減らしてください。 ALTER TABLEステートメントの場合,ADD PARTITION文節またはATTACH PARTITION文節を除去してください。 要求をやり直してください。
SQLCODE: -4701
SQLSTATE: 54054
SQL4729
メッセージ・テキスト: &2 内のプロシージャー &1 は、呼び出しスタックにすでに自律型プロシージャーが含まれているため呼び出すことができません。
原因: &2 内のプロシージャー &1 が自律型として定義されていて、別の自律型プロシージャーがすでに呼び出しスタックにあります。 呼び出しスタック上に存在できる自律型プロシージャーの呼び出しは常に1つだけです。
回復手順: 呼び出しスタックに実行中の自律型プロシージャーが既に1つある場合は,自律型ではないプロシージャーを呼び出してください。
SQLCODE: -4729
SQLSTATE: 51043
SQL4903
メッセージ・テキスト: 関数 &2 のパラメーター &1 の長さが無効です。
原因: 関数 &2 のパラメーター &1 の長さが無効です。
回復手順: 指定されたパラメーターを訂正してから,関数をもう一度呼び出してください。
SQLCODE: -4903
SQLSTATE: 22531
SQL4905
メッセージ・テキスト: 関数 &2 のパラメーター &1 の値が有効範囲内ではありません。
原因: 関数 &2 のパラメーター &1 の値は、このパラメーターの有効範囲外です。 指定されたパラメーターが構造体の場合には,有効な範囲内の値が含まれている可能性がありますが, 全部として考慮すると無効です。 一部の構造体には割り振られたサイズおよび そのサイズのうちどれだけが使用されているかを指定する見出しが含まれています。 割り振られたサイズが使用サイズより小さくするのは無効です。
回復手順: 指定されたパラメーターを訂正してから,関数をもう一度呼び出してください。
SQLCODE: -4905
SQLSTATE: 22531
SQL4917
メッセージ・テキスト: オプション配列のエレメント &1 が無効です。
原因: オプション配列に無効なオプション・タイプまたはオプション値がある要素が含まれています。 配列エレメント &1 にこの値が入っています。
回復手順: オプション配列で渡される値を訂正してください。 この関数を呼び出してください。
SQLCODE: -4917
SQLSTATE: 22531
SQL5001
メッセージ・テキスト: 欄修飾子またはテーブル &2 が未定義です。
原因: 名前 &2 が列名を修飾するために使用されているか、 または RRN、RID、HASHED_VALUE、 PARTITION、NODENAME、NODENUMBER、DBPARTITIONNAME、 DBPARTITIONNUM、 DATAPARTITIONNAME、 または DATAPARTITIONNUM スカラー関数のオペランドとし て指定されているか、あるいは ROW CHANGE TIMESTAMP または ROW CHANGE TOKEN 式用とし て指定されました。 この名前は,このSQLステートメントでテーブル指定子として定義されていないか,あるいはSQLステートメントに指定された場所でテーブル指定子を参照できません。 VALUES全選択のテーブル指定子は,上記のどの関数のオペランドとしても使用できません。

FROM 文節でテーブル名の後に相関名が指定されている場合には、その相関名がテーブル指定子であると見なされます。 相関名が指定されていない場合には ,テーブル名がテーブル指定子であると見なされます。 SQL命名を使用していて,テーブルが認可名で修飾されている場合には,テーブル指定子は認可名.テーブル名で す。 認可名が指定されていない場合には,テーブル指定子は暗黙の認可名とその後に 続くテーブル名です。

ネストされたテーブル式から高位のテーブルへの相関が使用可能なのは、 ネストされたテーブル式の定義に TABLE キーワードが指定されている場合だけです。

名前が *N である場合には、ネストされたテーブル式からの 横方向相関参照は使用できません。 次のいずれかの理由で,ネストされたテーブル式より高いレベルのテーブルに相関付けすることはできません。

  • ネストされたテーブル式に UNION、EXCEPT、または INTERSECT が入っている。
  • ネストされたテーブル式で SELECT 文節に DISTINCT キーワードが使用されている。
  • ネストされたテーブル式に ORDER BY 文節が入っている。
  • 相関付けされたプロバイダーがネストされたテーブル式と同じ FROM 文節にあるが、RIGHT OUTER JOIN、RIGHT EXCEPTION JOIN、または FULL OUTER JOIN の一部である。
  • ネストされたテーブル式が以上の制約のいずれかがある別のネストされたテーブル式の FROM 文節にある。

OLAP 関数で、ORDER OF テーブル指定子は、副選択の FROM 文節のテーブル指定子を参照する必要があります。

回復手順: すべてのカラム名が有効なテーブル指定子で修飾されていることを確認してください。 テーブル指定子が関数の引数として指定されていることを確認してください。 TABLEキーワードを使用して,相関付けされたカラムをネストされたテーブル式内で使用できるようにしてください。 要求をやり直してください。
SQLCODE: -5001
SQLSTATE: 42703
SQL5002
メッセージ・テキスト: テーブル &1 の集合を指定する必要があります。
原因: テーブル &1 は、暗黙でも明示的にも集合名で修飾されていません。 システム命名モードのCREATE TABLEステートメントには,コレク ション名が必要です。
回復手順: テーブル &1 を集合名で明示的に修飾してください。 システ ム命名における修飾テーブル名の正しい形式はコレクション名/テーブル名です。 プ ログラムの場合には,CRTSQLXXXコマンドにDFTRDBCOLパラメーターを指定するこ とによって,テーブル名を省略時のコレクションで暗黙に修飾することができます。 要求をやり直してください。
SQLCODE: -5002
SQLSTATE: 42812
SQL5003
メッセージ・テキスト: コミットメント制御の下ではこの操作を実行することはできな い。
原因: COMMIT(*CHG), COMMIT(*CS),またはCOMMIT(*ALL)が指定されたコミッ トメント制御のもとでは,次の命令を実行することはできません。
  • DROP SCHEMA ステートメント。
  • 権限ホルダーを持つオブジェクトに対する GRANT または REVOKE ステートメント。
  • 権限ホルダーを持つオブジェクトに対する SQL 命名モードの CREATE ステートメント。
  • テキスト検索索引の除去。

これらの命令はコミットまたはロールバックすることはできません。

回復手順: COMMIT(*NONE)を指定して,ステートメントを再試行してください 。
SQLCODE: -5003
SQLSTATE: 42922
SQL5005
メッセージ・テキスト: 演算子 &4 がオペランドと矛盾している。
原因: 指定した演算子は前のオペランドと矛盾しています。 算術演算子(*, /, および**)は,連結演算子,あるいはDIGITSおよびSUBSTRスカラー関数と同時 に使用することができません。

連結演算子は、算術演算子 (* および /) あるいは LENGTH、DECIMAL、FLOAT、または INTEGER スカラー関数など、結果が数値となる他の演算子または関数と同時に使 用することができません。

回復手順: すべての式が正しい数値式,ストリング式,または日付/時刻式にな るように,SQLステートメントを変更してください。
SQLCODE: -5005
SQLSTATE: 42815
SQL5012
メッセージ・テキスト: ホスト変数 &1 が位取りゼロの数字でない。
原因: ホスト変数 &1 が、使用できない位置に指定されています。 ホスト変数は次の理由の1つによって使用できませんでした。
  • 数字でない。
  • 位取りがゼロでない。
回復手順: ホスト変数を位取りがゼロの数字タイプに変更してください。
SQLCODE: -5012
SQLSTATE: 42618
SQL5016
メッセージ・テキスト: 修飾オブジェクト名 &1 は正しくない。
原因: 次のいずれかが起こっています。
  • 修飾オブジェクト名に使用された構文は、指定された命名方式オプションには正しくない。 システム命名方式では,オブジェクト名の修飾形式はスキーマ名/オブジェクト名またはスキーマ名.オブジェクト名です。 SQL命名方式では,オブジェクト名の修飾形式は認可名.オブジェクト名です。
  • 修飾オブジェクト名に使用された構文は許可されない。 QUERYで使用する場合のユーザー定義のタイプ,関数,変数,および順序は,システム命名規則の/分離文字を使用してスキーマ名で修飾することはできません。
回復手順: 次の1つを実行して,要求をやり直してください。
  • SQL 命名規則を使用したい場合には、SQL 命名方式オプションを指定して、「許可 ID.オブジェクト名」の形式でオブジェクト名を修飾します。
  • システムの命名規則を使用したい場合には、システム命名方式オプションを指定して、「スキーマ名/オブジェクト名」または「スキーマ名.オブジェクト名」の形式でオブジェクト名を修飾します。
  • システム命名規則では、ユーザー定義のタイプ、関数、または変数が現行パスに見つかることを確認するか、ピリオド形式の命名を使用してオブジェクトを修飾します。
SQLCODE: -5016
SQLSTATE: 42833
SQL5017
メッセージ・テキスト: GRANTまたはREVOKEに指定されたユーザーが多すぎる。
原因: GRANTまたはREVOKEステートメントで最大の50を超えるユーザーが指 定されました。
回復手順: 最大50のユーザーを指定するように,GRANTまたはREVOKEステートメントを変更してくさい。 要求をやり直してください。
SQLCODE: -5017
SQLSTATE: 54009
SQL5021
メッセージ・テキスト: FOR UPDATE 欄 &1 は無効です。
原因: 次のいずれかが起こっています。
  • ORDER BY 文節に FOR UPDATE 文節の列が指定されました。 カラム名が*Nの場合 には,FOR UPDATE文節にカラムのリストが指定されていません。 これはすべてのカラムをリ ストするのと同じことになります。
  • FOR UPDATE 文節の DATALINK 列が SELECT リストに指定されています。
回復手順: 文節の1つから重複しているカラムを除去してください。 FOR UPDATE文 節にカラムが指定されていない場合には,FOR UPDATE文節またはORDER BY文節のいず れかを取り除いてください。 要求をやり直してください。
SQLCODE: -5021
SQLSTATE: 42930
SQL5023
メッセージ・テキスト: ステートメント名 &1 は前に参照されている。
原因: この DECLARE CURSOR ステートメントで参照されたステートメント &1 は すでに前の DECLARE CURSOR で参照されています。 ステートメント名は1回しかカー ソルと関連づけることはできません。
回復手順: アプリケーション・プログラムまたはREXXプロシージャー中のすべてのDECLARE CURSORステートメントで指定されたステートメント名を調べて,それらが固有である ことを確認してください。 要求をやり直してください。
SQLCODE: -5023
SQLSTATE: 26510
SQL5024
メッセージ・テキスト: 変数 &1 が文字、UCS-2 グラフィック、または UTF-16 グラフィックでありません。
原因: ホスト変数またはグローバル変数 &1 が文字、UCS-2 グラフィック、または UTF-16 グラフィックとして定義されていません。 プリコンパイル済みプログラムまたはREXXプロシージャー内のホスト変数あるいはグローバル変数が以下のものとして使用される場合,これらの変数は文字,UCS-2 図形,またはUTF-16図形でなければなりません。
  • PREPARE または EXECUTE IMMEDIATE ステートメントのステートメント・ストリング。
  • DESCRIBE TABLE ステートメントのテーブル名
  • CALL ステートメントのプロシージャー名。
  • CONNECT、SET CONNECTION、RELEASE、DISCONNECT、SET ENCRYPTION PASSWORD、または SET SESSION AUTHORIZATION ステートメントのサーバー名、権限名、またはパスワード。
  • SET PATH、SET SCHEMA、または SET CURRENT DECFLOAT ROUNDING MODE などの SET 特殊レジスター・ステートメントの特殊レジスター値。
  • SIGNAL ステートメントの SQLSTATE 値またはシグナル情報値。
  • 記述子名。
回復手順: 文字,UCS-2図形,またはUTF-16図形の変数を指定してください。 要求をやり直してください。
SQLCODE: -5024
SQLSTATE: 42618
SQL5027
メッセージ・テキスト: OPTION(*SYS) が有効なのは、リレーショナル・データベース &1 (製品識別番号 &2) が DB2 for IBM i の場合だけです。
原因: SQLパッケージの作成がDB2 FOR IBM I以外のリレーショナル・データベースに対するものである時には,SQL命名が必要です。
回復手順: SQL命名を使用するようにプログラムを変更し,パラメーターOPTION(*SQL) を指定してCRTSQLXXXコマンドを再試行してください。
SQLCODE: -5027
SQLSTATE: 560C4
SQL5028
メッセージ・テキスト: COMMIT(*NONE) が有効なのは、リレーショナル・データベース &1 (製品識別番号 &2) が DB2 for IBM i の場合だけです。
原因: リレーショナル・データベース &1 が別の DB2 for IBM i でない時には、コミット・レベル *CHG、*CS、または *ALL が必要です。
回復手順: プログラムを変更し,コミットメント制御を使用してから,*CHG, *CS, または*ALLを指定したコミットメント制御レベルでCRTSQLXXXを再試行してくだ さい。
SQLCODE: -5028
SQLSTATE: 560C4
SQL5047
メッセージ・テキスト: SRTSEQまたはLANGIDパラメーターの処理中にエラー。 メッセージは &3、&4 です。
原因: SRTSEQ パラメーター &1 および LANGID パラメーター &2 についてソート 順序テーブルを検索しようとした時に、エラーが起こりました。 メッセージ &3 が戻されました。
回復手順: メッセージ &3 の指示に従ってエラーを訂正し、 要求をやり直してください。 ソート順序テーブルが不要な場合には,SRTSEQパラメーターとして*HEXを 指定してください。
SQLCODE: -5047
SQLSTATE: 42616
SQL5051
メッセージ・テキスト: 修飾子 &1 が名前 &2 と同じでない。
原因: 次のいずれかが起こっています。
  • CREATE SCHEMA ステートメントで作成されたオブジェクトは、スキーマ名以外 の名前で修飾されている。 CREATE SCHEMA ステートメントで作成されるすべてのオ ブジェクトは、スキーマ名 &2 で修飾されているか、あるいは修飾しないかのいずれ かでなければなりません。 修飾されていないオブジェクトはスキーマ名によって暗黙 に修飾されます。
  • 制約名がテーブルの修飾子と同じでない名前で修飾されている。 テーブルの制約はテーブルと 同じスキーマによって修飾されていなければなりません。 明示的に修飾されない場合には,制約名は省略時のスキーマ (指定された場合)によって暗黙的に修飾されます。 そうでない場合には,制約名はSQL名の権限IDによって,あるいはシステム名用のテーブル名の修飾子によって暗黙に修飾されます。
  • マスクまたは許可がテーブルの修飾子と同じでない名前で修飾されています。
  • ヒストリー・テーブルとして定義されるテーブルが,システム期間一時テーブルの修飾子と同じでない名前で修飾されています。
回復手順: 次の1つを実行して,要求をやり直してください。
  • スキーマのオブジェクトを &2 で明示的に修飾するか、 あるいはオブジェクト名から修飾子 &1 を除去する。
  • オブジェクト名とテーブル名に同じ修飾子を使用してください。
SQLCODE: -5051
SQLSTATE: 42875
SQL7001
メッセージ・テキスト: &2 中のテーブル &1 がデータベース・ファイルでありません。
原因: SQL処理は,データベース・ファイルの場合にしか使用できません。 これ 以外のすべてのファイル・タイプを使用することはできません。
回復手順: テーブルおよびスキーマの名前が正しいことを確認してください。
SQLCODE: -7001
SQLSTATE: 42858
SQL7002
メッセージ・テキスト: 一時変更パラメーターが正しくない。
原因: SQLステートメントで参照されたファイルの1つに,データベース・ファ イル一時変更(OVRDBF)コマンドが出されました。 SQLの場合にはOVRDBFコマン ドのパラメーターは正しくありません。 どのパラメーターが正しくないかについては ,ジョブ・ログ中のメッセージCPF4276を参照してください。
回復手順: 一時変更を削除してください(DLTOVRコマンド)。 必要な場合には ,正しくないパラメーターなしでOVRDBFコマンドを再び使用して,操作を再試行してください。
SQLCODE: -7002
SQLSTATE: 42847
SQL7003
メッセージ・テキスト: &2 のファイル &1 に複数の様式がある。
原因: SQLは複数の様式をもつファイルを処理することができません。
回復手順: 正しいファイル名が指定されていることを確認してください。 要求をやり直してください。
SQLCODE: -7003
SQLSTATE: 42857
SQL7006
メッセージ・テキスト: スキーマ &1 は除去できません。
原因: &1 はライブラリー・リストにあるスキーマです。
回復手順: DROP を行う前に、ライブラリー・リストから &1 を取り除いてください。 要求をやり直してください。
SQLCODE: -7006
SQLSTATE: 55018
SQL7007
メッセージ・テキスト: COMMIT, ROLLBACK,またはSAVEPOINTは無効です。
原因: COMMIT, ROLLBACK,またはSAVEPOINTステートメントが出されましたが,コミットメント制御が活動状態になっていません。
回復手順: コミットメント制御レベル*NONEを*CHG, *CS,または*ALLに変 更してください。 SET TRANSACTIONステートメントを使用して分離レベルを*NONE以 外の値に変更することができます。 要求をやり直してください。
SQLCODE: -7007
SQLSTATE: 51009
SQL7008
メッセージ・テキスト: 操作には &2 の &1 が正しくない。
原因: 理由コードは &3 です。 理由コードは次の通りです。
  • 1 -- &1 にメンバーがない。
  • 2 -- &1 は記憶域を解放して保管された。
  • 3 -- &1 がジャーナル処理されていないか、またはジャーナルに対する権限がないか、あるいはジャーナル状態が *STANDBY になっている。 CASCADE, SET NULL, SET DEFAULTのRI制約処置のあるファイルは, 必ず同じジャーナルにジャーナル処理してください。

4 および 5 -- &1 は実動ライブラリーに入っているか、またはそこで作成中であるが、 ユーザーはデバッグ・モード UPDPROD(*NO) を指定している。

  • 6 -- スキーマを作成中であるが、ユーザーは UPDPROD(*NO) でデバッグ・モードになっている。
  • 7 -- ビューの作成で使用された基になったテーブルが無効である。 テーブルはプログラム記述であるか, または一時スキーマに入っている。
  • 8 -- 基になったテーブルは、作成中のオブジェクトの ASP とは異なる ASP に常駐している。
  • 9 -- 索引は現在保留されているか、無効である。
  • 10 -- 制約またはトリガーを無効なタイプのテーブルに追加しているか、無効なタイプのテーブルを切り捨てているか、トリガーの最大数に達しているか、または分散テーブルの全ノードが同じリリース・レベルでない。
  • 11 -- 分散テーブルが QTEMP に作成されているか, あるいは複数の分散テーブルにビューが作成されています。
  • 12 -- FILE LINK CONTROL が指定された DATALINK 列が含まれているため、QTEMP、QSYS、 QSYS2、または SYSIBM にテーブルを作成できませんでした。
  • 13 -- テーブルには DATALINK、LOB、または XML 列が入っているが、データ・ディクショナリーと矛盾する。
  • 14 -- ブール, DATALINK, LOB, XML, または IDENTITY カラムを非 SQL テーブルに追加することはできません。
  • 15 -- 別の ASP 内のコミットメント定義を使用してオブジェクトを作成または変更しようとしている。
  • 16 -- &2 中の順序 &1 が CL コマンドによって間違って変更された。
  • 17 -- テーブルは、部分的なトランザクションを含んでいるため、使用可能ではない。
回復手順: 理由コードに基づいて,以下のいずれかを実行してください。
  • 1 -- メンバーを &1 に追加する (ADDPFM)。
  • 2 -- &1 を復元する (RSTOBJ)。
  • 3 -- &1 のジャーナル処理を開始 (STRJRNPF) するか、またはそのジャーナルにアクセスするか、あるいはジャーナル状態を *ACTIVE (CHGJRN) に変更する。

4、5、または 6 -- UPDPROD(*YES) を指定した CHGDBG コマンドを実行する。

  • 7 -- QTEMP 内のテーブル名またはプログラム記述ファイルを除去する。
  • 8 -- 同じ ASP 内のテーブルを使用する。
  • 9 -- EDTRBDAP を使用してアクセス・パスの順序を HELD から 1-99 または *OPN に変更するか, あるいは固有索引または制約を再作成または削除してください。
  • 10 -- 操作に有効なテーブルを指定する。
  • 11 -- QTEMP 以外のスキーマを指定するか、1 つの分散テーブルについてのみビューを作成する。
  • 12 -- QTEMP、QSYS、QSYS2、または SYSIBM 以外のスキーマを指定する。
  • 13 -- データ・ディクショナリーが入っていないスキーマを指定するか, あるいはサポートされていないカラムを除去してください。
  • 14 -- SQL テーブルを指定する。
  • 15 -- 現行コミットメント定義と同じ ASP 内のオブジェクトを指定するか、 または現行コミットメント定義を終了する。
  • 16 -- 別の順序を指定するか, あるいは順序 & 1 と関連したデータ域を削除して, 順序を再作成してください。
  • 17 -- ジョブ・ログ内の直前のメッセージを調べてください。
SQLCODE: -7008
SQLSTATE: 55019
SQL7009
メッセージ・テキスト: 操作には &2 の &1 が正しくない。
原因: 理由コードは &3 です。 理由コードは次の通りです。
  • 40 -- グローバル一時テーブルまたは QTEMP 内のテーブルには行または列のアクセス制御を定義できません。
  • 45 -- テーブルには、日付または時刻の形式が同じではない日付または時刻として定義された複数の列が含まれています。
  • 47 -- &2 内の外部関数 &1 は、関連したプログラムまたはサービス・プログラムが SECURED としてマークできないので、SECURED として作成できません。
  • 53 -- 復元時に遅延した実体化QUERYテーブルは,REFRESH TABLEを使用してリフレッシュしたり,ALTER TABLEを使用して変更できません。
  • 54 -- データ変更テーブル参照のターゲットが分散ファイルです。
  • 55 -- 分散テーブル&1が要求元システムに存在していますが,ターゲット・システムに存在しません。
  • 56 -- &2内のフィールド・プロシージャー&1が失敗しました。
  • 57 -- &2内のサービス・プログラム&1はグローバル変数ではありません。
  • 58 -- &2内のMERGEターゲット&1は,SQLビューではない,複数のメンバーを持つ論理ファイルです。
  • 59 -- バージョン管理の関係が設定されていないため、システム期間一時テーブルは、挿入、更新、削除、マージ用に使用できなかったか、または変更できませんでした。
  • 60 -- &2の&1のメンバー数が無効です。
  • 80 -- QTEMP のテーブルに RESTRICT ON DROP を追加できません。
  • 81 -- テーブルのジャーナル・ステータスがメンバーの操作を妨げています。
回復手順: 理由コードに基づいて,以下のいずれかを実行してください。
  • 40 -- 別のライブラリーにテーブルを作成してから,行またはカラムのアクセス制御を定義してください。
  • 45 -- 同じ日付または時刻の形式を持つように列を変更してください。
  • 47 -- 新しい関数の属性で更新できる SQL 関連スペースを持つ既存の ILE *PGM または *SRVPGM の名前を指定してください。
  • 53 -- 実体化QUERYテーブルの基本ファイルおよびそのメンバーが使用可能である状態にしてください。 次に,オブジェクトの保管(SAVOBJ)およびオブジェクトの復元(RSTOBJ)コマンドを使用して,遅延した実体化QUERYテーブルを保管および復元してください。
  • 54 -- 分散ファイルではないデータ変更テーブル参照を指定してください。
  • 55 -- 要求元およびターゲット・システムに存在する別のテーブルを指定してください。
  • 56 -- フィールド・プロシージャーが有効になるようにしてください。
  • 57 -- 別の変数を指定するか,または&2内の変数&1に関連付けられているサービス・プログラムを削除し,グローバル変数を再作成してください。
  • 58 -- SQLビューおよびSQLテーブルを指定するか,メンバーが1つだけの論理ファイルを指定してください。
  • 59 -- ヒストリー・テーブルが存在していることを確認してください。 ALTER TABLEを使用してシステム期間一時テーブルのバージョン管理を除去してから, ALTER TABLEを使用してバージョン管理を追加してください。
  • 60 -- 有効なSQLテーブルを指定してください。
  • 80 -- 異なるスキーマのテーブルを指定する。
  • 81 -- ジョブログの前のメッセージを参照。
SQLCODE: -7009
SQLSTATE: 55019
SQL7010
メッセージ・テキスト: CREATE VIEW の場合には、&2 の論理ファイル &1 は正しくない。
原因: CREATE VIEW の副選択文節に &2 の論理ファイル &1 が指定されています。 論理ファイルの上にビューを作成することはできません。
回復手順: CREATE VIEW ステートメントから論理ファイル &1 を取り除いて、 要求をやり直してください。
SQLCODE: -7010
SQLSTATE: 42850
SQL7011
メッセージ・テキスト: &2 の &1 は、テーブル、ビュー、または物理ファイルでない。
原因: SQL ステートメント &3 をテーブル、ビュー、単一形式の論理ファイル、 または物理ファイルでないファイルで実行することはできません。
回復手順: 次の1つを実行してください。
  • 制御言語 (CL) コマンドを使用してこの機能を実行する。
  • 正しいテーブル、ビュー、論理ファイル、または物理ファイルを選択する。
SQLCODE: -7011
SQLSTATE: 42851
SQL7017
メッセージ・テキスト: 指定されたコミット・レベルでステートメントを実行すること ができない。
原因: SQLはコミットメント制御で資源を登録できないので,SQLは指定されたコミット・レベルでステートメントを実行することができません。
回復手順: 詳細については,前のメッセージを参照してください。
SQLCODE: -7017
SQLSTATE: 42971
SQL7018
メッセージ・テキスト: COMMIT HOLDまたはROLLBACK HOLDを使用することはできない 。
原因: DB2 for IBM i ではないアプリケーション・サーバーに対してか、またはアプリケーション・リクエスターから、COMMIT HOLD または ROLLBACK HOLD が試みられました。 HOLD を使用できるのは、アプリケーション・サーバーとアプリケーション・リクエスターの両方が DB2 for IBM i である場合のみです。
回復手順: HOLDを除去して,再びステートメントを投入してください。
SQLCODE: -7018
SQLSTATE: 42970
SQL7020
メッセージ・テキスト: SQLパッケージの作成が正常に実行されなかった。
原因: SQLステートメントを実行するためには,アプリケーション・サーバーに SQLパッケージが存在していなければなりません。 このためのパッケージの作成がアプリケーション・サーバーで正常に実行されず、SQLCODE &1、SQLSTATE &2 が戻されました。 作成しようとしたパッケージの名前はリモート・リレーショナル・データベース &5 のスキーマ &4 の &3 でした。
回復手順: SQLCODE &1 および SQLSTATE &2 の指示に従って応答してください。 コミットメント制御を実行中の場合には,対話式SQLまたはQUERY管理機能を終 了して,CL COMMITまたはROLLBACKコマンドを出してください。 これによって,ローカル・システムで処理を続行できるようになります。
SQLCODE: -7020
SQLSTATE: 42969
SQL7021
メッセージ・テキスト: アプリケーション・サーバーでローカル・プログラムを実行し ようとしている。
原因: アプリケーション・サーバーである処理で,SQLプログラムを実行しよ うとしています。
回復手順: 別のジョブを開始して,そのジョブの中でSQLプログラムを実行し てください。
SQLCODE: -7021
SQLSTATE: 57043
SQL7022
メッセージ・テキスト: ユーザー &1 が現行ユーザー &2 と同じでない。
原因: 次の1つが起こりました。
  • ローカル・リレーショナル・データベース名を 指定した CONNECT ステートメントでユーザー &1 が指定されている。 指定されたユーザーが、現行ジョブのユーザー &2 と同じではありません。
  • ユーザー &1 が CONNECT ステートメントに指定されているが、 接続方式 *DUW を使用する指定のリレーショナル・データベースに対して &2 を 使用する接続がすでに存在している。
回復手順: ローカル・リレーショナル・データベースへの接続の場合には,CONNECT で指定されたユーザーが現行ジョブのユーザーIDと同じになるように,ステートメ ントを変更してください。

リモート・リレーショナル・データベースへの接続の場合には、 SET CONNECTION ステートメントを使用して既存の接続を使用するか、あるいは現行接続 を終了して新しいユーザー ID で CONNECT ステートメントを出してください。

SQLCODE: -7022
SQLSTATE: 42977
SQL7024
メッセージ・テキスト: CCSIDが矛盾しています。
原因: 索引またはTOグループ・カラムを作成しようとしましたが,カラムのCCSIDに矛 盾があります。 ソート順序が*HEXではありません。 ステートメントが CREATE INDEX である場合には、 スキーマ &2 中に索引 &1 が作成されませんでした。 ソート順序が*HEXで ない場合には,GROUP BY文節の文字キー・カラムまたは文字カラムのCCSIDは関連づけられた CCSIDでなければなりません。 関連付けられたCCSIDは,すべて同じ1バイト・コード・ページを持つ必要があります。
回復手順: 次の1つを実行してください。
  • - ソート順序を *HEX に変更して、ステートメントをやり直します。
  • - 列の CCSID を 65535 または関連付けられた CCSID になるように変更して、 ステートメントをやり直します。
SQLCODE: -7024
SQLSTATE: 42876
SQL7026
メッセージ・テキスト: 補助記憶域プール &4 または &5 が見つかりません。
原因: 補助記憶域プール (ASP) &4 または装置名 &5 がシステムまたは スレッドの ASP グループに存在していないので、&2 のタイプ *&3 の オブジェクト &1 は作成されませんでした。
回復手順: 正しいASP番号またはASP装置名を指定して,要求を再試行してください。
SQLCODE: -7026
SQLSTATE: 42896
SQL7027
メッセージ・テキスト: &2 のオブジェクト &1 タイプ *&3 に対する指定された特権を GRANT することはできない。
原因: &2 のタイプ *&3 のビュー &1 に対して GRANT 操作が試みられました。 この操作は &5 の基礎ファイル &4 に対する追加特権を指定されたユーザーに認可す るものなので、この操作を実行することはできません。 ユーザーは,基礎ファイルに 対して*OBJOPRまたは*OBJMGTシステム特権をもっています。
回復手順: 次の1つを行うことができます。
  • &4 に対する指定された特権を認可する。
  • 機密保護担当者またはオブジェクト所有者から必要な権限をもらう。
  • &4 に対する現在の権限を削除する。

操作を再試行してください。

SQLCODE: -7027
SQLSTATE: 42984
SQL7028
メッセージ・テキスト: 所有者と1次グループを同じにすることはできない。
原因: オブジェクトの作成を試みている時に,SQLがそのオブジェクトの所有 者を変更しようとしました。 新しい所有者はそのオブジェクトの1次グループと同じ でした。 これは許可されません。
回復手順: ユーザー・プロファイルの1次グループを変更して,要求を再試行し てください。
SQLCODE: -7028
SQLSTATE: 42944
SQL7029
メッセージ・テキスト: システム名 &3 を指定できません。
原因: CREATE TABLE、CREATE VIEW、CREATE INDEX、CREATE VARIABLE、CREATE SEQUENCE、RENAME、または CREATE SCHEMA の場合、& 2 の & 1、& 3 がシステム名として指定されました。 CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE VARIABLE, CREATE SEQUENCE,またはRENAMEステートメントに 2つの名前が指定された場合には,SYSTEM NAMEの後に続く名前のみを有効なシステム名とすることができます。 REPLACEオプションを使用したCREATE TABLE, CREATE VIEW, CREATE VARIABLE, またはCREATE SEQUENCEでは,元のシステム名と新しいシステム名は同じでなければなりません。 CREATE SCHEMAステートメントに2つの名前が指定された場合には,FOR SCHEMAの後に続く名前のみを有効なシステム名とすることができます。
回復手順: 次の1つを実行して,要求をやり直してください。
  • SYSTEM NAME 文節または FOR SCHEMA 文節を除去してください。
  • CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE VARIABLE, RENAME,またはCREATE SCHEMAに指定された最初の名前を,システム名として無効な名前になるように変更してください。
SQLCODE: -7029
SQLSTATE: 428B8
SQL7030
メッセージ・テキスト: &3 中のテーブル &2 の別名 &1 はステートメントに正しくありません。
原因: 別名 &1 はスキーマ &3 中のテーブル &2 のメンバーを参照しているので、この別名に対して SQL ステートメントを実行できません。
回復手順: 有効なテーブルを指定するか,メンバーを参照しない別名を指定してください。 要求をやり直してください。
SQLCODE: -7030
SQLSTATE: 55042
SQL7031
メッセージ・テキスト: ソート順序テーブル &1 が長すぎます。
原因: &2 のソート順序テーブル &1 は 31560 バイトより長い UCS-2 ソート 順序テーブルです。 これを分散リレーショナル・データベース・アーキテクチャー (DRDA)で使用することはできません。
回復手順: 分散リレーショナル・データベース・アーキテクチャー(DRDA)に使 用する別のソート順序テーブルを指定してください。
SQLCODE: -7031
SQLSTATE: 54044
SQL7032
メッセージ・テキスト: SQL プロシージャー、関数、トリガー、または変数 &1 が &2 に作成されていません。
原因: &2内のSQLプロシージャー,関数,トリガー,または変数&1,あるいは複合(動的)ステートメントのプログラムが作成されていません。

コンパイルまたはバインドが正常に行われませんでした。 SQLは,組み込みSQLが含まれているCプログラムとして,SQLプロシージャー,関数,トリガー,変数,または複合(動的)ステートメントを作成します。 CREATE PROCEDURE,ALTER PROCEDURE,CREATE FUNCTION,ALTER FUNCTION,CREATE TRIGGER,CREATE VARIABLE,または複合(動的)ステートメントの初期構文解析中に見つからなかったエラーは,プリコンパイル時に検出できます。

回復手順: コンパイル・エラーが起こった場合には,QSYSPRT中の適切なリストを参照してください。
  • SQL プリコンパイルが失敗した場合には、常にそのエラーに関するリストがあります。
  • C コンパイルが失敗した場合には、要求した場合にだけリストが作成されます。 リストが必要な場合には,CREATE PROCEDURE, CREATE FUNCTION,またはCREATE TRIGGERステートメントのルーチン本体の前にSET OPTION OUTPUT=*PRINTを指定してください。
  • バインドが失敗した場合には、要求した場合にだけリストが作成されます。 リストが必要な場合には,CREATE PROCEDURE,CREATE FUNCTION,またはCREATE TRIGGERステートメントのルーチン本体の前にSET OPTION BINDOPT='DETAIL(*BASIC)'を指定してください。

複合(動的)ステートメントのこれらのエラーを表示するには,それをCREATE PROCEDUREステートメントに一時的に変更してください。

SQLCODE: -7032
SQLSTATE: 42904
SQL7033
メッセージ・テキスト: &2 の別名 &1 は使用できない。
原因: 別名 &1 は使用できません。 このプログラムは,別名がサポートされる 前のリリースでコンパイルされたものです。 このプログラムが使用しているテーブル 名は現在,別名として定義されています。
回復手順: 別名をサポートしているリリースでプログラムを再コンパイルするか ,あるいはシステムから別名を除去してください。
SQLCODE: -7033
SQLSTATE: 42923
SQL7034
メッセージ・テキスト: COMMIT(*NONE)の場合には,LOBまたはXMLロケーターを使用できません。
原因: コミットメント制御レベルが*NONEまたは*NCの場合には,LOBおよびXMLロケーターを使用することはできません。
回復手順: コミットメント制御レベル*CHG, *UR, *CS, *ALL, *RS,または*RR を使用してください。
SQLCODE: -7034
SQLSTATE: 42926
SQL7036
メッセージ・テキスト: SQLDAにはシステム・ユーザー定義タイプ名が使用される。
原因: SQLDAの拡張SQLVAR項目で戻されるユーザー定義タイプ名が19文字を 超えています。 SQLNAME項目にはスペースが足りないので,代わりにシステム名が使 用されます。 システム名は10文字です。
回復手順:
SQLCODE: +7036
SQLSTATE: 01634
SQL7037
メッセージ・テキスト: &2 の分散ファイル &1 内のデータを再分散することはできない。
原因: ノード・グループ,区分化ファイル,区分化キー,または区分化キーの属性を変更しようとしました。 これらの変更でデータが再配布されることになりますが、&2 のファイル &1 中のデータには FILE LINK CONTROL が指定された DATALINK が含まれているので再配布できません。
回復手順: データが再分散されないように要求を変更し,この機能を再試行して ください。
SQLCODE: -7037
SQLSTATE: 42835
SQL7038
メッセージ・テキスト: &2 の &1 にはカスケード削除は有効ではありません。
原因: 削除連鎖規則は DATALINK 列が含まれているので &2 の &1 に追加できません。
回復手順: DATALINKカラムを除去するか,あるいは指定した削除連鎖規則を除去してください。
SQLCODE: -7038
SQLSTATE: 429B7
SQL7048
メッセージ・テキスト: トリガーが無効なので,操作はできません。
原因: スキーマ &2 の作動不能トリガー &1 の結果として SQL テーブルまたは ビューのオープンが失敗しました。 カーソルの挿入,更新,削除,またはオープン・ステートメントが原因でオープンできませんでした。
回復手順: &2 の &1 を除去して再作成します。 オープンが失敗したファイルの名前については,直前のCPF418Aエスケープ・メッセージを参照してください。 先行しているCPF418Aは見つかった無効なトリガー ごとのCPD502Bメッセージです。 無効なトリガーが付加されたSQLテーブルを判別するには,SYSTRIGGERSカタログも使用できます。
SQLCODE: -7048
SQLSTATE: 51037
SQL7049
メッセージ・テキスト: 内部オブジェクトの限界を超えました。
原因: 内部オブジェクトの限界が検出されたために,SQLステートメントは正常に実行できません。 理由コードは &1 です。 操作は次の理由のいずれかのために失敗しました。
  • 1 - 結果セットがオープンされているストアード・プロシージャーの最大数を超えた。
  • 2 - 結果セットの処理中に内部スペースの限界に達した。
  • 3 - SQL プロシージャー、関数、またはトリガーの C プログラムの作成中に限界に達した。
  • 4 - SQL プログラムまたはパッケージ・サイズに対する内部制限に達しました。 &3 タイプ *&4 の &2 が限界に達しました。
  • 5 - 配列のサイズは 4 ギガバイトを超えることができない。
  • 6 - &3 内のタイプ *&4 の &2 に定義できる許可およびマスクの数を超えた。
回復手順: 理由コードとその回復手順は次の通りです。
  • 1 - 結果セットを取り出すか、あるいはストアード・プロシージャーについてオープンされている結果セットをクローズしてください。
  • 2 - オープンされている 1 つまたは複数の結果セットを取り出しまたはクローズするか、あるいは配列結果セットのサイズを減らしてください。
  • 3 - SQL ステートメントの数を減らして、SQL ルーチンを修正してください。
  • 4 - プログラムまたはパッケージの SQL ステートメントの数を減らすか、または一部の SQL ステートメントを別のモジュールに移動して、プログラムまたはパッケージを再コンパイルしてください。
  • 5 - 4 ギガバイトの制限を超える配列は参照しないでください。
  • 6 - &3 内のタイプ *&4 の &2 の行および列のアクセス制御要件を分析するか、マスクおよび許可を少なくするか、単純にしてください。
SQLCODE: -7049
SQLSTATE: 54035
SQL7050
メッセージ・テキスト: 結果セットが &2 のプロシージャー &1 から利用不能です。
原因: SQL CALL ステートメントが &2 のプロシージャー &1 に対して実行されました。 &3 個の結果セットがオープンされましたが、処理する前にクローズされていました。 これは,活動化グループの終了,またはSQLカーソルをクローズする他の何らかの機能(資源再利用(RCLRSC) CLコマンドなど)が原因である可能性があります。 また,これが起こる可能性があるのは,プロシージャーにRESULT SETSステートメントが含まれていて,そのステートメントでエラーが起こった場合です。
回復手順: プロシージャーが活動化グループとして*NEWを指定して作成されていた場合には,*CALLERまたは名前付き活動化グループに変更します。 SQLカーソルをクローズしていると考えられる機能をすべて除去します。 プロシージャーにSET RESULT SETSステートメントが含まれている場合には,それが正常に完了していて,オープンされていないカーソルが識別されていないことを確認してください。
SQLCODE: +7050
SQLSTATE: 01646
SQL7051
メッセージ・テキスト: MODE DB2SQL BEFOREトリガーはMODE DB2ROWに変換されます。
原因: トリガーの前のMODE DB2SQLはサポートされていません。 &2 の SQL トリガー &1 は、MODE DB2SQL から MODE DB2ROW に変換されます。
回復手順: MODE DB2ROWはすべてのBEFOREトリガーに指定されている必要があります。 ステートメントを変更して,要求を再試行してください。
SQLCODE: +7051
SQLSTATE: 01647
SQL7052
メッセージ・テキスト: オブジェクト &1 タイプ *&3 を &2 に作成できません。
原因: &2 にオブジェクト &1 タイプ &3 を作成しようとしましたが、ライブラリーがユーザー・オブジェクトには有効でないために失敗しました。
回復手順: 別のライブラリーを使用して操作を実行してください。
SQLCODE: -7052
SQLSTATE: 55050
SQL7053
メッセージ・テキスト: リレーショナル・データベース・ディレクトリーが利用不能です。
原因: リレーショナル・データベース (RDB) &1 に接続しようとしましたが、 RDB ディレクトリーが使用できないために失敗しました。 補助記憶域プール(ASP)装置の場合には,オンへの構成変更操作が進行中の場合があります。
回復手順: いずれかのASP装置でオンへの構成変更操作が進行中である場合には,その操作が完了するまで待ってください。 再試行に失敗した場合には,コマンドRCLSTG SELECT(*DBXREF)の実行が必要なことがあります。
SQLCODE: -7053
SQLSTATE: 57011
SQL7054
メッセージ・テキスト: 出口プログラム &1 のためにオープンが失敗しました。
原因: ADDEXITPGM EXITPNT(QIBM_QDB_OPEN) FORMAT(DBOP0100)コマンドを使用して, オープンされているすべてのファイルを調べるために,出口プログラムが導入されました。 出口 プログラムがこのオープン要求を終了しました。
回復手順:
SQLCODE: -7054
SQLSTATE: 58002
SQL7055
メッセージ・テキスト: カーソル &1 があいまいです。
原因: カーソル &1 は、プロシージャーの別の呼び出しによってすでにオープンされている、同じ名前を持つ別のカーソルがあるため、あいまいになります。
回復手順: プロシージャーの別の起動でオープンされた,同じ名前の他のすべてのカーソルをクローズするか,あるいはこのSET RESULT SETSステートメントに指定された結果セットの設定にカーソルを組み込んでください。 要求をやり直してください。
SQLCODE: -7055
SQLSTATE: 24502
SQL7056
メッセージ・テキスト: 理由 &1 でデータベース・サポートは利用できません。
原因: 必要なライセンス・プログラムが導入されていません。 理由コードは &1 です。
  • 1 - Java Developer Kit 5.0 ( 5770JV1 ) または Portable App Solutions Environment ( 5770-SS1 ) がインストールされていません。
  • 2 - IBM Advanced Data Security for i ( 5770SS1 オプション 47) がインストールされていません。
回復手順: 必要なライセンス・プログラムが正しく導入されていることを確認してください。 要求をやり直してください。
SQLCODE: -7056
SQLSTATE: 560CR
SQL7057
メッセージ・テキスト: &1 が PROGRAM TYPE MAIN に変更されました。
原因: &2 内の SQL プロシージャー &1 が PROGRAM TYPE SUB から PROGRAM TYPE MAIN に変更されました。 このプロシージャーの特定名は &3 です。 PROGRAM TYPE SUBプロシージャーはILE *SRVPGMを使用して実装されますが,PROGRAM TYPE MAINプロシージャーはILE *PGMを使用して実装されます。 ILE *SRVPGMのプロシージャー呼び出し処理はILE *PGMのプロシージャー呼び出し処理より高速であるため,最上のパフォーマンスを達成するためには,PROGRAM TYPE SUBオプションを使用してSQLプロシージャーを作成すると有益です。 このメッセージを受け取った場合は,ALTER PROCEDURE SQLステートメントまたはRESTORE OBJECT (RSTOBJ)システム・コマンドの代わりに,プロシージャーがPROGRAM TYPE SUBからPROGRAM TYPE MAINに変更されることを示します。
回復手順: CREATE PROCEDUREを使用してプロシージャーを再作成するか,またはALTER PROCEDURE SQLステートメントを使用してプロシージャーを変更してください。
SQLCODE: +7057
SQLSTATE: 01693
SQL7058
メッセージ・テキスト: &2 内のテーブル &1 は、MERGE ステートメントでは使用できません。
原因: スキーマ &2 内のテーブル &1 は、トリガーを持っているか、CASCADE、SET NULL、または SET DEFAULT の削除規則を持つ参照制約の親であるため、グローバル変数、関数、または副選択を含む MERGE ステートメントのターゲットとして指定できません。 &1 がビューの場合、ビュー定義はこうした属性を持つテーブルを参照できません。
回復手順: MERGE に &2 内のテーブル &1 を指定するには、グローバル変数、副選択、または関数を除去してください。 要求をやり直してください。
SQLCODE: -7058
SQLSTATE: 560D1
SQL7059
メッセージ・テキスト: &2 内のプロシージャー &1 の活動化グループが無効です。
原因: &2 内のプロシージャー &1 によって参照されるプログラムまたはサービス・プログラムの活動化グループは、次の理由の 1 つで無効です。
  • プロシージャー &1 は、自律型外部プロシージャーとして定義されていますが、外部プログラムまたはサービス・プログラムが活動化グループ QSQAUTOAG で実行するようには作成されていません。 活動化グループQSQAUTOAGで自律型プロシージャーを実行する必要があります。
  • プロシージャー &1 は、自律型外部プロシージャーではありませんが、外部プログラムまたはサービス・プログラムが活動化グループ QSQAUTOAG で実行するようには作成されています。 活動化グループQSQAUTOAGで実行できるのは自律型プロシージャーだけです。
回復手順: プロシージャー,プログラム,またはサービス・プログラムを変更して,要求を再試行してください。
SQLCODE: -7059
SQLSTATE: 51047
SQL7061
メッセージ・テキスト: 理由コード &4 のため、&2 内の &1 で操作が許可されませんでした。
原因: 2タイプ*&3の&1 は、 Db2 ミラーレプリケーションのため、要求された操作に使用できません。 理由コードは次の通りです。
  • 66 -- &1 は、ミラー保護されていないテーブルを使用した参照制約の一部です。
  • 67 -- &1 は、一時テーブルまたはヒストリー・テーブルです。 一時テーブルとヒストリー・テーブルはともに複製されているか, いずれのテーブルも複製されていないようにする必要があります。
  • 69 -- & 1 は名前変更されていますが、従属表、ビュー、または論理ファイルが複製されています。
  • 70 -- トリガーまたはフィールド・プロシージャーが & 1 に追加されていますが、参照されたプログラムは複製されていません。
  • 71 -- 複製が中断されました。 現在,複製がブロックされているか, オブジェクト・トラッキング・リストが使用不可です。
  • 72 -- 複製されないテーブルが複製される原因となる名前変更または変更は、コミットメント制御の下では実行できません。
  • 73 -- ジャーナルが両方のノードに存在しないため、操作を複製できません。
  • 74 -- ALTER TABLE を指定すると、複製された表 & 1 は複製に不適格になります。
  • 75 -- COMMIT(*NONE) を使用する操作は、アプリケーション処理がコミット境界にないため完了できませんでした。
  • 77 -- ソフトウェア・レベルが異なるため、 Db2 Mirror では機能がサポートされません。
  • 78 -- Db2 ミラー・データベース操作の処理中に、ファイルの Db2 Mirror 組み込み状態が EXCLUDE から INCLUDE または DEFINITION に変更されました。
  • 80 -- 複製操作は読み取り専用ノードでは開始できません。
  • 82 -- 操作によってファイルがレプリケーションの対象となりました。 ターゲット・ノードでファイルのリストアに失敗しました。
回復手順: 別のオブジェクトを指定してください。 これがテーブルの場合, 理由コードで示されている制限を除去してください。 複製が現在ブロックされている場合, 複製が再確立されるまで,操作を実行することはできません。
SQLCODE: +7061, -7061
SQLSTATE: 0169G, 55019
SQL7905
メッセージ・テキスト: &2 にテーブル &1 が作成されましたが、ジャーナル処理されませんでした。
原因: テーブル &1 が &2 に作成されましたが、このテーブルをジャーナル処理しませんでした。 QDFTJRNデータ域によりジャーナル処理を開始してはいけないことが示されたか,省略時のジャーナルが存在しなかったか,または省略時のジャーナルが存在したがジャーナル処理を開始できなかったかのいずれかです。 省略時のジャーナルが損傷しているか,ジャーナル項目を受け入れることができないか,あるいは存在しない可能性があります。 テーブルの SQL 名は &1 で、テーブルのシステム名は &3 です 。 分散テーブルの場合には,すべてのシステムでジャーナル処理を開始することができませんでした。 ノード・グループの各システムに,省略時のジャーナルは存 在していなければならず,ジャーナル項目を受け入れることができなければなりません。
回復手順: テーブルは作成されましたが、テーブルがジャーナル処理されるまで、テーブル &1 に対して COMMIT(*CHG)、COMMIT(*CS)、COMMIT(*RS)、COMMIT(*RR)、COMMIT(*UR)、および COMMIT(*ALL) を使用 することはできません。

デフォルトのジャーナルが存在しない場合には、このジャーナルを作成 (CRTJRN コマンド) して、ジャーナル処理を開始 (STRJRNPF コマンド) してください。

ジャーナルにエラーがある場合には、ジャーナルに対対する問題を訂正してください。

テーブルが分散テーブルの場合には、ノード・グループのすべてのシステムで問題を訂正し、 ジャーナル処理を開始 (STRJRNPF コマンド) してください。

SQLCODE: +7905
SQLSTATE: 01567
SQL7906
メッセージ・テキスト: このSQL関数はを前のリリースではサポートされていない。 関数は &1 です。
原因: プリコンパイル・コマンドのターゲット・リリース(TGTRLS)パラメーター,あるいはSET OPTIONステートメントに*PRVまたはVXRXMX値が指定されました。 SQL関数がターゲット・リリース ではサポートされていないので,作成されたプログラムをそのリリースに保管または 復元することができません。
回復手順: プログラムはコンパイルされ,復元できない関数を含む各SQL ステートメントについてプリコンパイル・リストに重大度レベル30のメッセージが 示され,プログラム・オブジェクトに復元不可能のマークが付けられます。 このメッ セージを避けるためには,TGTRLSパラメーターの値を*CURRENT値に変更するか, あるいはすべてのSQLステートメントに,復元したいリリースでサポートされている関 数だけが含まれるように,プログラムを変更してください。

ルーチンに対して SET OPTION ステートメントを使用すると、そのルーチン内のすべての SQL ステートメントが、TGTRLS 値で指定したリリース上でサポートされていない限り、そのルーチンは作成を実行しません。

SQLCODE: -7906
SQLSTATE: 42997
SQL7909
メッセージ・テキスト: &1 が作成、変更、または除去されましたが、オブジェクトが変更されませんでした。
原因: &2 内のルーチンまたはグローバル変数 &1 が正常に作成、変更、または除去されましたが、このオブジェクトの属性を、関連付けられているプログラムまたはサービス・プログラム・オブジェクトに対して保管、変更、または除去できませんでした。 ルーチンの場合、特定名は &3 です。 当該オブジェクトが今しがた作成または変更されたばかりのものである場合は,*PGMまたは*SRVPGMオブジェクトが保管されてから復元される時,SQLカタログはこのルーチンの新規属性で更新されません。 当該オブジェクトが今しがた除去されたばかりのものである場合は,関連付けられているプログラムまたはサービス・プログラムからオブジェクト情報を除去しないため,後で当該オブジェクトを復元する時,SQLカタログが正しく更新されない可能性があります。

理由コードは &4 です。 理由コードとそ の意味は次の通りです。

  • 1 -- CREATE、ALTER、COMMENT、LABEL、または DROP ステートメントが出された時に、外部プログラムが存在しない。
  • 2 -- 外部プログラムのライブラリーが QSYS となっている。
  • 3 -- 外部プログラムが ILE *PGM または *SRVPGM ではない。
  • 4 -- 対応するルーチンまたは変数のプログラム・オブジェクトが別のジョブで使用中でした。
  • 5 -- プログラムの SQL 関連スペースが別のジョブによって使用されていた。
  • 6 -- プログラムの SQL 関連スペースを拡張できなかった。
  • 7 -- 外部プログラムは、V4R4M0 より前のリリースでコンパイルされた。
  • 8 -- 外部プログラムの SQL 関連スペースには、最大数のルーチン定義がすでに含まれている。
  • 9 -- 外部プログラムが、ルーチンと同じ独立 ASP (IASP) 内にない。
回復手順: 理由コードに基づいて,以下のいずれかを実行してください。
  • 1 -- CREATE ステートメントが出される時に、外部プログラムが存在するようにする。
  • 2 -- 外部プログラム・ライブラリーが QSYS でないようにする。
  • 3 -- 外部プログラムが ILE *PGM または *SRVPGM であるようにする。
  • 4 -- WRKOBJLCK を使用して、オブジェクトを作成または変更したときにプログラムが使用可能であったことを確認する。
  • 5 -- プログラムは、オブジェクトを作成または変更したとき使用可能であったことを確認する。
  • 6 -- プログラムの関連スペースを再作成するために外部プログラムの再コンパイルを試行する。 グローバル変数の場合は,省略時値式を単純化してください。
  • 7 -- 最新のリリースで外部プログラムを再コンパイルする。
  • 8 -- 外部プログラムに現在定義されているルーチンの 1 つを除去する。
  • 9 -- 外部プログラムが、プロシージャーと同じ IASP 内にあることを確認する。
SQLCODE: +7909
SQLSTATE: 01660
SQL7941
メッセージ・テキスト: アプリケーション処理がコミット境界にない。
原因: RUNSQLSTMコマンドに*NONE以外のコミットメント制御レベルが指定さ れましたが,アプリケーション処理がコミット境界にありません。
回復手順: COMMITまたはROLLBACKを出してコミット境界に達するか,あるい はRUNSQLSTMコマンドにCOMMIT(*NONE)を指定してください。
SQLCODE: -7941
SQLSTATE: 42981
SQL8005
メッセージ・テキスト: &2 のファイル &1 がソース・ファイルでない。
原因: &2 の入力ファイル &1 がソース・ファイルではありません。 考えられる原因のリストは次の通りです。
  • 間違ったファイル名が指定された。
  • 間違ったライブラリー名が指定された。
  • ライブラリー・リストが正しくない。
  • ライブラリー名が指定されていない。
  • プリコンパイル用のソースを含んでいると指定されたファイルまたは RUNSQLSTM コマンドがソース属性で作成されていなかった。
回復手順: ファイルまたはメンバーの名前を訂正してください。 要求をやり直してください。
SQLCODE: -8005
SQLSTATE: 4274N
SQL8021
メッセージ・テキスト: ソース・ストリーム・ファイルをオープンできなかった。
原因: ソース・ストリーム・ファイル &2 をオープンすることができませんでした。 ERRNO &1 を受け取りました。 詳細については,メッセージCPEXXXX (XXXXはERRNO)を参照してください。
回復手順: ソース・ストリーム・ファイルのパス名を訂正し,要求を再試行してください。
SQLCODE: -8021
SQLSTATE: 4274N
SQL9012
メッセージ・テキスト: IBM DB2 QUERY MANAGER AND SQL DEVELOPMENT KIT FOR Iが使用可能ではありません。
原因: IBM DB2 QUERY MANAGER AND SQL DEVELOPMENT KIT FOR Iが導入されていないか,あるいは同時ライセンス・ユーザー数の限界に達しています。 詳細については,ジョブ・ログを参照してください。
回復手順: 次の1つを実行して,要求を再試行してください。
  • IBM DB2 QUERY MANAGER AND SQL DEVELOPMENT KIT FOR Iを導入する。
  • 現行ユーザーに製品の使用を中止するように要求します。
  • システム管理者に、ソフトウェア・ベンダーに連絡して、ライセンス・ユーザーの数の制限を増やすように依頼します。
SQLCODE: -9012
SQLSTATE: 42968