SQL0250 - SQL0499

SQL0257N ロー・デバイス・コンテナーはサポートされていません。

説明

ロー・デバイス・コンテナーの使用が試みられましたが、 以下に示す条件の 1 つが成立しています。

  • ロー・デバイスは、このプラットフォームではサポートされていません。
  • 自動サイズ変更表スペースの SET TABLESPACE CONTAINERS コマンドを使用してロー・デバイス・コンテナーを指定することはできません。
  • DB2 pureScale 環境ではロー・デバイス・コンテナーはサポートされていません。

ユーザーの処置

DB2 pureScale 環境の場合:

応答は必要ありません。 DB2 pureScale 環境ではロー・デバイス・コンテナーを使用できません。

DB2 pureScale 環境以外の環境の場合:

  • 表スペースを作成している場合は、代わりにファイル・コンテナーまたはシステム管理表スペースを使用してください。
  • SET TABLESPACE CONTAINERS コマンドを指定している場合は、代わりにファイル・コンテナーを使用してください。

sqlcode: -257

sqlstate: 42994

SQL0258N 表スペースのリバランスのペンディングまたは進行中は、コンテナー操作または REBALANCE を実行することはできません。

説明

以下に示す条件の 1 つが成立しています。

  1. コンテナー操作または REBALANCE 節を含む ALTER TABLESPACE ステートメントが、以前にこのアプリケーションまたは別のアプリケーションによって発行されましたが、まだコミットされていません。
  2. リバランスが進行中です。

ユーザーの処置

条件に適した以下の対応を実行してください。

  1. 可能であれば、コミットされていない作業単位をロールバックし、 単一の ALTER TABLESPACE ステートメントを発行して、 すべてのコンテナー操作を発行してください。 可能でない場合は、リバランスが完了するまで待った後で、もう一度 やり直してください。 同じ ALTER TABLESPACE ステートメントで、表スペースへのページの追加と、 表スペースからのページの除去の両方を行うことはできません。
  2. リバランスが完了するまで待った後で、もう一度 やり直してください。

sqlcode: -258

sqlstate: 55041

SQL0259N 表スペースのコンテナー・マップが複雑すぎます。

説明

マップ構造は、表スペースのアドレス・スペースがさまざまなコンテナーに マップされる方法に関するレコードを保持しています。 これが複雑になりすぎると、表スペース・ファイルに適合しなく なります。

ユーザーの処置

コンテナー間でデータをもっと均等に分散するために、表スペースのリバランスが必要になる場合があります。 そうすれば、マッピングが簡潔になる可能性があります。

これがうまくいかない場合は、可能な限り同じサイズの コンテナーを作成してください。 表スペースをバックアップした後で、データベース管理ユーティリティーを使用してコンテナーを変更すれば、 既存のコンテナー・サイズを変更することができます。 表スペースを新しいコンテナーにリストアしてください。

sqlcode: -259

sqlstate: 54037

SQL0260N column-name は、LONG 列、DATALINK 列、XML 列、または構造化タイプ列であるため、分散キーにも表パーティション・キーにも属することができません。

説明

分散キーも表パーティション・キーも、LONG 列、DATALINK 列、XML 列、または構造化タイプ列を持つことができません。

ステートメントは処理できません。

ユーザーの処置

分散キーにも表パーティション・キーにも、LONG 列、DATALINK 列、XML 列または構造化タイプ列を使用しないでください。

表を分散する必要がある場合、その表に LONG 列、DATALINK 列、XML 列、または構造化タイプ列だけが含まれるなら、分散キーに使用できる列を表に追加するか、単一パーティションから成るデータベース・パーティション・グループで分散キーなしの表を定義してください。

表をパーティション化する必要がある場合、その表に LONG 列、DATALINK 列、XML 列、または構造化タイプ列だけが含まれるなら、表のパーティション・キーとして使用できる列を追加するか、非パーティション表を定義してください。

sqlcode: -260

sqlstate: 42962

SQL0262N 分散キーとして使用できる列が存在しないため、表 table-name をデータベース・パーティション・グループ group-name に作成できません。

説明

table-name をデータベース・パーティション・グループに作成できません。 この表には、分散キーとして使用できる少なくとも 1 つの列が存在している必要があります。 以下のデータ・タイプの列は、分散キーで使用できません。

  • BLOB
  • CLOB
  • DATALINK
  • DBCLOB
  • LONG VARCHAR
  • LONG VARGRAPHIC
  • XML
  • 構造化タイプ
  • 上記にリストされたデータ・タイプのいずれかに基づくユーザー定義データ・タイプ

ステートメントは処理できません。

ユーザーの処置

分散キーに使用できる 1 つ以上の列を持つ表を作成するか、単一データベース・パーティション・グループにこの表を作成してください。

sqlcode: -262

sqlstate: 428A2

SQL0263N member-number-1 から member-number-2 までのメンバー範囲は無効です。 2 番目のメンバー番号は、1 番目のメンバー番号以上でなければなりません。

説明

指定されたメンバー範囲が有効ではありません。

ステートメントは処理できません。

ユーザーの処置

このステートメント内のメンバー範囲を訂正し、要求を再試行してください。

sqlcode: -263

sqlstate: 428A9

SQL0264N 表が複数パーティションのデータベース・パーティション・グループ name で定義された表スペースに表が常駐しているため、パーティション・キーの追加またはドロップはできません。

説明

単一データベース・パーティション・グループ内の表のパーティション・キーのみを追加またはドロップできます。

ステートメントは処理できません。

ユーザーの処置

次の 1 つを実行し、要求を再試行してください。

  • パーティション・キーを使用する同一表を定義してください。
  • 単一のデータベース・パーティション・グループにデータベース・パーティション・グループを再配布してください。

sqlcode: -264

sqlstate: 55037

SQL0265N データベース・パーティション番号のリストに、重複するメンバー番号またはデータベース・パーティション番号が検出されました。

説明

CREATE DATABASE PARTITION GROUP ステートメントに対し、ON DBPARTITIONNUMS 節内で 1 度のみデータベース・パーティション番号の表示が可能です。

CREATE TABLESPACE および ALTER TABLESPACE ステートメントに対し、データベース・パーティション番号は 1 度のみ、1 つの ON DBPARTITIONNUMS 節でのみ表示可能です。

ALTER DATABASE PARTITION GROUP ステートメントまたは REDISTRIBUTE DATABASE PARTITION GROUP コマンドで、以下のいずれかが発生しました。

  • データベース・パーティション番号が ADD DBPARTITIONNUMS または DROP DBPARTITIONNUMS 節で複数回表示された。
  • データベース・パーティション番号が ADD DBPARTITIONNUMS および DROP DBPARTITIONNUMS 節の両方で複数回表示された。
  • 追加されるデータベース・パーティション番号は、すでにデータベース・パーティション・グループのメンバーである。

ステートメントは処理できません。

WLM_ALTER_MEMBER_SUBSET ステートメントの呼び出しで、追加するメンバーが既にメンバー・サブセットのメンバーになっています。

ユーザーの処置

ON DBPARTITIONNUMS、ADD DBPARTITIONNUMS、または DROP DBPARTITIONNUMS 節内のデータベース・パーティション名またはデータ・パーティション番号を必ず固有にしてください。 CREATE TABLESPACE および ALTER TABLESPACE ステートメントに対し、データベース・パーティション番号が複数の ON DBPARTITIONNUMS 節で表示されていないかを確認してください。

さらに、ALTER DATABASE PARTITION GROUP ステートメントまたは REDISTRIBUTE DATABASE PARTITION GROUP コマンドでは、次のようにしてください。

  • ADD DBPARTITIONNUMS および DROP DBPARTITIONNUMS 節の両方でデータベース・パーティション番号を指定しないでください。
  • データベース・パーティション番号がすでにデータベース・パーティション・グループに定義されている場合は、ADD DBPARTITIONNUMS 節からそのデータベース・パーティション番号を削除してください。

WLM_ALTER_MEMBER_SUBSET ステートメントの呼び出しで、メンバー・リストからそのメンバー番号を削除してください。

sqlcode: -265

sqlstate: 42728

SQL0266N 指定されたメンバー番号またはデータベース・パーティション番号 member-number が無効です。

説明

指定されたメンバー番号またはデータベース・パーティション番号 member-number が以下のいずれかの理由のために無効です。

  • メンバー番号またはデータベース・パーティション番号が 0 から 999 の有効範囲内にありません。
  • メンバー番号またはデータベース・パーティション番号が構成ファイル内にありません。
  • メンバー番号またはデータベース・パーティション番号がデータベース・パーティション・グループの一部ではないため、要求された操作を処理できません。
  • ステートメントが参照しているイベント・モニターは、インスタンスに存在しないメンバー上で実行するよう定義されています。
  • WLM_ALTER_MEMBER_SUBSET ステートメントに指定されているメンバー番号がメンバー・サブセット内にありません。

ステートメントは処理できません。

ユーザーの処置

次の条件に従います。

  • 有効範囲内のメンバー番号またはデータベース・パーティション番号を指定してステートメント、コマンド、または API を発行します。
  • メンバーまたはデータベース・パーティションをシステムに追加する手順に従います。
  • ステートメント、コマンド、または API の指定されたメンバーまたはデータベース・パーティションからメンバーまたはデータベース・パーティションを除去します。
  • ステートメントが参照するイベント・モニターをドロップします。
  • メンバー・サブセットにあるメンバー番号を指定して WLM_ALTER_MEMBER_SUBSET ステートメントを再入力します。

sqlcode: -266

sqlstate: 42729

SQL0268N データベース・パーティション・グループを再配分している間は operation を実行できません。

説明

operation にしたがって、以下のいずれかが適用されます。
  • データベース・パーティション・グループが再配分中であり、 現行操作が完了するまで、このグループを変更、ドロップまたは再配分できません。
  • 表のデータベース・パーティション・グループが再配分されている間は、表のパーティション・キーをドロップできません。
  • このデータベース・パーティション・グループ内の古いデータベース・パーティションが REDISTRIBUTE によってすべてドロップされているため、新規オブジェクトは作成できません。
  • このデータベース・パーティション・グループ内の古いデータベース・パーティションが REDISTRIBUTE によってすべてドロップされているため、新規列は ALTER TABLE で追加できません。

ステートメントは処理できません。

ユーザーの処置

再配分が完了するまで待ち、要求を再試行してください。

sqlcode: -268

sqlstate: 55038

SQL0269N データベースはパーティション・マップの最大数が入っています。

説明

データベースに最大数のパーティション・マップ (32,768) が入っているため、 新規データベース・パーティション・グループの作成、データベース・パーティション・グループの変更、 または既存のデータベース・パーティション・グループの再配布を行うことができません。

ステートメントは処理できません。

ユーザーの処置

データベースの 1 つ以上のデータベース・パーティション・グループをドロップしてください。

注: データベース・パーティション・グループをドロップすると、 データベース・パーティション・グループに常駐する表スペース、 表およびビューなどのデータベース・オブジェクトがすべてドロップされます。

sqlcode: -269

sqlstate: 54033

SQL0270N 関数をサポートしていません (理由コード = reason-code)。

説明

以下の理由コードによって示されている制限に違反しているため、ステートメントを処理できません。

1

主キー、各ユニーク制約、および各ユニーク索引には表の分散列がすべて入っていなければなりません。

2

分散キー列の値の更新はサポートされていません。

3

外部キーが ON DELETE SET NULL で定義されているとき、NULL 可能な分散キー列 をこの外部キーに組み込むことはできません。 このような制約を定義した結果、分散キー列を更新することになるため、これは理由コード 2 の特殊事例です。

5

WITH CHECK OPTION 節で作成されたビューは、 次の場合関数 (または関数を使用する参照ビュー) を使用できません。

  • 非決定的の場合
  • 副次作用がある場合
  • データの配置に関連する場合。例えば、ノード番号またはパーティション関数。

これらの関数は、新しいビューが CASCADED チェック・オプションで作成された場合に参照ビュー内にあってはなりません。

6

ユーザー定義の特殊タイプに対してトランスフォームは定義できません。

7

長いフィールドは、4 KB のページ・サイズの表スペースを使用するときのみに、定義できます。 LARGE TABLESPACE は、4 KB のページ・サイズを使用してのみ作成できます。

8

構造化タイプは、DB2 バージョン 7.1 以前の表または構造化タイプ属性データ・タイプの列として サポートされていません。

9

トリガーは型付き表ではサポートされません。

10

4 KB のページ・サイズを持つ表スペースに配置する必要のある 1 つ以上の LOB 列が表にあり、表の行サイズまたは列数には 8 KB のページ・サイズを持つ表スペースが必要であるため、単一のデフォルト表スペースは選択できません。

11

型付き表あるいは型付きビューは、属性を持たない構造化タイプを使用して作成することができません。

12

ソース・キー・パラメーターのタイプは、ユーザー定義の構造化タイプか、または LOB、XML、LONG VARCHAR、または LONG VARGRAPHIC データ・タイプから生成されたのではない特殊タイプである必要があります。

13

チェック制約は型付き表で定義することができないか、 または WITH CHECK OPTION 節が型付きビューで指定することができません。

14

参照制約は型付き表に定義することができないか、または型付き表である親表に定義することができません。

15

デフォルト値は参照タイプ列で定義されません。

16

参照データ・タイプあるいは構造化データ・タイプを、DB2 UDB バージョン 7.1 より前のパラメーター・データ・タイプまたはユーザー定義関数の戻りデータ・タイプとして使用することはできません。 そうでない場合、有効範囲参照データ・タイプまたは配列データ・タイプをルーチンのパラメーター・データ・タイプまたは戻りデータ・タイプとして使用することはできません。 構造化データ・タイプまたは配列データ・タイプを表または行関数の戻り列として使用することはできません。

17

SET INTEGRITY ステートメントは型付き表に対して使用することができません。

18

型付き表、型付きビュー、またはニックネームに対する列レベルの UPDATE および REFERENCES 特権を付与することはできません。

19

デフォルト値は、型付き表の列に対するデフォルト定義の時に指定する必要があります。

20

ALTER TABLE はマテリアライズ照会表ではサポートされていません。

21

マテリアライズ照会表の基本表である表では、列をドロップしたり、列の長さ、データ・タイプ、セキュリティー、NULL 可能性、または非表示属性を変更したりすることはできません。

22

マテリアライズ照会表は、CREATE SCHEMA ステートメントに定義できません。

23

REPLICATED は REFRESH DEFERRED で定義されたマテリアライズ照会表にのみ指定できます。

24

BEFORE トリガーで起動されたアクションは、REFRESH IMMEDIATE で定義された マテリアライズ照会表を参照できません。

25

SET INTEGRITY ステートメントには、1 つのマテリアライズ照会表しか指定できません。

26

再配分されているデータベース・パーティション・グループに、複製されたマテリアライズ照会表が少なくとも 1 つ含まれています。

27

複製されたマテリアライズ照会表は、この複製された表を構成する 1 つ以上の列にユニーク索引が存在しない表には定義できません。

28

型付き表またはマテリアライズ照会表は名前変更できません。

29

FOR EXCEPTION 節は、SET INTEGRITY ステートメントのマテリアライズ照会表には指定できません。

30

型付き表および型付きビューは CREATE SCHEMA ステートメントで定義できません。

31

分散キーは 500 を超える列では定義できません。

32

カタログ・パーティション以外の複数パーティション・データベース・パーティション・グループまたは単一パーティション・データベース・パーティション・グループを使用して定義された表は、FILE LINK CONTROL で定義された DATALINK 列をサポートしません。

33

REFRESH IMMEDIATE で定義されたマテリアライズ照会表の基礎表を、カスケード効果を持つ (つまり、ON DELETE CASCADE または ON DELETE SET NULL オプションを持つ) 参照制約の子にすることはできません。

34

基礎オブジェクトの関連機能は、現行リリースではサポートされていません。

35

シーケンス列または ID 列を、バージョン 7 マルチノード・データベース環境で作成することはできません。

36

順序または ID 列を含むマルチノード・バージョン 7 データベースのアクティブ化は許可されていません。

38

索引拡張子を使用する索引は、DB2 UDB バージョン 8.1 修正パッケージ 6 より前の複数パーティション・データベース・パーティション・グループではサポートされていません。

39

ニックネームまたは OLE DB 表関数は、SQL 関数または SQL メソッドの本体で直接的に、 または間接的に参照できません。

40

IDENTITY_VAL_LOCAL 関数を、トリガーまたは SQL 関数で使用することはできません。

41

単一の SQL 変数ステートメントは、値をローカル変数と遷移変数の両方に割り当てることはできません。

42

マルチノード・データベース内で、SQL 制御ステートメントを使ったトリガー、メソッド、または関数の実行、および動的コンパウンド・ステートメントの実行は許可されません。

43

指定されたオプションの 1 つ以上は現在サポートされていません。

44

以下の EXPLAIN MODES は、MPP、SMP、および Data Joiner ではサポートされていません。

  • COUNT CARDINALITIES
  • COMPARE CARDINALITIES
  • ESTIMATE CARDINALITIES
45

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表では、APPEND モードはサポートされていません。

46

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表では、INPLACE 表再編成はサポートされていません。

47

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表では、索引拡張はサポートされていません。

48

マルチディメンション・クラスタリング (MDC) 表のディメンション仕様に対する変更は、サポートされていません。

49

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表では、クラスター索引はサポートされていません。

50

ユーザー定義一時表は、マルチディメンション・クラスタリング (MDC) 表にも挿入時クラスタリング (ITC) 表にもすることはできません。

51

カタログ・データベース・パーティションでないデータベース・パーティションから、式ベースの索引に影響する DDL 操作を発行することは、サポートされていません。

52

生成された列が分散キー列であるかまたは ORGANIZE BY 節、PARTITION BY 節、または DISTRIBUTE BY節で使用されている場合、その列の式を変更したり、式を使用して生成されたのでない列に追加したりできません。

53

LONG VARCHAR、LONG VARGRAPHIC、LOB、または XML タイプの列、このいずれかのタイプの特殊タイプ、または構造化タイプは、両方向スクロール・カーソルの選択リストには指定できません。

54

指定されたシステム・カタログ表では、INPLACE 表再編成はサポートされていません。

55

フェデレーテッド・データベース・システム・サポートとコンセントレーター機能を同時にアクティブにすることはできません。

56

再ビルド・モードでのオンライン索引の再編成は、ALLOW WRITE モードの空間索引ではサポートされていません。

57

ALLOW WRITE モードのマルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表でオンライン索引再編成がサポートされるのは、CLEANUP オプションまたは RECLAIM EXTENTS オプションが指定されたときだけです。

58

バージョン 8 データベースの場合: XML データ・タイプは一時データ・タイプとしてしか使用できず、データベースに保管したり、アプリケーションに戻したりすることはできません。

59

SQL ステートメントを含む関数またはメソッドは、パーティション・データベース環境では使用できません。

60

型付き表に依存する、型付きまたは非型付き VIEW のオブジェクトがあるため、ALTER TABLE ALTER COLUMN SET INLINE LENGTH ステートメントは許可されません。

61

テキスト検索関数をチェック制約または生成された列の式に使用することはできません。

62

WITH CHECK OPTION 節を、直接テキスト検索関数を参照しているビュー、またはテキスト検索関数を参照している他のビューに依存するビューと共に使用することはできません。

63

LOB タイプの列、LOB タイプ上の特殊タイプの列、LONG VARCHAR、LONG VARGRAPHIC、DATALINK、LOB、XML タイプの列、これらのいずれかのタイプ上の特殊タイプの列、または構造化タイプの列は、インセンシティブ両方向スクロール・カーソルの選択リストには指定できません。

64

このプラットフォームでは、フェデレーテッド・プロセッシングはサポートされていません。

65

ニックネームのローカル・タイプを現行タイプから指定タイプに変更することはできません。

66

組み込みトランスフォーム・グループ SYSSTRUCT はサポートされていません。

67

ニックネームまたはニックネームのビューは、MERGE ステートメントまたは UPDATE ステートメントのターゲットとして指定することができません。

68

パーティション・データベースでは、SQL ステートメントでサポートされる NEXT VALUE 式の明確な最大数は 55 です。

69

ビューから削除すると、複数のパスにより、下層表をビュー定義に現れる複数の表に連結削除します。 下層表に定義されたチェック制約またはトリガーのどちらかを、不確定な最終結果に従って廃止する必要があります。

70

照会最適化が有効になっているビューの基本表である表では、列をドロップしたり、列の長さ、データ・タイプ、セキュリティー、 および NULL 可能性を変更したりすることはできません。

71

パーティション・データベース環境において、トリガー、SQL 関数、SQL メソッド、 または動的コンパウンド・ステートメントの中で CALL ステートメントを使用することはできません。

72

NULL 可能な列を ID 列となるように変更することはできません。

73

パーティション・データベース環境のバックアップ・イメージにログを含めることはできません。

74

タイム・スタンプによるリカバリー履歴ファイルの状況フィールドの更新は許可されていません。

75

自動統計プロファイルは、複数のデータベース・パーティション・システム、SMP が有効なシステム、およびフェデレーテッド・システム上でサポートされていません。

83

V9.7 より前のバージョンの DB2 データベースの場合、DATA CAPTURE CHANGES と COMPRESS YES には互換性がないため、ステートメントは処理できません。

87

型付き表、ステージング表、ユーザー一時表、および範囲がクラスター化された表の各表タイプは、パーティション表として定義することはできません。

89

REORG INDEX は、パーティション表上の非パーティション索引、または CLEANUP ONLY ALL オプションに対してのみサポートされます。

90

バージョン 9.7 より前のバージョンの DB2 データベース・バージョンの場合、パーティション索引はサポートされていないため、PARTITIONED 節は CREATE INDEX ステートメントには指定できません。

91

V9.7 より前のバージョンの DB2 データベースの場合、コンプレッション・ディクショナリーを持つ表では DATA CAPTURE CHANGES はサポートされないため、ステートメントは処理できません。

92

強制された参照整合性制約の親である表からのデタッチは許可されません。

93

LOAD INSERT を使用して付加されたデータを含むパーティション、付加されたデータに関して増分的にリフレッシュされていない従属マテリアライズ照会表または従属ステージング表を含むパーティションでは、パーティションのデタッチは許可されません。

95

整合性の検証が済んでいないパーティションが接続されている表は、マテリアライズ照会表に変更できません。

97

マルチノード分散キー、データ分散キー、または MDC 編成ディメンションのエレメントでは、このデータ・タイプの変更はサポートされていません。

98

ID 列のタイプの変更はサポートされていません。

99

ALTER TABLE SET DATA TYPE により、チェック制約によって使用される外部 UDF が変更されました。

102

型付き表にはセキュリティー・ポリシーは追加できません。

103

データベース・サーバーのバージョン 9.5 以前では、XML 列を持つ表に対する ALLOW WRITE モードのオンライン索引再編成はサポートされません。

104

表に XML 列の索引が定義されている場合は、インプレース表 REORG は許可されません。

105

REORG INDEX コマンドがサポートされるのは、CLEANUP モードまたは RECLAIM EXTENTS モードのブロック索引の場合のみです。

106

マテリアライズ照会表へのパーティションのアタッチはサポートされていません。

109

テキスト検索関数がパーティション表を直接参照していない場合、またはテキスト検索関数が OUTER JOIN 節の含まれる副選択のメンバーである場合は、そのテキスト検索関数をパーティション表のテキスト索引に適用することはできません。

110

SECLABEL、SECLABEL_BY_NAME、および SECLABEL_TO_CHAR の場合は、セキュリティー・ポリシー名パラメーターはストリング定数でなければなりません。

111

監査ポリシーを型付き表に関連付けることができません。

112

非 root インストールの場合、ヘルス・モニターはアクションや通知の構成をサポートしていません。

113

コンパウンド SQL (コンパイル済み) ステートメントの、トリガーまたは SQL 表関数の本体での使用は、パーティション・データベース環境ではサポートされていません。

114

パーティション空間索引はサポートされていません。

115

関数を再検証できません。

116

同じ名前が、コンパウンド SQL (コンパイル済み) ステートメント内の動的に準備または実行された複数の名前付きパラメーター・マーカーで使用されています。

119

ROW 変数のフィールドに ARRAY タイプがある場合、配列要素値を、ROW 変数フィールド参照にある要素の対応する索引値を指定して直接取り出すことができません。

120

サポートされないタイプの表へのデータの挿入が試みられました。

121

行オーガナイズ表の期間定義に MAINTAINED BY USER 節を含めてはなりません。

122

カラム・オーガナイズ表の期間定義に MAINTAINED BY USER 節を含める必要があります。

ユーザーの処置

理由コードに対応するアクションは、以下のとおりです。

1

CREATE TABLE、ALTER TABLE または CREATE UNIQUE INDEX ステートメントを訂正します。

2

複数パーティションの表の分散キー列を更新したり、分散列で削除した後に新しい値を持つ行を挿入しようとしたりしないでください。

3

分散キー列を NULL 可能ではなくするか、別の ON DELETE アクションを指定するか、または表の分散キーを変更して、外部キーに分散キーの列が組み込まれないようにしてください。

4

DATA CAPTURE NONE を指定するか、あるいはカタログ・パーティションを指定する単一パーティション・データベース・パーティション・グループの表スペースに表があることを確認してください。

5

WITH CHECK OPTION 節を使用したり、ビュー定義から関数またはビューを除去したりしないでください。

6

トランスフォームはユーザー定義の特殊タイプに対して自動的に行われます。 CREATE TRANSFORM ステートメントはユーザー定義の構造化タイプのみに 使用してください。

7

長いフィールドの入った任意の表に対して、4 KB ページ・サイズの表スペースを使用してください。 DMS 表スペースを使用する場合は、長いフィールドは 4 KB ページ・サイズの表スペースに配置し、他の表または索引データは異なるページ・サイズの表スペースに配置することができます。 LARGE TABLESPACE を定義する場合は、PAGESIZE 4K を使用してください。

8

DB2 UDB バージョン 7.1 より前のサーバーであれば、CREATE TABLE ステートメントまたは ALTER TYPE ADD COLUMN ステートメントに構造化タイプの列データ・タイプがないことを確認してください。 CREATE TYPE ステートメントまたは ALTER TYPE ADD ATTRIBUTE ステートメントでのどの 属性データ・タイプも構造化タイプでないことを確認してください。

9

型付き表ではトリガーを定義しないでください。

10

表の行サイズあるいは列数を減らすか、またはロング・データが 4 KB ページ・サイズの表スペースにあり、基本データが 8 KB ページ・サイズの表スペースにあるような 2 つの表スペースを指定してください。

11

型付き表あるいは型付きビューを作成する場合は、最低でも 1 つの属性を 定義している構造化タイプを指定します。

12

ソース・キー・パラメーターのタイプには、ユーザー定義の構造化タイプか、または LOB、XML、LONG VARCHAR、あるいは LONG VARGRAPHIC タイプから派生していない特殊タイプだけを使用してください。

13

型付き表の CREATE TABLE または ALTER TABLE ステートメントでは、 チェック制約を指定しないようにします。 型付きビューの CREATE VIEW ステートメントでは、WITH CHECK OPTION 節を指定しないでください。

14

CREATE TABLE または ALTER TABLE ステートメントでは、型付き表を含む参照制約を指定しないようにします。

15

CREATE TABLE または ALTER TABLE ステートメントで 参照データ・タイプを指定した列に対して、DEFAULT 節を指定しないようにします。

16

DB2 UDB バージョン 7.1 より前のサーバーであれば、ユーザー定義関数の作成時に構造化タイプ・パラメーターまたは戻りタイプを指定しないでください。 また、有効範囲内参照タイプをパラメーターまたは戻りタイプとして指定しないでください。 構造化タイプを表または行関数の戻り列として指定しないでください。

17

SET INTEGRITY ステートメントにある型付き表を指定しないようにします。

18

型付き表、型付きビュー、またはニックネームに対する REFERENCES または UPDATE 特権を付与するときに、特定の列名を組み込まないようにします。

19

型付き表の列で DEFAULT 節を指定する時に、特定の値を組み込むようにします。

20

マテリアライズ照会表をドロップし、任意の属性を指定して再作成します。

21

マテリアライズ照会表の基本表となっている表の列をドロップまたは変更するには、以下のステップを実行します。

  1. 従属のマテリアライズ照会表をドロップします。
  2. 基本表の列をドロップするか、この列の長さ、データ・タイプ、NULL 可能性、または非表示属性を変更します。
  3. マテリアライズ照会表を再作成します。
22

CREATE SCHEMA ステートメントの外側で CREATE SUMMARY TABLE ステートメントを 発行してください。

23

REPLICATED 指定を除去するか、またはマテリアライズ照会表の定義に REFRESH DEFERRED が 指定されていることを確認します。

24

BEFORE トリガーのトリガー・アクションにあるマテリアライズ照会表への参照を除去します。

25

各マテリアライズ照会表ごとに、別々の SET INTEGRITY IMMEDIATE CHECKED ステートメントを発行します。

26

データベース・パーティション・グループにある複製されたマテリアライズ照会表をすべてドロップし、REDISTRIBUTE DATABASE PARTITION GROUP コマンドを再発行します。 複製されたマテリアライズ照会表を再作成します。

27

マテリアライズ照会表に定義された列のサブセットが、基本表のユニーク索引を構成する列セットでもあることを確認します。

28

型付き表あるいはマテリアライズ照会表名を変更するには、その表をドロップして、新しい名前で作成し直すしか方法がありません。 表をドロップした場合、その表に依存する他のオブジェクトにも影響する可能性があり、その表に対する特権は失われます。

29

SET INTEGRITY ステートメントから FOR EXCEPTION 節を除去します。

30

CREATE SCHEMA ステートメントの外部で、 型付きビューまたは型付き表の CREATE ステートメントを発行します。

31

分散キー内の列の数を減らします。

32

DATALINK 列に NO LINK CONTROL を指定するか、またはカタログ・パーティションを指定する単一パーティション・データベース・パーティション・グループの表スペースに表を配置してください。 データを複数パーティション・データベース・パーティション・グループに再配分する場合は、再配分を継続するために表をドロップする必要があります。

33

以下のいずれかの方法を使用します。

  • REFRESH IMMEDIATE を使って子として定義されているマテリアライズ照会表の基礎表に、カスケード効果を持つ (つまり、ON DELETE CASCADE または ON DELETE SET NULL オプションを指定した) 参照制約を定義しないでください。
  • カスケード効果を持つ (つまり、ON DELETE CASCADE または ON DELETE SET NULL オプションを指定した) 参照制約の子である基礎表を持つ REFRESH IMMEDIATE マテリアライズ照会表を定義しないでください。
34

サポートされていないオブジェクトの関連機能の使用を除去してください。

35

GENERATED [ALWAYS | BY DEFAULT] AS IDENTITY ... 属性を作成あるいは除去しないでください。

36

新規ノードをドロップして、単一ノード構成に戻してください。 さらにノードが必要な場合は、新規ノードを追加する前に順序または ID 列がある表をドロップしてください。

38

索引拡張子を使用する索引を、複数パーティション・データベース・パーティション・グループの表に作成することはできません。 索引拡張子を使用する索引がデータベース・パーティション・グループ内の表に存在している間、そのデータベース・パーティション・グループを 複数パーティション・データベース・パーティション・グループにすることはできません。 このような索引をドロップしてパーティションをデータベース・パーティション・グループに追加する (この場合、索引を再作成できません) か、またはデータベース・パーティション・グループを未変更のままにしてください。

39

ニックネームまたは OLE DB 表関数への参照を除去するか、または間接的にこれらのいずれかを参照しているオブジェクトへの参照を除去してください。

40

IDENTITY_VAL_LOCAL 関数の呼び出しを トリガー定義または SQL 関数定義から除去してください。

41

割り当てを 2 つの別々のステートメントに分割します。 一方のステートメントは SQL 変数にのみ値を割り当て、もう一方のステートメントは遷移変数にのみ値を割り当てなければなりません。

42

新規ノードをドロップして、単一ノード構成に戻してください。 さらにノードが必要な場合は、制御ステートメントを含むトリガー、関数、またはメソッドをドロップしなければなりません。

43

RUNSTATS コマンドを再発行し、サポートされていないオプションをオフにしてください。

44

これらの EXPLAIN モードを、SMP、MPP、および Data Joiner 環境で使用することはできません。 可能であれば、順次モードで照会を実行してください。 あるいは、EXPLAIN モードを YES または EXPLAIN に設定して、実際のカーディナリティー以外については、同じ情報を提供してください。

45

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表に対する ALTER TABLE ステートメントに、APPEND 節を指定しないでください。

46

INPLACE オプションを指定せずに、REORG コマンドを再発行してください。

47

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表に対する CREATE INDEX ステートメントに、EXTENSION 節を指定しないでください。

48

マルチディメンション・クラスタリング (MDC) 表をドロップし、変更したディメンション指定を使って表を再作成してください。

49

マルチディメンション・クラスタリング (MDC) 表または挿入時クラスタリング (ITC) 表に対する CREATE INDEX ステートメントに、CLUSTER 節を指定しないでください。

50

宣言済みグローバル一時表に対し、CREATE TABLE ステートメントに ORGANIZE BY 節を 指定しないでください。

51

カタログ・データベース・パーティションから CREATE INDEX ステートメントを発行してください。

52

式を変更したり、それを既存の列に追加したりしないでください。 PARTITIONING KEY 節、ORGANIZE BY 節、PARTITION BY 節、DISTRIBUTE BY 節、または生成された列であるそのメンバーの生成式の構成を変更するには、表をドロップし、再作成して、表に再度データを追加してください。

53

これらのタイプの列を含めないように、両方向スクロール・カーソルの選択リストを変更してください。

54

INPLACE オプションを指定せずに、REORG コマンドを再発行してください。

55

コンセントレーターまたはフェデレーテッド・データベース・システム・サポートをオフにしてください。 コンセントレーターをオフにするには、データベース・マネージャー構成パラメーター MAX_CONNECTIONS の値を、データベース・マネージャー構成パラメーター MAX_COORDAGENTS の値以下に設定してください。 フェデレーテッド・データベース・システムのサポートをオフにするには、 データベース・マネージャー構成の FEDERATED パラメーターを NO に設定してください。

56

ALLOW NONE または ALLOW READ を指定して、REORG INDEXES コマンドを再発行してください。

57

ALLOW NONE または ALLOW READ を指定して、REORG INDEXES コマンドを再発行してください。

58

バージョン 8 データベースの場合: XML 入力を受け入れる関数の 1 つに XML データを入力し (最後には XMLSERIALIZE)、関数の出力をデータベースに保管するか、またはアプリケーションに戻してください。

59

パーティション・データベース環境では、NO SQL オプションを指定して定義された関数とメソッドだけを使用してください。

60

型付き表に依存するビューをドロップしてください。 型付き表に対する ALTER TABLE ALTER COLUMN SET INLINE LENGTH ステートメントを再発行し、ドロップしたビューを再作成してください。

61

テキスト検索関数をチェック制約または生成された列の式に使用しないでください。 可能であれば、CONTAINS ではなく LIKE 関数を使用してください。

62

このビューに WITH CHECK OPTION 節を指定しないでください。

63

これらのタイプの列を含めないように、両方向スクロール・カーソルの選択リストを変更してください。

64

このプラットフォームでは、フェデレーテッド・プロセッシングを実行しないでください。

65

ニックネームのローカル・タイプを現行タイプから指定タイプに変更しないでください。

66

SYSSTRUCT をトランスフォーム・グループとして指定しないでください。

67

ニックネームまたはニックネームのビューを、MERGE または UPDATE ステートメントのターゲットとして指定しないでください。

68

ステートメントの明確な NEXT VALUE 式の数を減らすか、または 非パーティション・データベースに変更してください。

69

DELETE FROM ビュー名を使用しないでください。

70

照会最適化が有効になっているビューを無効にした後、基本表の列をドロップまたは変更してから、それらのビューの照会最適化を有効にしてください。

71

パーティション・データベース環境においては、トリガー、SQL 関数、SQL メソッド、または動的コンパウンド・ステートメントの中で CALL ステートメントを使用しないでください。

72

列が NULL 可能なら、それを ID 列にすることはできません。 この変更を行うには、表をドロップした後、NULL 可能でない列を使用して再作成し、再びデータを入れる必要があります。 新しい列を ID 列として追加することもできます。

73

INCLUDE LOGS オプションを指定しないで BACKUP コマンドを発行してください。

74

EID によってのみ、リカバリー履歴ファイルの状況フィールドを更新します。

75

以下のいずれかの方法を使用します。

データベース構成パラメーター AUTO_STATS_PROF および AUTO_PROF_UPD を OFF に設定することによって、このデータベースの自動統計プロファイルを無効にします。

システムを、有効な SMP がなくフェデレーテッドではない単一データベース・パーティション上のシステムに変更します。

83

DATA CAPTURE CHANGES と COMPRESS YES の両方が指定されている場合は、そのいずれか 1 つだけを指定する必要があります。 DATA CAPTURE CHANGES または COMPRESS YES のいずれかが指定されている場合、表に対してすでに一方が有効であるので、他方を指定しないでください。

87

表を非パーティション表として作成してください。

89

REORG INDEXES ALL コマンドを使用して、表またはデータ・パーティション上のすべての索引を再編成してください。

90

デフォルトを使用するか、または CREATE INDEX で NOT PARTITIONED を明示的に指定して、非パーティション索引を作成してください。

91

この表には DATA CAPTURE CHANGES を指定しないでください。

92

次のステートメントを使用して参照制約をドロップしてください。

ALTER TABLE 'child-table'
DROP CONSTRAINT ...

あるいは、次のように、外部キー制約が強制されないように外部キー・リレーションシップの子表を変更してください。

ALTER TABLE 'child-table'
ALTER FOREIGN KEY ... NOT ENFORCED

注: 外部キー制約で親表からのデタッチの失敗ステートメントが実行されましたが、制約の強制は子表に対して実行されます。 これらの 2 つの表は、外部キー制約が自己参照でない限り、別個のものです。 次に ALTER TABLE ... DETACH PARTITION ステートメントを再サブミットしてください。 これで、次のステートメントを使用することによって、子表を変更して外部キー制約を強制することができます。

ALTER TABLE 'child-table'
ALTER FOREIGN KEY ... ENFORCED

このステートメントは、表を再検査して外部キー・リレーションシップがまだ強制されていることを確実にします。

93

SET INTEGRITY ステートメントに IMMEDIATE CHECKED オプションを指定して発行し、LOAD INSERT を使用して付加されたデータに関して、従属マテリアライズ照会表または従属ステージング表を保守してください。

95

表に対して SET INTEGRITY ステートメントに IMMEDIATE CHECKED または IMMEDIATE UNCHECKEDオプションを指定して発行し、接続されているパーティションの整合性を検証してください。

97

列データ・タイプは変更しないでください。

98

ID 属性をドロップし、タイプを変更してから、ID 属性を再び有効にしてください。

99

チェック制約をドロップしてから、ALTER ステートメントを再発行してください。

102

型付き表にはセキュリティー・ポリシーを追加しないでください。

103

データベース・サーバーのバージョン 9.5 以前では、REORG INDEXES コマンドを再発行して ALLOW READ ACCESS または ALLOW NO ACCESS を指定してください。

104

INPLACE オプションを除去して REORG TABLE コマンドを再発行してください。

105

CLEANUP または RECLAIM EXTENT を指定して REORG INDEX コマンドを再発行するか、または REORG INDEXES ALL を発行して表のすべての索引 (ブロック索引を含む) を再編成してください。

106

パーティションを表にアタッチしようとする前に、ALTER TABLE ステートメントを発行して表からマテリアライズ照会属性をドロップしてください。

109

テキスト索引が含まれるパーティション表を直接参照し、OUTER JOIN 節は含まない副選択内にテキスト検索関数が含まれるよう、照会を変更してください。

110

セキュリティー・ポリシー名パラメーターにストリング定数を指定してください。

111

監査ポリシーを型付き表に関連付けないでください。

112

非 root インストールの場合、ヘルス・モニター用にアクションや通知を構成しようとしないでください。

113

可能であれば、コンパウンド SQL (インライン化) ステートメントを使用してトリガーまたは関数を定義するか、トリガー定義または関数定義を除去してください。

114

CREATE INDEX ステートメントで NOT PARTITIONED 節を使用して、空間索引を非パーティション索引として作成してください。

115

SYSCAT.ROUTINEAUTH で関数に付与されている特権を記録してから、関数をドロップし、関数を再作成して、特権を関数に付与します。

116

コンパウンド SQL (コンパイル済み) ステートメントにおける、動的に準備または実行される名前付きパラメーター・マーカーそれぞれに固有の名前を付けます。

119

ROW 変数のフィールドに ARRAY タイプがある場合、要素値を取り出す際に索引値を指定しないでください。

120

応答は必要ありません。 このタイプの表への挿入は、現在サポートされていません。

121

この表には MAINTAINED BY USER 節を含めないでください。

122

この表には MAINTAINED BY USER 節を含めてください。

sqlcode: -270

sqlstate: 42997

SQL0271N fid fid を伴う表の索引ファイルがないか、または無効です。

説明

fid fid を伴う表の索引ファイルは処理中に要求されます。 このファイルは無くなっているか、または有効でないかのいずれかです。

このステートメントを処理することができず、アプリケーションは、まだデータベースに接続されています。 この条件は、この表の索引を 使用しない他のステートメントには影響を及ぼしません。

ユーザーの処置

すべてのユーザーが、そのデータベースから切断されていることを 確認し、すべてのノードに RESTART DATABASE コマンドを発行してください。 その後、要求を再試行してください。

この索引 (または索引群) は、データベースの再始動時に再作成されます。

sqlcode: -271

sqlstate: 58004

SQL0276N データベースは「リストア・ペンディング」状態または「アップグレード・ペンディング」状態にあるため、接続に失敗しました。データベース名: database-name

説明

このメッセージは、以下の 2 つの理由で返されることがあります。

1. データベースが「リストア・ペンディング」状態である

前の操作の結果として、データベースは「リストア・ペンディング」状態になっています。データベースが「リストア・ペンディング」状態にある間にそのデータベースに接続しようとすると、失敗します。

2. データベースが「アップグレード・ペンディング」状態である

db2ckupgrade ユーティリティーが、データベースをアップグレードする準備ができていることを検出すると、db2ckupgrade ユーティリティーは読み取り専用データベース構成パラメーター UPGRADE_PENDING を 1 に設定します。このデータベース構成パラメーターが 1 に設定されている間は、データベースが「アップグレード・ペンディング」状態にあります。データベースが「アップグレード・ペンディング」状態にある間にそのデータベースに接続しようとすると、失敗します。

ユーザーの処置

  1. データベース構成パラメーター UPGRADE_PENDING が 1 に設定されている場合は、以下のいずれかの方法で対応してください。
    • データベースがアップグレードされるまで待機してから、データベースに接続します。
    • -resetUpgradePending パラメーターを指定して db2ckupgrade コマンドを発行し、データベースの「アップグレード・ペンディング」状態を解除してから、データベースに接続します。
  2. あるいは、データベースをリストアしてから、データベースに接続します。

sqlcode: -276

sqlstate: 08004

SQL0279N データベース接続が COMMIT または ROLLBACK 処理中に終了しました。 トランザクションが確定していない可能性があります。理由コード = reason-code

説明

コミット処理がエラーを検出しました。 このトランザクションは、コミット状態になっていますが、コミット処理は完了していない可能性があります。このアプリケーションのデータベース接続は、終了しています。

エラーの原因は、reason-code に示されています。

1

トランザクションで呼び出されたノードまたはデータ・ソースが失敗しています。

2

ノードの 1 つに対してコミットが拒否されました。 詳細については管理通知ログをチェックしてください。

ユーザーの処置

エラーの原因を判別してください。 最も一般的なエラーの原因はノード障害または接続障害なので、システム管理者に連絡して援助を求める必要があります。RESTART DATABASE コマンドはこのトランザクションのコミット処理を 完了します。

sqlcode: -279

sqlstate: 08007

SQL0280W ビュー、トリガー、またはマテリアライズ照会表 name が、 既存の作動不能のビュー、トリガーまたはマテリアライズ照会表を置換しました。

説明

既存の作動不能のビュー、トリガー、またはマテリアライズ照会表 name が以下のように置き換えられました。
  • CREATE VIEW ステートメントの結果としての新しいビュー定義
  • CREATE TRIGGER ステートメントの結果としての新しいトリガー定義
  • CREATE SUMMARY TABLE ステートメントの結果としての新しいマテリアライズ照会表定義

ユーザーの処置

必要ありません。

sqlcode: +280

sqlstate: 01595

SQL0281N 表スペース tablespace-name はシステム管理表スペースであるため、追加コンテナーでは変更できません。

説明

追加コンテナーはシステム管理表スペースに追加できません。 この場合に対する例外は、 データベース・パーティション・グループが表スペースなしでノードを追加するように修正され、 次にコンテナーが ALTER TABLESPACE コマンドを使用して新規ノード上に一度追加された場合です。 一般的に、追加のコンテナーを加えるには、表スペースが データベースに管理されている必要があります。

ステートメントは処理できません。

ユーザーの処置

システム管理表スペースにさらにコンテナーを増やすには、それぞれのコンテナーがコンテナー・サイズの限度と同じサイズであるか、あるいはそれより小さいサイズであるかを確認して、表スペースをドロップしてからコンテナーを増やして表スペース再度作成するか、または DMS 表スペースに変更してください。

sqlcode: -281

sqlstate: 42921

SQL0282N 表スペース内の少なくとも 1 つの表 table-name が、他の表スペースに 1 つ以上の部分を持っているため、表スペース tablespace-name が ドロップできません。

説明

示された表スペースの表に、その表のすべての部分が入っているわけではありません。 複数の表スペースが指定された場合は、指定された表スペースのいずれかにある表に、リスト内にその表のすべての部分が入っているわけではありません。 基本表、索引、または長いデータが他の表スペースに存在する可能性があるため、表スペースのドロップによって表が完全にドロップされません。 そのため、表が不整合状態に置かれ、そのために表スペースをドロップできません。

ユーザーの処置

表スペースのドロップを試行する前に表スペース tablespace-name に入っているすべてのオブジェクトがこの表スペースのすべての部分を収容していることを確認するか、またはリスト内の部分の入ったこれらの表スペースをドロップに組み込みます。

これには、表スペースをドロップする前に、表 table-name のドロップが必要になる場合があります。

sqlcode: -282

sqlstate: 55024

SQL0283N SYSTEM TEMPORARY 表スペース tablespace-name だけが、データベース内で page-size ページ・サイズを 持つ SYSTEM TEMPORARY 表スペースであるため、ドロップすることはできません。

説明

データベースには、カタログ表スペースのページ・サイズと同じページ・サイズの SYSTEM TEMPORARY 表スペースが少なくとも 1 つ入っている必要があります。 表スペース tablespace-name をドロップすると、page-size ページ・サイズを 持つ最後の SYSTEM TEMPORARY 表スペースがデータベースからドロップされます。

ユーザーの処置

この表スペースのドロップを試行する前に、データベースに他の page-size ページ・サイズの SYSTEM TEMPORARY 表スペースがあることを確認してください。

sqlcode: -283

sqlstate: 55026

SQL0284N clause の後にステートメントで指定された表スペース tablespace-name は、その節でサポートされるタイプの表スペースではないため、表の作成が失敗しました。 表スペースのタイプ: tablespace-type

説明

このメッセージは、表の作成先の表スペース・タイプでサポートされないプロパティーを使用して表を作成しようとした場合に返されます。

このメッセージは、以下のタイプの SQL ステートメントが実行された場合に返されることがあります。

  • CREATE TABLE
  • CREATE GLOBAL TEMPORARY TABLE
  • DECLARE GLOBAL TEMPORARY TABLE

このメッセージが返される原因となる非互換性の種類の例として、以下のような状況があります。

  • REGULAR または LARGE 表スペースではない表スペースで、正規表を作成しようとした。
  • USER TEMPORARY 表スペースではない表スペースで、一時表を作成または宣言しようとした。
  • managed by データベース表スペースではない表スペースで、挿入時クラスタリング (ITC) 表を作成しようとした。
  • MANAGED BY AUTOMATIC STORAGE として定義されておらず関連ストレージ・グループを持たない表スペースで、カラム・オーガナイズ表を作成しようとした。

ユーザーの処置

ステートメントを訂正して、clause 節に適切なタイプで 表スペースを指定してください。

sqlcode: -284

sqlstate: 42838

SQL0285N PRIMARY 表スペース tablespace-name がシステム管理表スペースであるため、表 table-name の索引と長い列のいずれか、または両方を、独立表スペースに割り当てることができません。

説明

PRIMARY 表スペースがシステム管理表スペースの場合は、表のすべての部分がその表スペースに入っている必要があります。 PRIMARY 表スペース、索引表スペース、LONG 表スペースがデータベース管理表スペースの場合にのみ、表の部分を独立表スペースに持つことができます。

ユーザーの処置

PRIMARY 表スペースにデータベース管理表スペースを指定するか、または表の部分を他の表スペースに割り当てないでください。

sqlcode: -285

sqlstate: 42839

SQL0286N 許可 ID user-name が使用を許可されている少なくとも pagesize のページ・サイズを持つ表スペースが検出されませんでした。

説明

CREATE TABLE、CREATE GLOBAL TEMPORARY TABLE、または DECLARE GLOBAL TEMPORARY TABLE ステートメントで表スペースが指定されませんでした。また、許可 ID user-name が USE 特権を持っている、十分なページ・サイズ (pagesize 以上) の適切なタイプ (作成済み一時表または宣言済み一時表の場合は USER TEMPORARY) の表スペースが見つかりませんでした。

表に十分なページ・サイズがあるかどうかは、行のバイト数あるいは 列の数で判別されます。

ユーザーの処置

pagesize 以上のページ・サイズがある 正しいタイプ (REGULAR または USER TEMPORARY) の表スペース が存在すること、また、その表スペースに対して 許可 ID user-name が USE 特権を持っていることを 確認してください。

sqlcode: -286

sqlstate: 42727

SQL0287N SYSCATSPACE はユーザー・オブジェクトには使用できません。

説明

CREATE TABLE または GRANT USE OF TABLESPACE ステートメントが、カタログ表のために予約されている 表スペース SYSCATSPACE を指定しました。

ユーザーの処置

別の表スペース名を指定してください。

sqlcode: -287

sqlstate: 42838

SQL0288N MANAGED BY SYSTEM 節を指定して LARGE 表スペースを定義することはできないため、ステートメントは失敗しました。

説明

LARGE 表スペースは、ラージ・オブジェクトおよび LONG ストリングを保管するために定義されます。これらのオブジェクトは、自動ストレージとして定義された表スペースにのみ保管されます。

LARGE 表スペースをシステム管理の表スペースとして作成しようとしたときに、このメッセージが返されます。

ユーザーの処置

このメッセージで報告された問題を解決するために、実行できるアクションのいくつかの例を以下に示します。

  • CREATE TABLESPACE ステートメントを LARGE 節なしで発行します。
  • CREATE TABLESPACE ステートメントを MANAGED BY AUTOMATIC STORAGE 節ステートメントと共に発行します。

sqlcode: -288

sqlstate: 42613

SQL0289N 表スペース tablespace-name の新規ページを割り振れません。

説明

1 つ以上のデータベース・パーティションで、以下に示す条件の 1 つが成立しています。

1

この SMS 表スペースに割り当てられたコンテナーのいずれかが、最大ファイル・サイズに達しました。 これが、エラーの原因である可能性があります。

2

この DMS 表スペースに割り当てられているすべてのコンテナーがいっぱいです。 これが、エラーの原因である可能性があります。

3

リバランスが進行中ですが、新しく追加されるスペースを使用できるようにするのに十分なものにまでは進んでいません。

4

リダイレクト・リストアの実行先のコンテナーが小さすぎます。

5

リダイレクト・リストアに続いてロールフォワードが実行されていますが、 この表スペースに割り当てられたコンテナーはすべてフルです。

6

コンテナー追加をスキップするロールフォワードが実行され、この表スペースに 割り当てられたすべてのコンテナーがフルになっています。

7

使用できる 5 個未満のエクステントを使って表スペースを作成しようとしました。

8

自動サイズ変更表スペースはその最大サイズに達し、コンテナーがすべてフルになっています。 あるいは、現行サイズと最大サイズの間にコンテナーを拡張または追加するための十分なスペースがないため、スペースの自動増加を行えません。

9

コンテナー・スペースが等しく配分されない初期サイズの値で自動ストレージ表スペースが作成されています。 そのため、高い方の値が使用されており、この値は指定された最大サイズを超えています。

10

自動サイズ変更が可能な DMS 表スペースはその最大サイズに達していませんが、コンテナーが存在するファイル・システムの 1 つがフルで、コンテナーを大きくすることができません。

11

自動サイズ変更が可能な DMS はその最大サイズに達しておらず、表スペースが存在するファイル・システムがフルになっていません。 ただし、コンテナー操作 (または後続のリバランス) は進行中で、それが完了するまで自動サイズ変更機能は中断されます。

ユーザーの処置

エラーの原因に対応するアクションを実行してください。

1

AUTOMATIC STORAGE 表スペースとして再作成するか、または (ディレクトリー数) >= (最大表サイズ / 最大ファイル・サイズ) になるようにより多くのディレクトリー (PATH) を持つ SMS 表スペースとして再作成してください。最大ファイル・サイズはオペレーティング・システムによって変わることに注意してください。 表スペースを AUTOMATIC STORAGE として再作成すると、ストレージ・グループを使用できます。

2

リバランサーが新しいページを使用できるようにした後で、新しいコンテナーを DMS 表スペースに追加して、操作をやり直してください。

3

リバランサーが終了するのを待ってください。

4

リダイレクト・リストアを大きなコンテナーで再度実行してください。

5

リダイレクト・リストアを大きなコンテナーで再度実行してください。

6

コンテナーの追加を許可してロールフォワードを再度実行するか、またはリダイレクト・リストアを大きなコンテナーに対して実行してください。

7

表スペースに使用できるエクステントが少なくとも 5 個あることを確認して、CREATE TABLESPACE ステートメントを再サブミットしてください。

8

表スペースの最大サイズを増やしてください。

9

初期サイズを減らすか、または表スペースの最大サイズを増やしてください。

10

表スペースにコンテナーの新規ストライプ・セットを追加してください。 既存のコンテナーはこれ以上大きくならず、表スペースの最後の範囲にあるそれらの新規コンテナーのみ自動サイズ変更の実行時に拡張されます。

11

操作および後続のリバランスが完了するのを待ってください。

sqlcode: -289

sqlstate: 57011

SQL0290N 表スペース・アクセスが許されていません。

説明

無効な状態にある表スペースへのアクセスが処理により試行されましたが、意図されたアクセスはその表スペースに対して許可されていません。

  • 表スペースが静止状態 (「Quiesced: SHARE」、「Quiesced: UPDATE」、または「Quiesced: EXCLUSIVE」) の場合は、 表スペースを静止状態に保留している処理のみが、その表スペースに対するアクセスを許されます。
  • 表スペースが他のいずれかの状態の場合は、現在の表スペースの状態を生じさせたアクションを実行する処理のみが、 その表スペースに対するアクセスを許されます。
  • アクティブなシステム一時表、作成済み一時表、または宣言済み一時表の入った SYSTEM または USER TEMPORARY 表スペースはドロップできません。
  • 表スペースが「リストア・ペンディング」状態でない限り、SET CONTAINER API はコンテナー・リストの設定に使用できません。

ユーザーの処置

解決策は以下のとおりです。

  • 表スペースが静止状態の場合は、その表スペースで 静止共有または静止更新の取得を試みてください。 あるいは、表スペースのリセットの静止を試みてください。
  • 表スペースが他のいずれかの状態の場合は、アクセスする前に、その表スペースが通常の状態に 戻るまで待ってください。

表スペースの状態に関する詳細については、「管理ガイド」を参照してください。

sqlcode: -290

sqlstate: 55039

SQL0291N 状態遷移は、表スペースでは許されていません。

説明

表スペースの状態の変更が試みられました。 新しい状態が表スペースの現在の状態との互換性がないか、または特定状態をオフにしようと試みたが、表スペースがその状態ではありません。

ユーザーの処置

表スペースの現在の状態に応じて、バックアップの完了、ロードの完了、 ロールフォワードの完了などが発生すると、表スペースの状態が変わります。 表スペース状態に関する詳細については、「systems administration guide」を参照してください。

sqlcode: -291

sqlstate: 55039

SQL0292N 内部データベース・ファイルが作成できませんでした。

説明

内部データベース・ファイルが作成できませんでした。

ユーザーの処置

そのファイルの入ったディレクトリーが、アクセス可能 (例えば、取り付けられている) であること、および データベース・インスタンス所有者によって書き込み可能であることをチェックしてください。

sqlcode: -292

sqlstate: 57047

SQL0293N 表スペース・コンテナーにアクセス・エラーが発生しました。

説明

このエラーは、以下のいずれかの条件によって発生した可能性があります。

  • コンテナー (ディレクトリー、ファイルまたはロー・デバイス) が 見つかりませんでした。
  • コンテナーに、適切な表スペースに所有されていることを示すタグが付いていません。
  • コンテナー・タグが壊れています。

このエラーはデータベースの始動時および ALTER TABLESPACE SQL ステートメントの処理時に返されます。

ユーザーの処置

次のアクションを試行してください。

  1. ディレクトリー、ファイル、または装置が存在し、ファイル・システムがマウントされている (それが独立したファイル・システム上にある場合) ことを確かめてください。 コンテナーは、データベース・インスタンス所有者によって、読み書き可能でなければなりません。
  2. 最新のバックアップがある場合は、表スペースまたはデータベースの リストアを試みてください。 正しくないコンテナーのためにリストアが失敗し、コンテナーが DEVICE タイプで ない場合は、まず手操作でそのコンテナーを取り除いてください。

エラーが SWITCH ONLINE オプション付きの ALTER TABLESPACE SQL ステートメントの処理から返された場合は、問題を訂正した後にステートメントを再発行してください。

エラーが残る場合、IBM サービス担当者に連絡してください。

sqlcode: -293

sqlstate: 57048

SQL0294N コンテナーはすでに使用中です。

説明

表スペース・コンテナーを共有できません。 このエラーの原因として可能性のあるものは以下のとおりです。

  • CREATE TABLESPACE または ALTER TABLESPACE ステートメントに、他の 表スペースですでに使用中のコンテナーが組み込まれていました。
  • CREATE TABLESPACE または ALTER TABLESPACE ステートメントに、ドロップされている表スペースからの コンテナーが組み込まれていましたが、DROP ステートメントはコミットされていませんでした。
  • データベース・パーティションを追加するのに使用される ALTER DATABASE PARTITION ステートメントが、同じ物理データベース・パーティションにある LIKE データベース・パーティションのコンテナーを使用していました。 そのため、これらのコンテナーはすでに使用中となっています。
  • CREATE TABLESPACE または ALTER TABLESPACE ステートメントが、単一の 物理データベース・パーティションの 2 つ以上の論理データベース・パーティションにある同じコンテナーを使用しようとしました。 同じコンテナーを、同じ物理データベース・パーティションの 2 つ以上のデータベース・パーティションに対して使用することはできません。
  • ADD DATABASE PARTITION コマンドまたは API が、同じ物理データベース・パーティションにある LIKE データベース・パーティションの SYSTEM TEMPORARY 表スペースからコンテナーを使用しました。 そのため、これらのコンテナーはすでに使用中となっています。
  • CREATE TABLESPACE ステートメント、ALTER TABLESPACE ステートメント、または CREATE DATABASE コマンドに、 もう存在していないけれども正しくドロップされていない、別のデータベースからの DMS コンテナーが組み込まれていました。 実際、このコンテナーは使用されていませんが、使用中であるとタグ付けされています。 そのため、タグが外されるまで、DB2 データ・サーバーはコンテナーの使用を許可しません。 ただし、タグが外されるときに、このコンテナーが同じデータベースまたは別のデータベースによって 使用中ではないことを確認することが重要です。 タグを外したときにコンテナーが使用中であれば、関係するデータベースは損傷を受けます。
  • REORG は使用する DMS 一時表スペースを自動選択しようとしましたが、 適切なページ・サイズのものが存在するものの、それは現在別の REORG コマンドによって使用されています。
  • データベース・パーティションを追加するのに使用された REDISTRIBUTE コマンドの ADD DBPARTITIONNUM オプションは、最も小さい番号のデータベース・パーティションにある表スペースの表スペース・コンテナー名に基づいて、新規に追加されたデータベース・パーティションで表スペース・コンテナー名を作成します。 これらのコンテナー名が絶対パスを指定しており、新規のデータベース・パーティションが、同じコンテナー名を使用するデータベース・パーティションと同じ物理装置に存在する場合、新規のパーティションのコンテナーはすでに使用されていることになります。
  • もはや存在しない、適切にドロップされなかったデータベースのコンテナーが RESTORE DATABASE コマンドによって検出されました。
  • 転送操作用に一時ステージング・データベースが作成された後で、一時ステージング・データベースが引き続き存在する間に、ターゲット・データベース上に表スペースを作成しようとしました。

ユーザーの処置

コンテナーがユニークかどうか確認してください。

  • CREATE または ALTER TABLESPACE ステートメントに対し、 表スペースに別のコンテナーを指定してください。
  • ドロップされた表スペースに属するコンテナーが組み込まれた CREATE または ALTER TABLESPACE ステートメントの場合、 DROP ステートメントがコミットされてから再度試行するか、あるいは別のコンテナーを指定してください。
  • ALTER DATABASE PARTITION ステートメントに対し、WITHOUT TABLESPACES 節を使用してこのステートメントを再発行し、新規データベース・パーティションのユニーク・コンテナーを作成するのに ALTER TABLESPACE ステートメントを使用してください。
  • 物理データベース・パーティション上に複数の論理データベース・パーティションが組み込まれた環境にある CREATE または ALTER TABLESPACE ステートメントの場合、同じコンテナーがこのような論理データベース・パーティションで指定されていないことを確認してください。
  • ADD DATABASE PARTITION コマンドまたは API に対し、WITHOUT TABLESPACES 節を使用してステートメントを再発行し、SYSTEM TEMPORARY 表スペースの新規データベース・パーティションでユニーク・コンテナーを作成するのに ALTER TABLESPACE ステートメントを 使用してください。
  • もう存在しなくても正しくドロップされていないデータベースに属していた DMS コンテナーの使用を試みている場合、db2untag ユーティリティーを使用して DB2 コンテナー・タグを外すことができます。 このタグが外されると DB2 はコンテナーの解放を考慮し、このコンテナーは CREATE TABLESPACE ステートメント、ALTER TABLESPACE ステートメント、または CREATE DATABASE コマンドで使用できます。

    注: db2untag の使用には十分に気を付けてください。 データベースによって使用されている コンテナーに対して db2untag コマンドを発行すると、そのコンテナーを使用していたデータベース、および現在でも使用しているデータベースの両方が損傷を受けます。

  • REORG の場合、必要な表スペースを使用していた最初の REORG が完了した後にコマンドを再サブミットするか、 または適切なページ・サイズの別の一時表スペースを提供して使用してください。
  • REDISTRIBUTE コマンドの場合、ADD DBPARTITIONNUM オプションを使用するのではなく、REDISTRIBUTE コマンドを発行する前に WITHOUT TABLESPACES 節を使用して ALTER DATABASE PARTITION GROUP ステートメントを発行し、新規データベース・パーティションのユニーク・コンテナーを作成するのに ALTER TABLESPACE ステートメントを使用してください。
  • (もはや存在しない、適切にドロップされなかったデータベースに属するコンテナーを扱う) RESTORE DATABASE コマンドの場合、コンテナーを除去してください。

    注: コンテナーを除去する前に、他のデータベースによってそれが使用されていないことを確認してください。

  • 転送操作用に一時ステージング・データベースが作成されている場合、ステージング・データベースが不要になった後でその一時ステージング・データベースを削除してから、ステージング・データベースの存在が原因でブロックされたターゲット上で操作を試行してください。

sqlcode: -294

sqlstate: 42730

SQL0295N 表スペースのすべてのコンテナー名を結合した長さが、長すぎます。

説明

コンテナーのリストを格納するために必要な合計スペースが、表スペース・ファイルのこの表スペースに割り当てられたスペースを超えました。

ユーザーの処置

以下の 1 つ以上を試みてください。
  • シンボリック・リンク、マウント・ファイル・システムなどを使用して、新しいコンテナー名を 短縮してください。
  • 表スペースのバックアップを行った後で、データベース管理ユーティリティーを使用して、コンテナーの数と名前の長さ、またはそのいずれかを減らしてください。 その後で、表スペースを新しいコンテナーにリストアしてください。

sqlcode: -295

sqlstate: 54034

SQL0296N オブジェクトに対するデータベースの制限に達したため、CREATE ステートメントが失敗しました。 制限: limit-number。 オブジェクト・タイプ・キーワード: object-keyword

説明

データベースに対して定義された、そのタイプのデータベース・オブジェクトの最大数がすでに存在する場合に、データベース・オブジェクトを作成しようとすると、このメッセージが返されます。

ユーザーの処置

以下のいずれかの方法で、このエラーに対処してください。

  • 使用していない同じタイプのデータベース・オブジェクトのいずれかを削除して、CREATE ステートメントを再発行してください。
  • 表スペースについては次のようにします。
    1. 複数の小さい表スペースから、より大きな 1 つの表スペースにデータを移動してください。
    2. 元の小さい表スペースを削除してください。
    3. CREATE ステートメントを再発行してください。
  • Hadoop 表の場合:
    • データベースで定義されているデータ・タイプの数の制限を超えた場合、CREATE TYPE ARRAY または CREATE TYPE ROW によって以前に作成されたタイプをドロップするか、タイプが ARRAY または ROW の列が含まれる Hadoop 表をドロップします。

sqlcode: -296

sqlstate: 54035

SQL0297N コンテナーのパス名またはストレージ・パスが長すぎます。

説明

以下に示す条件の 1 つが成立しています。
  • コンテナー名を指定する絶対パスが、最大許容長 (254 文字) を超えています。 データベース・ディレクトリーに関連するパスとして、コンテナーが 指定されている場合は、それら 2 つの値の連結が最大長を超えてはなりません。 管理通知ログで詳細を参照できます。
  • ストレージ・パスは最大許容長 (175 文字) を超えています。

ユーザーの処置

パスの長さを短くしてください。

sqlcode: -297

sqlstate: 54036

SQL0298N コンテナー・パスが正しくありません。

説明

コンテナー・パスが、以下のいずれかの要件に違反しています。

  • コンテナー・パスは、有効な完全修飾された絶対パス、または 有効な相対パスでなければなりません。 文字は、データベース・ディレクトリーに関連して 解釈されます。
  • EXTEND、REDUCE、RESIZE および DROP 操作に対し、指定されたコンテナー・パスが存在している必要があります。
  • パスはインスタンス ID に対して読み取り/書き込み可能でなければなりません (UNIX ベース・システムのファイル許可をチェックしてください)。
  • コンテナーはコマンドに指定したタイプでなければなりません (ディレクトリー、ファイルまたは装置)。
  • システム管理表スペースのコンテナー (ディレクトリー) は、コンテナーとして指定された場合は空でなければならず、他のコンテナーの下にネストしてはなりません。
  • 1 つのデータベースに対するコンテナーは、別のデータベースのディレクトリーの下に位置してはならず、別のデータベースに対して現れるディレクトリーの下にもなれない場合があります。 この規則は、形式が SQLnnnnn ('n' は数字) のディレクトリーには適用されません。
  • コンテナーは、オペレーティング・システムの ファイル・サイズ制限内でなければなりません。
  • ドロップ済みデータベース管理表スペースのコンテナー (ファイル) は、 すべてのエージェントが終了および開始した後で、 システム管理表スペースのコンテナー (ディレクトリー) としてのみ再利用できます。
  • リダイレクト・リストア中に、SMS コンテナーが DMS 表スペースに指定されたか、あるいは DMS コンテナーが SMS 表スペースに指定されました。
  • EXTEND、REDUCE、RESIZE、または DROP 操作に対して指定されたコンテナー・タイプは、コンテナーが作成されたときに指定されたコンテナー・タイプ (FILE または DEVICE) と一致しません。

このメッセージは、コンテナーへのアクセスを DB2 に禁止する、その他の予期しないエラーが発生した場合にも返されます。

クラスター・マネージャーを使用している場合、データベース・マネージャーがデータベース・コンテナー・パスをクラスター・マネージャー構成に追加することを失敗したときに、このエラーが戻されることがあります。クラスター・マネージャーがこのパスにアクセスできない場合、クラスター・マネージャーはこのパスに関連したフェイルオーバーを正常に管理できません。 クラスター・マネージャーからのエラー・メッセージは、db2diag ログ・ファイルに記録されます。

ユーザーの処置

別のコンテナー・ロケーションを指定するか、またはコンテナーを変更して DB2 に受け入れ可能にし (ファイル許可の変更など)、もう一度やり直してください。

クラスター・マネージャーを使用している場合、問題を訂正してコマンドを再サブミットしてください。

  1. db2diag ログ・ファイルを見て、クラスター・マネージャーからのエラー・メッセージがあるかどうかを調べます。
  2. db2diag ログ・ファイル内のクラスター・マネージャー・エラー・メッセージに応答することにより、データベース・マネージャーがパスをクラスター・マネージャー構成に追加することを妨げていた基本的な問題を訂正します。
  3. コマンドを再サブミットしてください。

sqlcode: -298

sqlstate: 428B2

SQL0299N コンテナーは、すでに表スペースに割り当てられています。

説明

追加しようとしたコンテナーが、すでに表スペースに割り当てられていました。

ユーザーの処置

別のコンテナーを選択して、もう一度やり直してください。

sqlcode: -299

sqlstate: 42731

SQL0301N 入力変数、式、またはパラメーター番号 number の値は、そのデータ・タイプのため、使用できません。

説明

number の位置にある変数、式、またはパラメーターは、そのデータ・タイプが、意図された値の使用法と非互換であるため、ステートメントに指定されたように使用できませんでした。

このエラーは、EXECUTE または OPEN ステートメント上の SQLDA 内に正しくないホスト変数または SQLTYPE 値を指定した場合に発生します。 ユーザー定義構造化タイプの場合、ホスト変数または SQLTYPE の関連する組み込みタイプがステートメントのトランスフォーム・グループで定義された TO SQL トランスフォーム関数のパラメーターと互換性がないことが考えられます。 文字データ・タイプと GRAPHIC データ・タイプ間で暗黙または明示的 cast を実行する場合、このエラーは、非 Unicode 文字または GRAPHIC ストリングを使ってそのような cast が試行されたことを示しています。

ステートメントは処理できません。

ユーザーの処置

ステートメント中のすべてのホスト変数のデータ・タイプがその使用法との間に互換性があることを確認してください。

sqlcode: -301

sqlstate: 07006

SQL0302N EXECUTE または OPEN ステートメント内のホスト変数の値が、対応する使用の範囲外にあります。

説明

入力ホスト変数値が、SELECT、VALUES、または準備されたステートメントに定義された使用の範囲外にあることが検出されました。

以下のいずれかが発生しました。

  • SQL ステートメントで使用されている対応するホスト変数またはパラメーター・マーカーがストリングとして定義されていますが、入力ホスト変数が長すぎるストリングを持っています。
  • SQL ステートメントで使用されている対応するホスト変数またはパラメーター・マーカーが数値として定義されていますが、入力ホスト変数が範囲外の数値を持っています。
  • 終了のための NUL 文字が C 言語の NULL で終了する文字ストリング・ホスト変数から欠落しています。
  • フェデレーテッド・システム・ユーザーの場合: パススルー・セッションの場合、データ・ソース特有の制約事項に違反している可能性があります。

このエラーは、EXECUTE または OPEN ステートメント上の SQLDA に正しくないホスト変数、または正しくない SQLLEN 値を指定したときに発生します。

ステートメントは処理できません。

ユーザーの処置

入力ホスト変数値のタイプと長さが正しいことを確認してください。

入力ホスト変数でパラメーター・マーカーに値を与えている場合は、その値がパラメーター・マーカーの暗黙的なデータ・タイプと長さと一致するようにしてください。

フェデレーテッド・システム・ユーザーの場合: パススルー・セッションの場合、どのデータ・ソースがエラーの原因かを判別してください。

どの特定制約事項を違反したのか判別するためにそのデータ・ソースの SQL ダイアレクトを調べ、失敗したステートメントを必要に応じて調整してください。

sqlcode: -302

sqlstate: 22001, 22003

SQL0303N データ・タイプに互換性がないため、SELECT、VALUES、FETCH、 または割り当てステートメントのホスト変数に、値を割り当てられません。

説明

組み込まれた SELECT、VALUES、FETCH、または割り当てステートメントが、ホスト変数に値を割り当てようとしましたが、 変数のデータ・タイプと、対応する SELECT-list、VALUES-list、または割り当てステートメントの右側のエレメントの データ・タイプに互換性がありません。 ユーザー定義のデータ・タイプの場合、ホスト変数は、ステートメントのトランスフォーム・グループで定義された FROM SQL トランスフォーム関数の結果タイプとは互換性のない関連した組み込みデータ・タイプを使用して定義される場合があります。 例えば、列のデータ・タイプが日付または時刻の場合は、変数のデータ・タイプは適切な最小長を持つ文字でなければなりません。

ステートメントは処理できません。

ユーザーの処置

表定義が現在のものであり、ホスト変数が適切なデータ・タイプであることを確認してください。 ユーザー定義のデータ・タイプの場合、ホスト変数の関連する組み込みタイプが、ステートメントのトランスフォーム・グループ で定義された FROM SQL トランスフォーム関数の互換性のあるタイプと互換性があることを確認してください。

sqlcode: -303

sqlstate: 42806

SQL0304N 値がホスト変数のデータ・タイプの範囲外なので、その値をホスト変数に割り当てることができません。

説明

ホスト変数リストへの FETCH、VALUES、SELECT、または割り当ては、 ホスト変数が検索された値を保留するのに十分な大きさでないため、失敗しました。

ステートメントは処理できません。 データは取り出されませんでした。

ユーザーの処置

表定義が現在のものであり、ホスト変数が適切なデータ・タイプであることを確認してください。 SQL データ・タイプの範囲については、「SQL リファレンス」を参照してください。

フェデレーテッド・システム・ユーザーの場合: データ・ソースから返されたデータ・タイプの範囲については、そのデータ・ソースの資料を参照してください。

sqlcode: -304

sqlstate: 22001, 22003

SQL0305N 標識変数が指定されていないので、ホスト変数に NULL 値を割り当てられません。

説明

FETCH、代入、または組み込み SELECT または VALUES 操作の結果として、標識変数が指定されていないホスト変数に挿入される NULL 値を取り出しました。 列が NULL 値を返す可能性がある場合は、標識変数を指定する必要があります。

ステートメントは処理できません。 データは取り出されませんでした。

ユーザーの処置

FETCH または SELECT オブジェクト表の定義、VALUES リストのエレメント、 または割り当てステートメントの右側を調べてください。 それらの列の NULL 値を取り出すことができるすべてのホスト変数に対して、標識変数を指定するように、プログラムを修正してください。

sqlcode: -305

sqlstate: 22002

SQL0306N ホスト変数 name が定義されていません。

説明

ホスト変数 name が DECLARE SECTION で宣言されていません。

ステートメントは処理できません。

ユーザーの処置

ホスト変数が宣言されていること、またその名前のつづりが正しいことを確認してください。

SQL0307N ホスト変数 name はすでに定義されています。

説明

ホスト変数 name は、すでに DECLARE SECTION で定義されています。

定義は無視されます。 代りに、前回の定義が使用されます。

ユーザーの処置

ホスト変数のつづりが正しく、名前は 1 つのプログラムにつき 1 回だけ定義されていることを確認してください。

SQL0308N ホスト変数の数の制限に達しました。

説明

ホスト変数の数の制限は、SYSPLAN の HOST_VARS 列に指定された値によって異なります。 この制限に達しました。

残りの変数宣言は無視されます。

ユーザーの処置

プログラムを単純にするか、または個別の小さいプログラムに分割してください。

SQL0309N OPEN ステートメントのホスト変数の値が NULL ですが、対応する他のステートメントでは NULL 値は使用できません。

説明

入力ホスト変数の値が NULL でしたが、SELECT、VALUES、または準備されたステートメントでの対応する使用法に、標識変数が指定されていませんでした。

ステートメントは処理できません。

ユーザーの処置

USING 節を使用する必要があることを確認してください。 別の方法としては、必要な場合にのみ標識変数が指定されていることを確認してください。

sqlcode: -309

sqlstate: 07002

SQL0310N SQL ステートメントに含まれるホスト変数が多すぎます。

説明

ステートメント中のホスト変数が最大数を超えています。

ステートメントは処理できません。

ユーザーの処置

ステートメントのホスト変数を減らすか、またはステートメントが複雑すぎないことを確認してください。

SQL0311N ストリング・ホスト変数番号 var-number の長さが、負であるか、または最大を超えています。

説明

評価時に、SQLDA の項目が <var-number> (1 に基づく) で示されるストリング・ホスト変数の長さ指定が負であるか、またはそのホスト変数に定義された最大長より長くなっています。

ステートメントは処理できません。

ユーザーの処置

プログラムを訂正して、すべてのストリング・ホスト変数の長さが負の値ではないか、あるいは最大長より短くするようにしてください。

sqlcode: -311

sqlstate: 22501

SQL0312N 次のホスト変数が、未定義であるか、サポートされていない方法で使用されたために、ステートメントは処理されませんでした: variable_name

説明

このメッセージは、ホスト変数が次に示す無効な方法で使用された場合に戻されることがあります。

  • ホスト変数 variable_name が動的 SQL ステートメントまたは DDL ステートメントで使用された。
  • ホスト変数 variable_name が構造体であり、構造体参照が許可されていない場所で使用された。

ユーザーの処置

次のいずれかのステップを行ってから、ステートメントを再実行してください。

  • 動的 SQL ステートメントでは、ホスト変数の代わりにパラメーター・マーカーを使用します。
  • DDL ステートメントでは、ホスト変数への参照を削除します。
  • 構造体参照を、構造体ではないホスト変数に置き換えます。
  • 式ベースの索引の定義の式キーからホスト変数を削除します。
  • 複数の構造体配列を宣言していた場合は、それらの宣言を 1 つ以外すべて削除します。

sqlcode: -312

sqlstate: 42618

SQL0313N EXECUTE ステートメントの変数の数、OPEN ステートメントの変数の数、またはパラメーター化カーソルの OPEN ステートメントの引数の数が、必要な値の数と等しくありません。

説明

EXECUTE または OPEN ステートメントで指定されている変数の数が、SQL ステートメントのパラメーター・マーカーで必要なホスト変数の数と同じではありません。

パラメーター化カーソルが参照される場合、カーソル引数の数は予期される数と同じにはなりません。

ユーザーの処置

EXECUTE または OPEN ステートメントで指定されている変数の数と、SQL ステートメントのパラメーター・マーカーの数が同じになるように、アプリケーション・プログラムを訂正してください。

正しい数の引数が指定されるように、パラメーター化カーソル参照を訂正してください。

sqlcode: -313

sqlstate: 07001, 07004

SQL0314N ホスト変数 name の宣言が正しくありません。

説明

ホスト変数 name の宣言が、以下のいずれかの理由により正しくありません。

  • 指定したタイプがサポートされていません。
  • 指定した長さがゼロか、負か、または大きすぎます。
  • 初期化指定子を使用しています。
  • 指定した構文が正しくありません。
  • 最大許容値より大きいカーディナリティーのホスト変数配列が指定されています。

変数は定義されません。

ユーザーの処置

データベース・マネージャーがサポートする宣言のみを、正しく指定していることを確認してください。

SQL0315N ホスト変数の宣言が正しくありません。

説明

ホスト変数の宣言が、以下のいずれかの理由により正しくありません。
  • 指定したタイプがサポートされていません。
  • 指定した長さがゼロか、負か、または大きすぎます。
  • 指定した構文が正しくありません。

変数は定義されません。

ユーザーの処置

データベース・マネージャーがサポートする宣言のみを、正しく指定していることを確認してください。

SQL0317N BEGIN DECLARE SECTION の後に END DECLARE SECTION がありません。

説明

DECLARE SECTION の処理中に、入力の終わりに達しました。

プリコンパイルは終了します。

ユーザーの処置

DECLARE SECTION を終了させるための END DECLARE SECTION ステートメントを追加してください。

SQL0318N 先行する BEGIN DECLARE SECTION がない END DECLARE SECTION が見つかりました。

説明

END DECLARE SECTION ステートメントが見つかりましたが、先行する BEGIN DECLARE SECTION がありません。

ステートメントは処理できません。

ユーザーの処置

END DECLARE SECTION の前に BEGIN DECLARE SECTION を入力してください。

SQL0324N usage 変数 name は間違ったタイプです。

説明

INDICATOR 変数 name が短整数でないか、または STATEMENT 変数 name が文字データ・タイプではありません。

ステートメントは処理できません。

ユーザーの処置

変数が正しいタイプで、正しく指定されていることを確認してください。

SQL0327N 定義済みデータ・パーティションの範囲外であるため、行を表 table-name に挿入できません。

説明

操作が挿入または更新である場合、行の表パーティション・キーの値が定義済みデータ・パーティションの値の範囲に入っていません。

操作が表を変更してパーティション表にする場合、定義済みデータ・パーティションの値の範囲に入らない表パーティション・キー値を持つ行が、表に 1 つ以上存在します。

ステートメントは処理できません。

ユーザーの処置

挿入または更新操作の場合は、表パーティション・キー列が表のデータ・パーティションの指定範囲に入っているかどうか確認してください。

追加データ・パーティションを表に追加する必要がある場合があります。

表を変更してパーティション表にする場合は、表のすべてのデータがデータ・パーティションの範囲に入るように必要な範囲が指定されているかどうか確認してください。

sqlcode: -327

sqlstate: 22525

SQL0329N パス名リスト string-constant-or-host-variable が無効です。

説明

ストリング定数または入力ホスト変数 string-constant-or-host-variable に、無効なパス名リストが含まれています。 SQL パス (FUNCPATH BIND オプションまたは CURRENT PATH 特殊レジスター) または パッケージ・パス (CURRENT PACKAGE PATH 特殊レジスター) のスキーマ名の最大数を超過しました。 この限度について詳しくは、「SQL リファレンス」の限度に関する付録を参照してください。

ステートメントまたはコマンドが処理されません。

ユーザーの処置

限度を超えないように、より少ないスキーマ名を指定してください。 ユーザー定義関数、プロシージャー、メソッド、特殊タイプ、またはパッケージを 統合してより少数のスキーマにすることを検討してください。

sqlcode: -329

sqlstate: 0E000

SQL0330N ストリングは、処理不能なため、使用できません。 理由コード = reason-code。 コード・ポイント = code-point。 ホスト変数位置 = host-variable-position

説明

ストリングを異なるコード化文字セットに変換中に変換エラーが発生したため、ストリングを処理できません。 エラーのタイプは reason-code に示されます:
8
長さ例外 (例えば、PC MIXED データに必要な拡張がストリングの最大長を超えている)。
12
無効なコード・ポイント (例えば、SYSSTRINGS の ERRORBYTE オプションを使用している)。
16
形式例外 (例えば、無効な MIXED データ)。
20
変換プロシージャー・エラー (例えば、z/OS サーバー上の出口でストリングの長さ制御フィールドが無効な値に設定された)。
24
wchar_t host 変数に含まれるストリングで 1 バイト文字が見つかった。

reason-code が 12 の場合、code-point は無効なコード・ポイントです。 それ以外の場合、code-point はブランクまたは出口から戻された追加の理由コードのどちらかです。 ストリングが入力ホスト変数の値である場合、position-number は SQLDA 内の変数の順序を表します。 ストリングがホスト変数の値ではない場合、position-number はブランクです。

ステートメントは処理できません。

ユーザーの処置

理由コードに基づいて、以下のいずれかのアクションを行ってください。
8
ストリング変換時に生じる拡張を見越して、ホスト変数の最大長を拡張してください。
12
変換表を変更してコード・ポイントを受け入れるか、またはデータを変更してコード・ポイントを除去します。
16
ストリングが MIXED データとして記述されている場合は、その記述を変更するか、または整形式混合データの規則に準拠するストリングに変更します。
20
変換プロシージャーを訂正してください。
24
グラフィック・ストリングから 1 バイト文字を削除してください。

sqlcode: -330

sqlstate: 22021

SQL0332N ソース・コード・ページ source-code-page からターゲット・コード・ページ target-code-page への文字変換はサポートされていません。

説明

source-code-pagetarget-code-page との間のコード・ページ変換はないため、操作は失敗しました。 これは、以下のいずれかが理由である可能性があります。

  1. ソース・コード・ページとターゲット・コード・ページの文字リポジトリーが非互換であるため、ソース・コード・ページとターゲット・コード・ページとの間の変換時に、文字の消失および破損が引き起こされる可能性があります。
  2. この特定のコード・ページ変換はサポートされていません。

このエラーの原因として考えられる操作には、以下が含まれます。

  • クライアントのコード・ページがデータベース・コード・ページと異なる場合に、クライアントをデータベースに接続する。
  • クライアントのコード・ページがデータベース・コード・ページと異なる場合に、SQL ステートメントを実行する。
  • ファイルのコード・ページがデータベース・コード・ページと異なる場合に、IXF ファイルをインポートまたはエクスポートする。
  • フェデレーテッド・システム・ユーザーの場合: データ・ソースは指定されたコード・ページ変換をサポートしません。

ユーザーの処置

  1. ソースとターゲットのコード・ページに互換性を持たせてください。 クライアントのコード・ページを、データベース・コード・ページと互換性があるように設定するには、以下のようにします。
    • UNIX プラットフォーム上で、LANG、LC_CTYPE、または LC_ALL 環境変数を、データベース・コード・ページと互換性があるコード・ページを持つロケールに設定します。 有効なロケール名およびそれぞれに関連したコード・ページについては、プラットフォームの資料を参照してください。
    • Windows プラットフォーム上では、DB2CODEPAGE レジストリー変数を設定して、クライアントのコード・ページをデータベース・コード・ページと互換性がある値でオーバーライドします。
  2. ソースとターゲットのコード・ページに互換性がある場合、現在のところ DB2 はこの特定のコード・ページの変換をサポートしません。 そのようなサポートが追加可能かどうかについては、技術サービス担当者にお問い合わせください。

DB2 UDB for System i ユーザーは、CCSID 65535 がある文字列またはグラフィック列はサポートされないことに注意してください。 CCSID 65535 がある文字列またはグラフィック列は、DB2 Connect を使用してアクセスする前に、サポートされる CCSID に (CAST を使用して) 変換する必要があります。

sqlcode: -332

sqlstate: 57017

SQL0334N コード・ページ source からコード・ページ target への変換中にオーバーフローが発生しました。 ターゲット域の最大サイズは、max-len でした。 ソース・ストリングの長さは source-len で、その 16 進数表記は string でした。

説明

SQL ステートメントの実行中に、コード・ページ変換処理の 結果が、ターゲット・オブジェクトの最大サイズより大きな ストリングになりました。

ユーザーの処置

以下を行って、状況に応じて、オーバーフロー条件が発生しないようにデータを修正してください。

  • ソース・ストリングの長さを短くするか、あるいはターゲット・オブジェクトのサイズを大きくしてください (このリストに続いて記載された注を参照してください)。
  • 操作を変えてください。
  • 暗号化されたデータ値を暗号化解除関数で使用する前に、バイト数のより多い VARCHAR ストリングにキャストしてください。
  • アプリケーション・コード・ページとデータベース・コード・ページが同じであることを確認してください。 同じであれば、ほとんどの接続でコード・ページ変換は必要なくなります。

注: 文字変換の一部として文字または GRAPHIC ストリングのデータ・タイプの自動プロモーションが行われることはありません。 結果のストリングの長さがソース・ストリングのデータ・タイプの最大長を超えた場合には、オーバーフローが発生します。 この状況を訂正するには、ソース・ストリングのデータ・タイプを変更するか、または変換してストリング長を長くするためにデータ・タイプをキャストします。

sqlcode: -334

sqlstate: 22524

SQL0336N 10 進数の位取りをゼロにする必要があります。

説明

10 進数は、位取りがゼロでなければならないコンテキストにおいて使用されます。 これは、10 進数が START WITH、INCREMENT、MINVALUE、MAXVALUE、または RESTART WITH の CREATE または ALTER SEQUENCE ステートメントで指定されたときに発生します。

ステートメントは処理できません。

ユーザーの処置

10 進数の区切り文字の右側にある、ゼロ以外の数字を除去してください。

sqlcode: -336

sqlstate: 428FA

SQL0338N JOIN 演算子または MERGE ステートメントに関連付けられている ON 節が無効です。

説明

JOIN 演算子または MERGE ステートメントに関連した ON 節が、次の理由の 1 つのため、有効ではありません。
  • ON 分節内の列参照は、ON 節のスコープ内にある表の列のみを参照しています。
  • 全外部結合の ON 節で参照される関数は決定的なものであり外部アクションは不要です。
  • 間接参照操作 (->) は使用できません。
  • MERGE ステートメントの ON 節に副照会を含めることはできません。
  • MERGE ステートメントの ON 節にスカラー全選択を含めることはできません。
  • MERGE ステートメントの ON 節に、インライン SQL 関数およびインライン SQL メソッドを含めることはできません。

ステートメントは処理できません。

ユーザーの処置

ON 節を修正して適切な列を参照するか、または間接参照演算子を削除してください。

全外部結合を使用する場合には、ON 節のすべての関数が決定的なもので外部アクションが必要のないことを確認してください。

MERGE ステートメントの ON 節の場合は、副照会、スカラー全選択、インライン SQL 関数、またはインライン SQL メソッドを削除してください。

sqlcode: -338

sqlstate: 42972

SQL0340N 共通表式 name が、同じステートメント内の共通表式定義の他のオカレンスと同じ ID を持っています。

説明

共通表式名 name が、ステートメントの複数の共通表式の定義で使用されています。 共通表式の記述に使用される名前は、同じステートメント内でユニークでなければなりません。

ステートメントは処理できません。

ユーザーの処置

共通表式のいずれかの名前を変更してください。

sqlcode: -340

sqlstate: 42726

SQL0341N 共通表式 name1name2 の間に、循環参照が存在しています。

説明

共通表式 name1 が全選択内の FROM 節の name2 を参照し、name2 が全選択内の FROM 節の name1 を参照しています。 上記の形態の循環参照は許されていません。

ステートメントは処理できません。

ユーザーの処置

いずれかの共通表式から循環参照を取り除いてください。

sqlcode: -341

sqlstate: 42835

SQL0342N 共通表式 name が再帰的なため、SELECT DISTINCT は使用できず、UNION ALL を使用する必要があります。

説明

上記について、以下の 2 つの説明が考えられます。
  • 共通表式が再帰的なため、共通表式 name 内の全選択は、SELECT DISTINCT で開始することができません。
  • 共通表式 name 内の全選択が、再帰的な共通表式に必要な UNION ALL の代わりに、UNION を指定しています。

ステートメントは処理できません。

ユーザーの処置

キーワード DISTINCT を共通表式から取り除いて、UNION の後にキーワード ALL を追加するか、または共通表式内の再帰参照を取り除いてください。

sqlcode: -342

sqlstate: 42925

SQL0343N 再帰共通表式 name には、列名が必要です。

説明

再帰共通表式 name は、共通表式の ID の後に列名を指定する必要があります。

ステートメントは処理できません。

ユーザーの処置

共通表式の ID の後に、列名を追加してください。

sqlcode: -343

sqlstate: 42908

SQL0344N 再帰共通表式 name には、列 column-name に適合しないデータ・タイプ、長さ、コード・ページがあります。

説明

再帰共通表式 name が、共通表式の繰り返し全選択で参照される列 column-name を持っています。 データ・タイプ、長さ、およびコード・ページは、この列の初期化全選択にもとづいて設定されます。 繰り返し全選択の列 column-name に対する式の結果が、その列に値を割り当てない可能性がある異なるデータ・タイプ、長さ、またはコード・ページになりました。

ステートメントは処理できません。

ユーザーの処置

再帰共通表式の全選択で使用している列を、初期化列が繰り返し列と一致するように修正してください。

sqlcode: -344

sqlstate: 42825

SQL0345N 再帰的共通表式 name の全選択は、2 つ以上の全選択の UNION でなければならず、列関数、GROUP BY 節、HAVING 節、ORDER BY 節、または ON 節を含む明示的な結合を含むことはできません。

説明

共通表式 name に、それ自体に対する参照が入っているため、以下のようになります。
  • 2 つ以上の全選択の合併でなければなりません。
  • GROUP BY 節を組み込むことはできません。
  • 列関数を持つことはできません。
  • HAVING 節を組み込むことはできません。
  • 繰り返し全選択に ORDER BY 節を含むことはできません。
  • ON 節との明示的な結合を組み込むことはできません。

ステートメントは処理できません。

ユーザーの処置

以下のように共通表式を変更してください。
  • 2 つ以上の全選択の合併を作成する。
  • 一部の列関数、GROUP BY 節、HAVING 節、ORDER BY 節、または ON 節を含む明示的な結合を除去する。
  • 再帰参照を取り除く。

sqlcode: -345

sqlstate: 42836

SQL0346N 同じ FROM 節、または副照会の FROM 節に 2 回目のオカレンスがあるため、共通表式 name に対する無効な参照が最初の全選択で発生しました。

説明

共通表式 name に、以下のいずれかによって記述されている、それ自体に対する無効な参照が入っています。
  • UNION ALL セット演算子の前にある最初の全選択の再帰参照。 最初の全選択は初期化でなければならず、再帰参照を組み込むことはできません。
  • 同じ FROM 節の同じ共通表式に対する複数の参照。 上記の参照は、再帰共通表式では許されていません。
  • 副照会の FROM 節の再帰照会。 再帰循環は、副照会では定義できません。

ステートメントは処理できません。

ユーザーの処置

以下のいずれかを行ってください。
  • 合併演算子の前にある全選択を、再帰参照を組み込まないように変更してください。
  • 同じ共通表式に対する複数の参照の入った FROM 節を、ただ 1 つの参照に変更してください。
  • 副照会の FROM 節を、共通表式を参照しないように変更してください。

sqlcode: -346

sqlstate: 42836

SQL0347W 再帰共通表式 name に、無限ループが含まれている可能性があります。

説明

name という名前の再帰共通表式が、完了しない可能性があります。 この警告は、再帰共通表式の繰り返し部分の一部として、特定の構文が見つけられないことに基づいています。 予期されている構文は、以下のとおりです。
  • 繰り返し選択リストの INTEGER 列の 1 ずつの増加
  • "counter_col < constant" または "counter_col < :hostvar" 形式の繰り返し部分の節の WHERE 節の述部。

再帰共通表式にこの構文がないため、結果として無限ループになる可能性があります。 再帰共通表式のデータまたは他の特性のおかげで、ステートメントが正常に完了する場合があります。

ユーザーの処置

無限ループを避けるには、上記の構文を組み込んでください。

sqlcode: +347

sqlstate: 01605

SQL0348N sequence-expression はこのコンテキストでは指定できません。

説明

ステートメントに、無効なコンテキストで NEXT VALUE 式または PREVIOUS VALUE 式が入っています。 以下のコンテキストには、NEXT VALUE 式および PREVIOUS VALUE 式を指定できません。
  • 完全外部結合の結合条件
  • CREATE TABLE または ALTER TABLE ステートメント内の列の DEFAULT 値
  • CREATE TABLE または ALTER TABLE ステートメント内の生成された列定義
  • CHECK 制約の条件
  • CREATE TRIGGER ステートメント (NEXT VALUE 式が指定される可能性がありますが、PREVIOUS VALUE 式は指定されません)
  • CREATE VIEW ステートメント、CREATE METHOD ステートメントまたは CREATE FUNCTION ステートメント
以下のコンテキストには、NEXT VALUE 式を指定できません。
  • CASE 式
  • 総計関数の引数リスト
  • INSERT、UPDATE または VALUES INTO ステートメントの全選択を除く副照会
  • 外部 SELECT に DISTINCT 演算子を備えた SELECT ステートメント
  • 外部 SELECT に GROUP BY 節を備えた SELECT ステートメント
  • 結合の結合条件
  • 外部 SELECT ステートメントが、UNION、INTERSECT、または EXCEPT セット演算子を使用する別の SELECT ステートメントと結合した SELECT ステートメント
  • ネストされた表の式
  • 表関数の引数リスト
  • XMLTABLE、XMLQUERY、または XMLEXISTS 式の引数リスト
  • 最外部の SELECT ステートメント、DELETE、または UPDATE ステートメントの WHERE 節
  • 最外部の SELECT ステートメントの ORDER BY 節
  • UPDATE ステートメントの SET 節における、式の全選択の SELECT 節
  • SQL ルーチンにおける IF、WHILE、DO...UNTIL、または CASE ステートメント
  • CONNECT_BY_ROOT 演算子および SYS_CONNECT_BY_PATH 関数の引数リスト
  • START WITH および CONNECT BY 節

ステートメントは実行できません。

ユーザーの処置

シーケンス式への参照を除去して、ステートメントを再サブミットしてください。

sqlcode: -348

sqlstate: 428F9

SQL0349N 位置 column-position にある列の NEXT VALUE 式の指定は、すべての行の同じ列の他のすべての式の指定に一致していなければなりません。

説明

複数行 INSERT ステートメントの VALUE 節または VALUE 式の位置 column-position にある列に指定された式に、NEXT VALUE 式が入っています。 NEXT VALUE 式の入った式がこれらのいずれかにある列の値を指定するために使用されているとき、その同じ式がすべての行のその列に指定されていなければなりません。 例えば、以下の INSERT ステートメントは正常に処理されます。
INSERT INTO T1 
  VALUES(
    NEXT VALUE FOR sequence1 + 5, 'a'
    ),
    (
    NEXT VALUE FOR sequence1 + 5, 'b'
    ),
    (
    NEXT VALUE FOR sequence1 + 5, 'c'
    )
ただし、以下の INSERT ステートメントは失敗します。
INSERT INTO T1 
  VALUES(
    NEXT VALUE FOR sequence1 + 5, 'a'
    ),
    (
    NEXT VALUE FOR sequence1 + 5, 'b'
    ),
    (
    NEXT VALUE FOR sequence1 + 4, 'c'
    )

ユーザーの処置

構文を訂正して、ステートメントを再サブミットしてください。

sqlcode: -349

sqlstate: 560B7

SQL0350N 列のデータ・タイプがサポートされないコンテキストで、列 column-name が暗黙的または明示的に参照されました。

説明

以下のいずれかの理由で、ALTER ステートメント、CREATE ステートメント、または DECLARE GLOBAL TEMPORARY TABLE ステートメントが無効です。

  • LOB、LONG VARCHAR、LONG VARGRAPHIC、XML、または構造化タイプの列は、キーでは使用できません。
  • LOB、LONG VARCHAR、LONG VARGRAPHIC、XML、または構造化タイプの列は、ユニーク制約では使用できません。
  • LOB、LONG VARCHAR、LONG VARGRAPHIC、XML、または構造化タイプの列は、生成された列では使用できません。
  • LONG VARCHAR、LONG VARGRAPHIC、SYSPROC.DB2SECURITYLABEL、XML、または構造化タイプの列は、作成済み一時表では使用できません。
  • LONG VARCHAR、LONG VARGRAPHIC、SYSPROC.DB2SECURITYLABEL、特殊タイプ、または構造化タイプの列は、宣言済み一時表では使用できません。
  • LOB 列は索引定義では使用できません。
  • XML 列のほかに列がなく、XMLPATTERN 節が指定されている場合にのみ、索引定義で XML 列を使用できます。
  • 構造化タイプ列のほかに列がなく、関連する索引拡張子が指定されている場合にのみ、索引定義で構造化タイプ列を使用できます。
  • 列マスクまたは行の許可の定義が LOB 列および XML 列を参照できません。
  • LOB 列または XML 列について列マスクを定義できません。
  • Hadoop 表では:
    • 配列タイプの列は固有の定義では使用できません。
    • 行タイプの列は固有の定義では使用できません。
    • 配列タイプの列は主キー定義では使用できません。
    • 行タイプの列は主キー定義では使用できません。
    • 配列タイプの列は索引定義では使用できません。
    • 行タイプの列は索引定義では使用できません。
    • 最初の列に、配列データ・タイプまたは行データ・タイプを含めることはできません。

また、基本データ・タイプが上記リストのいずれかの制約を受けるような特殊タイプ列にも、同じ制限が適用されます。

ステートメントは処理できません。

ユーザーの処置

データ・タイプがサポートされないコンテキストから列を除去するか、列のデータ・タイプを変更します。 XML 列または構造化タイプ列を索引付けする場合は、そのほかに列がなく、索引定義に適切な節が組み込まれていることを確認してください。

sqlcode: -350

sqlstate: 42962

SQL0351N サポートされていない SQLTYPE が出力 SQLDA (選択リスト) の位置 position-number で検出されました。

説明

位置 position-number の SQLDA のエレメントは、アプリケーション・リクエスターまたはアプリケーション・サーバーがサポートしないデータ・タイプのためのものです。 アプリケーションが SQLDA ディレクトリーを使用していない場合は、position-number は選択リストまたは CALL ステートメントのパラメーターのエレメントの位置を表します。

ステートメントは処理できません。

ユーザーの処置

ステートメントを変更して、サポートされていないデータ・タイプを除去してください。 SELECT ステートメントについては、サポートされていないデータ・タイプを持つ選択リスト内の列の名前を除去するか、または照会でキャストを使用して、サポートされているデータ・タイプに列をキャストしてください。

sqlcode: -351

sqlstate: 56084

SQL0352N サポートされていない SQLTYPE が入力リスト (SQLDA) の位置 position-number で検出されました。

説明

位置 position-number の SQLDA のエレメントは、アプリケーション・リクエスターまたはアプリケーション・サーバーがサポートしないデータ・タイプのためのものです。 アプリケーションが SQLDA ディレクトリーを使用していない場合は、position-number は入力ホスト変数、パラメーター・マーカー、または CALL ステートメントのパラメーターの位置を表します。

ステートメントは処理できません。

ユーザーの処置

ステートメントを変更して、サポートされていないデータ・タイプを除去してください。

sqlcode: -352

sqlstate: 56084

SQL0355N 定義されている列 column-name が、ログに記録するには大きすぎます。

説明

ラージ・オブジェクト・データ・タイプ (BLOB、CLOB、DBCLOB) は、最大 2 ギガバイト (2,147,483,647 バイト) のサイズで作成される可能性があります。 データ値のロギングは、サイズが 1 ギガバイト (1,073,741,823 バイト) 以下のオブジェクトに対してのみ許されています。 したがって、サイズが 1 ギガバイトを超えるラージ・オブジェクトは、ログに記録することができません。

ユーザーの処置

列の作成中に NOT LOGGED 句を使用して、明示的にデータのロギングが必要ないことを示すか、または列の最大サイズを 1 ギガバイトまたはそれ以下まで減らしてください。

sqlcode: -355

sqlstate: 42993

SQL0356N キー式が無効であるため、索引は作成されませんでした。キー式: expression-number。理由コード: reason-code

説明

式ベースのキーを含む表索引を作成することができます。式ベースのキーを含む索引を作成しようとして、次に示す条件のいずれかが存在する場合に、このメッセージが返されます。

  • 式ベースのキーの定義のいずれかについて何かが無効である
  • 表が式ベースのキーをサポートしていない

ランタイム・トークン expression-number が、ステートメント内の無効なキー式を特定します。例えば、CREATE INDEX ステートメントに 2 つのキー式があり、2 番目のキー式が無効な場合、expression-number の値は「2」になります。式の番号を判別できない場合は、デフォルト値である「*」が返されます。

次の理由コードが、キー式で何が無効であったかを示します。

1

キー式に副照会が含まれていました。

2

キー式に 1 つ以上の列への参照が含まれていませんでした。

3

キー式が特殊レジスターを参照しているか、または特殊レジスターの値に依存する関数を参照していました。

5

キー式にユーザー定義の関数が含まれていました。

6

同じキー式が索引定義に複数回出現します。

15

キー式がグローバル変数を参照しているか、グローバル変数の値に依存する関数を参照していました。

16

キー式がシーケンスを参照していました。

17

キー式が、次に示すサポートされていないタイプの関数を参照していました。

  • 非 deterministic 関数
  • 外部アクションを伴う関数
  • 次に示すサポートされていないアクセス・レベルの関数:
    • READ SQL DATA
    • MODIFIES SQL DATA
18

キー式にサポートされていないデータ・タイプの値が含まれていました。

19

キー式に集約関数または OLAP 仕様が含まれていました。

20

索引定義に SCOPE 節が組み込まれており、キー式に次のいずれかが含まれていました。

  • 間接参照操作
  • TYPE 述部
  • CAST 指定
21

キー式に XMLQUERY 式か XMLEXISTS 式が含まれています。

22

式ベースの索引をサポートしない表に、式ベースの索引を作成しようとしました。

23

キー式が、サポートされていないタイプの関数 (LIKE 述部など) を参照していました。

24

式ベースのキーの結果データ・タイプには索引を作成できません。

ユーザーの処置

キー式のエラーを訂正して、ステートメントを再発行してください。

sqlcode: -356

sqlstate: 429BX

SQL0359N ID 列またはシーケンスで値の範囲がいっぱいになっています。

説明

データベース・マネージャーは ID 列またはシーケンス・オブジェクトに値を生成しようとしましたが、既にすべての許容できる値が割り当てられています。

ステートメントは処理できません。

ユーザーの処置

ID 列の場合、ID 列の値の範囲を大きくして、表を再定義してください。 値の範囲が列のデータ・タイプの範囲より小さくなるように制限する MAXVALUE または MINVALUE が指定されている場合、列を変更して有効値の範囲を拡張できます。 これを行わない場合、ID 列を再作成する必要がありますが、そのためには表を再作成しなければなりません。 最初に既存の表をドロップして、ID 列に異なるデータ・タイプを指定して表を再作成します。 ID 列の現在のデータ・タイプより大きい値の範囲を持つデータ・タイプを指定してください。

シーケンス・オブジェクトの場合、値の範囲を大きくしてシーケンスを再定義してください。 MAXVALUE または MINVALUE 節によって値の範囲がシーケンス・オブジェクトのデータ・タイプの範囲よりも小さくなるように制限されている場合、シーケンスを変更して有効値の範囲を拡張してください。 これを行わない場合、シーケンス・オブジェクトをドロップし、より大きな値の範囲を許可するデータ・タイプを指定して CREATE SEQUENCE ステートメントを再発行してください。

sqlcode: -359

sqlstate: 23522

SQL0360W table-name がデータ・リンク調整ペンディング (DRP) またはデータ・リンク調整不可 (DRNP) 状態にあるため、DATALINK 値が無効である可能性があります。

説明

表がデータ・リンク調整ペンディング (DRP) またはデータ・リンク調整不可 (DRNP) 状態にあるため、表 table-name の DATALINK 値が無効である可能性があります。 これらのいずれかの状態にある間は、DB2 Data Links Manager でのファイルの制御は保証されません。

ステートメント処理が続行しています。

ユーザーの処置

データ・リンク調整ペンディング (DRP) およびデータ・リンク調整不可能 (DRNP) 状態で該当するアクションを取るための情報については、管理ガイドを参照してください。

sqlcode: +360

sqlstate: 01627

SQL0361W 操作は正常に実行されましたが、部分的に操作が失敗しました。 操作 msg-token3 に関する詳細がトークン msg-token1 および msg-token2 に示されています。

説明

指定された操作は部分的に正常に完了しましたが、操作のいくつかの部分が失敗しました。

ユーザーの処置

操作 msg-token3 に応じて、取るべきアクションを次のように判別します: SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS - 妥当性再検査するよう指定されたいくつかのオブジェクトを正常に妥当性再検査できませんでした。理由: これらのオブジェクトで参照される少なくとも 1 つのオブジェクトが存在しないか、引き続き無効です。 妥当性再検査されていない 1 つのオブジェクトは msg-token1、それが参照するオブジェクトは msg-token2 です。 妥当性再検査が完了していないオブジェクトを妥当性再検査する必要がある場合には、存在すべきオブジェクトをすべて作成してください。また、妥当性再検査されるオブジェクトによって参照される、引き続き無効なオブジェクトをすべて修正してください。 無効なオブジェクトについての情報は SYSCAT.INVALIDOBJECTS カタログ・ビューに含まれています。 msg-token1 が許可またはマスクのオブジェクトを参照し、msg-token2 に CREATE PERMISSION または CREATE MASK が含まれる場合、ADMIN_REVALIDATE_DB_OBJECTS を実行するユーザーに SECADM 権限があることを確認してください。

sqlcode: +361

sqlstate: 0168B

SQL0364W operation 操作中に、DECFLOAT 例外 exception-type が生じました。

説明

operation-type 操作をデータ・タイプが DECFLOAT のフィールドに対して行うときに、 例外 exception-type が生じました。 算術式の処理中に例外が生じました。

考えられる exception-type の値は、以下のとおりです。
  • アンダーフロー例外を示す UNDERFLOW
  • オーバーフロー例外を示す OVERFLOW
  • 不正確な例外を示す INEXACT
  • 無効演算例外を示す INVALID OPERATION
  • ゼロによる除算の例外を示す DIVISION BY ZERO
考えられる operation-type の値は、以下のとおりです。
  • 加算演算を示す ADDITION
  • 減算演算を示す SUBTRACTION
  • 乗算演算を示す MULTIPLICATION
  • 除算演算を示す DIVISION
  • 否定演算を示す NEGATION
  • 組み込み関数演算を示す BUILT-IN FUNCTION

DECFLOAT 例外は、演算のために DECFLOAT に変換されたデータの一時的な内部コピーによって生じることがあります。

組み込み関数の処理中に、どの例外も生じる可能性があります。 operation-type が FUNCTION の場合、 入力、中間、または最終値の処理中に例外が生じています。 その原因として、パラメーターの値が範囲外であった可能性があります。

ステートメント処理が続行しています。

ユーザーの処置

この警告が戻されないようにするには、警告の出された式を検討して、例外の原因、または原因の可能性が高い要素を調べてください。 例外はデータ依存であることがあり、その場合には警告の発生時に処理されていたデータを検討する必要があります。 DECFLOAT 値のサポートされる範囲については、「SQL リファレンス」を参照してください。

sqlcode: +364

sqlstate: 0168C

sqlstate: 0168D

sqlstate: 0168E

sqlstate: 0168F

SQL0365N 位置 position にある拡張標識変数の値が無効なため、ステートメントは処理されませんでした。

説明

ホスト変数と共に標識変数を使用することにより、アプリケーション・プログラム内の SQL NULL 値を表すことができます。 また、ホスト変数で拡張標識を使用することにより、デフォルト値または未割り当て値を表すこともできます。

拡張標識を使用できる方法と場所については、いくつかの制約事項があります。 例えば、複数行の値を指定した VALUES 節では、拡張標識変数にデフォルト (-5) または未割り当て (-7) の値を使用することはできません。

このメッセージは、デフォルト (-5) または未割り当て (-7) の値が、これらの値が許可されていないコンテキストで使用された場合に返されます。

ランタイム・トークン position の診断情報:

  • 一般的に、ランタイム・トークン postition によって指定される位置は、拡張標識を使用しているホスト変数の序数です。
  • position が 0 の場合、拡張標識サポートにおいて不一致が発生しています。 動的に準備された UPDATE ステートメントで拡張標識サポートが明示的に有効/無効にされておらず、更新のターゲットとなる動的に準備された SELECT ステートメントに対して明示的に有効/無効にされた拡張標識サポートと、バインドまたはプリコンパイル用の拡張標識サポートの間に不一致がありました。

ユーザーの処置

拡張標識変数の値を、それが使用されるコンテキストで許可されている値に変更してください。

position が 0 の場合は、以下のいずれかの方法で対応してください。

  • 動的に準備された UPDATE ステートメントに対して、拡張標識サポートを明示的に有効または無効にします。
  • 更新のターゲットとなる動的に準備された SELECT ステートメントに指定された拡張標識サポートが、バインドまたはプリコンパイル用の拡張標識サポートと同じであることを確認します。

sqlcode: -365

sqlstate: 22539

SQL0368N DB2 Data Links Manager dlm-name がデータベースに登録されていません。

説明

DB2 Data Links Manager dlm-name がデータベースに登録されていません。 データベース・マネージャー構成パラメーター DATALINK が NO に設定されている場合は、登録された DB2 Data Links Manager は無視されます。 DB2 Data Links Manager は DROP DATALINKS MANAGER コマンドでドロップされた可能性があります。 DB2 Data Links Manager が同じ名前で新たに登録されていることが考えられます。この場合エラーは、その DB2 Data Links Manager の以前にドロップされた 1 つ以上の登録に関連しています。

ステートメントは処理できません。

ユーザーの処置

データベース・マネージャー構成パラメーター DATALINK が YES に設定されていることを確認してください。 以前にドロップされた DB2 Data Links Manager へのリンクである DATALINK 値を、調整ユーティリティーを使用してドロップする必要があります。 詳細については、「コマンド・リファレンス」にある DROP DATALINKS MANAGER コマンドの使用上の注意を参照してください。

sqlcode: -368

sqlstate: 55022

SQL0370N 位置 n のパラメーターは、LANGUAGE SQL 関数 name の CREATE FUNCTION ステートメントで指定しなければなりません。

説明

LANGUAGE SQL で定義されたすべての関数パラメーターには、それぞれ parameter-name が必要です。

ステートメントは処理できません。

ユーザーの処置

関数の各パラメーターにパラメーター名を組み込みます。

sqlcode: -370

sqlstate: 42601

SQL0372N ROWID、ID、セキュリティー・ラベル、行変更タイム・スタンプ、行開始、行終了、またはトランザクション開始 ID の列タイプは、1 つの表につき 1 回だけ指定できます。

説明

以下のいずれかを試みました。

  • 複数の ID 列を持つ表を作成
  • すでに 1 つの ID 列を持つ表に同じ列を追加
  • 複数の ROWID 列を持つ表を作成
  • すでに 1 つの ROWID 列を持つ表に同じ列を追加
  • 複数のセキュリティー・ラベル列を持つ表を作成
  • すでにセキュリティー・ラベル列を持つ表にもう 1 つ追加
  • 複数の行変更タイム・スタンプ列を持つ表を作成
  • 既に行変更タイム・スタンプ列を持つ表にもう 1 つ追加
  • 複数の行開始列を持つ表を作成
  • すでに行開始列を持つ表にもう 1 つ追加
  • 複数の行終了列を持つ表を作成
  • すでに行終了列を持つ表にもう 1 つ追加
  • 複数のトランザクション開始 ID 列を持つ表を作成
  • すでにトランザクション開始 ID 列を持つ表にもう 1 つ追加
  • 1 つの表で期間を複数回定義

ROWID データ・タイプは、DB2 for z/OS および DB2 for System i でサポートされています。

ステートメントは処理できません。

ユーザーの処置

CREATE TABLE ステートメントの場合、指定された属性を表に対して 1 回だけ指定してください。 ALTER TABLE ステートメントの場合は、表に対して指定された列はすでに存在します。 1 つの表で期間を複数回定義しようとしないでください。

sqlcode: -372

sqlstate: 428C1

SQL0373N 列または SQL 変数 name に対して DEFAULT 節を指定できません。

説明

列または SQL 変数 name の定義または変更時に DEFAULT 節が指定されました。 列定義または SQL 変数宣言のデータ・タイプでは、DEFAULT はサポートされません。 以下の項目を定義する場合に、CREATE または ALTER TABLE ステートメントで DEFAULT 節を使用することはできません。

  • ID 列
  • ROWID 列
  • XML 列
  • 行変更タイム・スタンプ列
  • セキュリティー・ラベル列
  • 行開始列
  • 行終了列
  • トランザクション開始 ID 列
  • random by generation 方式を使用したランダム分散表のランダム分散キー列

ステートメントは処理できません。

ユーザーの処置

DEFAULT 節を除去して、ステートメントを再サブミットしてください。

sqlcode: -373

sqlstate: 42623

SQL0374N LANGUAGE SQL 関数 function-name の CREATE ステートメントが clause 節で指定されていませんが、関数本体ではこの指定を要求しています。

説明

次の状態がエラーの原因だと思われます:

LANGUAGE SQL を指定して定義された関数の本文で SQL データを変更する可能性がある場合、または SQL データを修正する可能性のある関数またはプロシージャーを呼び出す場合は、MODIFIES SQL DATA を指定する必要があります。

LANGUAGE SQL を指定して定義された関数の本文に副選択が入っている、または SQL データを読み取れる関数を呼び出す場合は、READ SQL DATA を指定しなければなりません。

ステートメントは処理できません。

ユーザーの処置

節を指定するか、または関数本体を変更してください。

sqlcode: -374

sqlstate: 428C2

SQL0385W SQL ルーチンで SQLSTATE または SQLCODE 変数への割り当てが上書きされたと思われるため、ハンドラーをアクティブ化しません。

説明

値を SQLSTATE または SQLCODE 特殊変数に割り当てているステートメントが少なくとも 1 つ、SQL ルーチンに入っています。 これらの変数には、SQL ルーチンでの SQL ステートメントの処理によって値が割り当てられています。 そのため、SQL ステートメント処理の結果、割り当てられている値が上書きされたと考えられます。 さらに、SQLSTATE 特殊変数への値の割り当ては、どのハンドラーもアクティブ化しません。

ルーチン定義は正常に処理されました。

ユーザーの処置

必要ありません。 この警告が出されないようにするには、SQLSTATE または SQLCODE 特殊変数への割り当てを除去してください。

sqlcode: +385

sqlstate: 01643

SQL0388N 関数 function-name の CREATE CAST ステートメントでは、ソース source-data-type-name およびターゲット target-data-type-name の両方が組み込まれたタイプかまたは同じタイプです。

説明

データ・タイプのどちらかがユーザー定義のタイプでなければなりません。 ソース・タイプおよびターゲット・タイプの両方が同じデータ・タイプであってはなりません。

ステートメントは処理できません。

ユーザーの処置

ソースまたはターゲットのデータ・タイプを変更してください。

sqlcode: -388

sqlstate: 428DF

SQL0389N CREATE CAST ステートメントで識別された特定の関数インスタンス specific-name は、複数のパラメーターがあるか、ソース・データ・タイプと一致しないパラメーターがあるか、またはターゲットと一致しないデータ・タイプを戻します。

説明

cast 関数には、
  • 1 つのパラメーターがなければなりません。
  • パラメーターのデータ・タイプがソース・データ・タイプと同じでなければなりません。
  • 結果データ・タイプはターゲット・データ・タイプと同じでなければなりません。

ステートメントは処理できません。

ユーザーの処置

別の関数を選択するか、またはソース・データ・タイプまたはターゲット・データ・タイプを変更してください。

sqlcode: -389

sqlstate: 428DG

SQL0390N 関数 function-name は、使用されているコンテキストの中では無効な特定の関数 specific-name に解決されたので、ステートメントが処理されませんでした。

説明

ランタイム・トークン specific-name が空ストリングの場合、関数は、ランタイム・トークン function-name で示される組み込み関数に解決されます。

このメッセージは、多くのシナリオで返される可能性があります。以下の簡潔なリストに、このメッセージが返される可能性のある状態の一部を示します。

  • 特定の関数は、(照会の FROM 節内のような) 表関数のみが予想されるスカラー、列、あるいは行関数です。
  • 指定された関数に OUT または INOUT パラメーターが含まれています。この関数が使用されているコンテキストはサポートされていません。 関数呼び出しが、コンパウンド SQL (コンパイル済み) ステートメント内の SET 変数のステートメントの右側で唯一の式である場合にのみ、コンパイル済み関数を呼び出すことができます。
  • 指定された関数は汎用表関数ではありませんが、型付き相関節が指定されました。

ユーザーの処置

以下の 1 つ以上のトラブルシューティング・ステップを実行してこのエラーに対応してください。

  • 関数名と引数が正しいことを確認します。
  • 現行パスに、正しい関数が定義されているスキーマが入っていることを確認します。
  • 関数が使用されるコンテキストを変更します。

sqlcode: -390

sqlstate: 42887

SQL0391N 関数 function-name に基づいた行の使用が無効です。

説明

ステートメントは、次の理由のいずれか 1 つから、使用できない行ベースの関数 function_name を使用しています。
  • 関数は GROUP BY または HAVING 節で使用されますが、選択リストには入っていません。
  • 関数は、ステートメントの再帰的本質のため、このコンテキストで使用されません。
  • 関数は、チェック制約で使用されません。
  • 関数は、生成された列で使用されません。
  • 関数は、WITH CHECK OPTION 節が指定されているビュー定義、または WITH CHECK OPTION 節を指定するようなビューに従属するビューでは使用されません。
  • 関数には、基本表の行に解決されない引数があります。 これは、NULL 生成行が可能な外部結合の結果列を伴う状態が含まれます。
  • この関数は複製されたマテリアライズ照会表の行では使用できません。

ステートメントは処理できません。

ユーザーの処置

function-name が使用できないコンテキストから、これを除去してください。

sqlcode: -391

sqlstate: 42881

SQL0392N カーソル cursor に提供される SQLDA が、以前のフェッチ以降に変更されています。

説明

アプリケーションが DB2 規則で実行されており、1 つの FETCH ステートメントの LOB として、また他の FETCH ステートメントのロケーターとして LOB データを返すことを要求しています。 これは許されていません。

ユーザーの処置

ステートメントは実行できません。

DB2 規則を使用しないようにするか、または連続したフェッチ間で LOB から SQLDA のロケーターへの (またはその逆の) データ・タイプ・コードの変更を行わないように、アプリケーションを変更してください。

sqlcode: -392

sqlstate: 42855

SQL0396N Object-type object-name (特定名 specific-name) が最終呼び出し処理中に、SQL ステートメントを実行しようとしました。

説明

ルーチン object-name (特定名 specific-name) が FINAL CALL (呼び出しタイプ = 255) 処理中に、(カーソルの CLOSE 以外の) SQL ステートメントを実行しようとしました。 これは許可されません。

ユーザーの処置

FINAL CALL (呼び出しタイプ = 255) 処理中に SQL ステートメントを発行しないよう、ルーチンを変更してください。

sqlcode: -396

sqlstate: 38505

SQL0401N 演算 operator のオペランドのデータ・タイプが非互換または比較不能です。

説明

以下のいずれかの理由で、operator を使用する操作を処理できません。

  • オペランドのデータ・タイプは比較可能かつ互換でなければならないが、比較不能または互換性のないタイプの対が少なくとも 1 つある。
  • オペランドのデータ・タイプが (それ自身またはその他のタイプと) 比較できない XML である。
  • オペランドのデータ・タイプが (それ自身またはその他のタイプと) 比較できない DATALINK である。
  • オペランドのデータ・タイプが (それ自身またはその他のタイプと) 比較できない構造化タイプである。
  • 2 つの Hadoop 表の配列タイプの列を直接比較できない。
  • 2 つの Hadoop 表の行タイプの列を直接比較できない。

フェデレーテッド・システム・ユーザーの場合: このデータ・タイプ違反は、データ・ソースまたはフェデレーテッド・サーバーで発生した可能性があります。

一部のデータ・ソースは、 operator に適切な値を提供しません。 この場合、メッセージ・トークンは「<data-source>:UNKNOWN」のフォーマットになります。これは、指定されたデータ・ソースの実際の値が不明であることを示します。

ステートメントは処理できません。

ユーザーの処置

すべてのオペランドのデータ・タイプをチェックして、データ・タイプが比較可能であること、およびステートメント内の使用法に互換性があることを確認してください。

SQL ステートメントのオペランドがすべて正しく、しかもビューにアクセスしている場合には、ビューのすべてのオペランドのデータ・タイプをチェックしてください。

Hadoop 表では:

  • 配列の列の場合、一度に配列の 1 つのエレメントを比較して比較を再構築し、操作を再サブミットします。
  • 行の列の場合、一度に行の 1 つのエレメントを比較して比較を再構築し、操作を再サブミットします。

フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのデータ・タイプ制限を調べてください。

sqlcode: -401

sqlstate: 42818

SQL0402N 算術関数または演算 operator のオペランドのデータ・タイプが無効です。

説明

無効なオペランドが、算術関数または演算子 operator に対して指定されています。

ステートメントは処理できません。

ユーザーの処置

SQL ステートメントの構文を調べ、指定された関数または演算子のすべてのオペランドが有効となるように修正してください。

有効なオペランドは数値であるか、数値データ・タイプに暗黙的にキャスト可能です。

フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースに適用される演算子を調べてください。

sqlcode: -402

sqlstate: 42819

SQL0403W 新しく定義された別名 name は、現在未定義のオブジェクト name2 に解決されています。

説明

別名 <name> は、以下のように定義されています。

  • データベースに現在定義されていない表、ビュー、モジュール、またはシーケンス。
  • データベースに定義されていない表、ビュー、モジュール、またはシーケンスに解決される他の別名。

オブジェクト <name2> は未定義のオブジェクトです。 SQL ステートメント (CREATE ALIAS 以外) が、新しく作成された別名を正常に使用するには、このオブジェクトが存在している必要があります。 指定された別名 <name> は作成されます。

別名の作成について、作動不能なビューは未定義であると見なされます。

ユーザーの処置

SQL ステートメント (CREATE ALIAS 以外) の新しく作成された別名を使用する前に、未定義オブジェクト <name2> が定義されていることを確認してください。

sqlcode: +403

sqlstate: 01522

SQL0404N UPDATE または INSERT ステートメント内のストリングが、列 name に対して長すぎます。

説明

INSERT または UPDATE ステートメント内で指定された値が、示されている列に保管できるストリングの最大長を超えています。

ステートメントは処理できません。

注: INSERT または UPDATE ステートメントの構文に応じて、SQLCA 内に name が返されることも返されないこともあります。

ユーザーの処置

オブジェクトとなる列の長さをチェックして、プログラムまたは SQL ステートメントを修正して、挿入または更新するストリングの長さが最大長を超えないようにしてください。

sqlcode: -404

sqlstate: 22001

SQL0405N 数値リテラル literal は、値が有効な値の範囲外になっているため、無効です。

説明

指定された数値リテラルが適切な範囲内にありません。

SQL 値の適切な範囲は以下のとおりです。

  • FLOAT 値の場合:
    • 0
    • +2.225E-307 から +1.79769E+308 までの正の範囲
    • -1.79769E+308 から -2.225E-307 までの負の範囲
  • 10 進値の場合: -9999999999999999999999999999999 から 9999999999999999999999999999999 までの範囲
  • INTEGER 値の場合: -2147483647 から 2147483647 までの範囲
  • 短整数 (SMALLINT) 値の場合: -32768 から +32767 の範囲

特定のコンテキストでは、リテラルが、このエラーの原因となる追加の制限を持っている場合があります。

フェデレーテッド・システム・ユーザーの場合: この範囲違反は、データ・ソースまたはフェデレーテッド・サーバーで発生した可能性があります。 データ・ソース表に配置された SQL 値の適正範囲はデータ・ソースに依存します。 正しい範囲を判別するには、データ・ソースに該当する資料を参照してください。 一部のデータ・ソースは、 literal に適切な値を提供しません。この場合、メッセージ・トークンは 「<data source>:UNKNOWN」のフォーマットになります。 これは、指定されたデータ・ソースの実際の値が不明であることを示します。

範囲がクラスター化された表: 範囲定義の終了の値は開始の値よりも小さくなります。

ステートメントは処理できません。

ユーザーの処置

リテラル値を適切なサイズに減らしてください。

フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのデータ範囲制限を調べてください。

範囲がクラスター化された表: 範囲定義の終了の値は開始の値よりも大きくなります。

sqlcode: -405

sqlstate: 42820

SQL0406N UPDATE または INSERT ステートメント内の数値が、ターゲット列の範囲内にありません。

説明

UPDATE または INSERT SQL ステートメントの処理中に計算された、ホスト変数の値または数値がターゲット列の範囲外です。 この問題は、オブジェクトの列で発生する値、それらの値で実行される SQL 処理、またはその両方によって発生する可能性があります。

ステートメントは処理できません。

ユーザーの処置

10 進浮動小数点を除く、数値データ・タイプに許されている範囲については、メッセージ SQL0405 の説明を参照してください。
  • DECFLOAT(16) 値の場合:
    • 0
    • 1.000000000000000E-383 から 9.999999999999999E+384 までの正の範囲
    • -9.999999999999999E+384 から -1.000000000000000E-383 までの負の範囲
  • DECFLOAT(34) 値の場合:
    • 0
    • 1.000000000000000000000000000000000E-6143 から 9.999999999999999999999999999999999E+6144 までの正の範囲
    • -9.999999999999999999999999999999999E+6144 から -1.000000000000000000000000000000000E-6143 までの負の範囲

これらは、通常の 10 進浮動小数点数の限度です。 有効な 10 進浮動小数点の値には、特殊値 INFINITY、-INFINITY、NAN、-NAN、SNAN、および -SNAN が含まれます。 これらの特殊値は、他のすべての DB2 数値タイプでは不正な値になります。

注: システム・カタログの更新に関しては、「SQL リファレンス」を参照して、更新可能なカタログのさまざまな列の有効な範囲を確認してください。

sqlcode: -406

sqlstate: 22003

SQL0407N NULL 値の NOT NULL 列 name への代入は許されていません。

説明

以下のいずれかが発生しました。

  • 更新値または挿入値は NULL ですが、オブジェクトとなる列が表定義で NOT NULL として宣言されています。 その結果、以下のようになります。
    • NULL 値はその列に挿入できない。
    • 更新はその列の値を NULL に設定できない。
    • トリガーの SET 遷移変数ステートメントは、その列の値を NULL に設定できない。
  • 更新値または挿入値は DEFAULT ですが、オブジェクトとなる列が表定義で WITH DEFAULT のない NOT NULL として宣言されています。 その結果、以下のようになります。
    • NULL のデフォルト値はその列に挿入できない。
    • 更新はその列の NULL のデフォルト値を設定できない。
    • トリガーの SET 遷移変数ステートメントは、その列の NULL のデフォルト値を設定できない。
  • INSERT ステートメントの列名リストに、表定義で NOT NULL および WITH DEFAULT なしで宣言された列がありません。
  • INSERT ステートメントのビューに、基本表定義で NOT NULL および WITH DEFAULT なしで宣言された列がありません。
  • 表変更ステートメントが SET NOT NULL の列を変更しようとしましたが、既存の表データに NULL 値を持つ行が含まれていました。

name の値が形式 "TBSPACEID=n1, TABLEID=n2, COLNO=n3" であれば、エラーが出力されたときに SQL ステートメントの列名が使用できませんでした。 示されている値は、NULL 値を許可していない基本表の表スペース、表、および列番号を表しています。

フェデレーテッド・システム・ユーザーの場合: この状態は、フェデレーテッド・サーバーまたはデータ・ソースによっても検出されます。 一部のデータ・ソースは、name に適切な値を提供しません。 この場合、メッセージ・トークンは 「<data source>:UNKNOWN」のフォーマットになります。 これは、指定されたデータ・ソースの実際の値が不明であることを示します。

HBase ユーザーまたは Hadoop ユーザーの場合: Hadoop または HBase 基礎データが読み取られ、以下のいずれかが起きると、この状態が生じます。

  • NOT NULL と宣言されている列の基礎データに NULL が含まれている。
  • NOT NULL と宣言されている列で無効な値 (暗黙的に NULL として処理される) が検出される。

name の値は、schema-name.table-name.column-name として指定できます。

ステートメントは処理できません。

いくつかの状況では、トークン name が充てんされない場合があります (SQLCA の「sqlerrmc」フィールドが充てんされません)。

ユーザーの処置

オブジェクト表定義を調べて、NOT NULL 属性を持つ表の列と、WITH DEFAULT 属性を持たない表の列を判別した後で、SQL ステートメントを修正してください。

name の値が形式 "TBSPACEID=n1, TABLEID=n2, COLNO=n3" であれば、以下の照会を使用して表名および列名を判別することができます。

   SELECT C.TABSCHEMA, C.TABNAME,
          C.COLNAME 
      FROM SYSCAT.TABLES AS T,
           SYSCAT.COLUMNS AS C
      WHERE T.TBSPACEID = n1
      AND T.TABLEID = n2
      AND C.COLNO = n3
      AND C.TABSCHEMA = T.TABSCHEMA
      AND C.TABNAME = T.TABNAME

この照会で識別される表および列は、SQL ステートメントに障害があったビューの基本表だと考えられます。

表変更ステートメントの一部としてエラーが戻されるとき、列を NOT NULL に設定中である場合は、NULL 値を含む列のすべての行データを変更して、ステートメントを再試行してください。

フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのオブジェクト定義を調べてください。 デフォルト (NULL および NOT NULL) はデータ・ソースの間で同じである必要はないことに注意してください。

HBase ユーザーまたは Hadoop ユーザーの場合、基礎となるデータ・ファイル内のデータが正しいことを確認するか、ALTER TABLE を使用して列の NULL 可能性を変更します。

sqlcode: -407

sqlstate: 23502

SQL0408N 値には、その割り当てターゲットのデータ・タイプとの互換性がありません。 ターゲット名は name です。

説明

SQL ステートメントによって列、パラメーター、SQL 変数、または遷移変数に割り当てられる値のデータ・タイプに、その割り当てターゲットの宣言されたデータ・タイプとの互換性がありません。

Hadoop 表の場合:

  • 配列の列値を配列変数に割り当てることはできません。
  • 行の列値を行変数に割り当てることはできません。
  • 複合タイプ (配列または行) の列値と変数は、割り当てに関して互換性がありません。

ステートメントは処理できません。

ユーザーの処置

ステートメント (およびターゲット表またはビュー) を調べて、ターゲット・データ・タイプを判別してください。 割り当てられている変数、式、またはリテラル値が割り当てターゲットとして正しいデータ・タイプであることを確認してください。

ユーザー定義の構造化タイプの場合、ステートメントに対するトランスフォーム・グループで定義された TO SQL トランスフォーム関数のパラメーターを、割り当て済みターゲットとしても考慮してください。

sqlcode: -408

sqlstate: 42821

SQL0409N COUNT 関数のオペランドが無効です。

説明

SQL ステートメントに指定されているような、COUNT 関数のオペランドは SQL 構文の規則に適合しません。 COUNT(*) および COUNT(DISTINCT column) だけが許可されます。

ステートメントは処理できません。

ユーザーの処置

COUNT(*) または COUNT(DISTINCT column) を指定します。

注: このメッセージは、バージョン 2 以前の DB2 のバージョンにのみ適用されます。

sqlcode: -409

sqlstate: 42607

SQL0410N 数値 value が長すぎます。

説明

指定した値は長すぎます。 浮動小数点ストリングの最大長は 30 文字です。 10 進浮動小数点ストリングの最大長は 42 文字です。

ステートメントは処理できません。

ユーザーの処置

指定したリテラルを短くしてください。

sqlcode: -410

sqlstate: 42820

SQL0412N 1 つの列しか許可されていない副照会から複数の列が返されました。

説明

SQL ステートメントのコンテキストでは、結果として 1 つの列だけを持つよう全選択が指定されています。

ステートメントは処理できません。

ユーザーの処置

スカラー全選択が 1 つだけ許可されている場合は、1 つの列だけを指定してください。

sqlcode: -412

sqlstate: 42823

SQL0413N 数値データ・タイプの変換中にオーバーフローが発生しました。

説明

SQL ステートメントの処理中、ある数値タイプのデータを別のタイプへ変換するときにオーバーフローが発生しました。 数値変換は SQL の標準規則に従って実行されます。

フェデレーテッド・システム・ユーザーの場合: 数値変換は、フェデレーテッド・サーバー、データ・ソース、またはその両方で発生する可能性があります。

ステートメントは処理できません。 データの検索、更新、または削除は実行されませんでした。

ユーザーの処置

SQL ステートメントの構文を調べて、エラーの原因を判別してください。 問題がデータに依存する場合は、エラーが発生した時点で処理されていたデータを調べる必要があります。

フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのデータ範囲制限を調べてください。

sqlcode: -413

sqlstate: 22003

SQL0415N 対応する列のデータ・タイプは、セット演算子を含む全選択または、INSERT または全選択の VALUES 節の複数行に互換性がありません。

説明

このエラーが発生する可能性のあるステートメントはたくさんあります。

  • このエラーは、セット演算 (UNION、INTERSECT、または EXCEPT) の入った SELECT または VALUES ステートメント内で発生する可能性があります。 SELECT または VALUES ステートメントを作成する副選択または全選択の対応する列は、互換性がありません。
  • このエラーは、複数行に挿入している INSERT ステートメント内で発生する可能性があります。 この場合、VALUES 節内で指定された行の対応する列は、互換性がありません。
  • このエラーは、複数行を伴い使用される VALUES 節がある SELECT または VALUES ステートメント内で発生する可能性があります。 この場合、VALUES 節内で指定された行の対応する列は、互換性がありません。
  • このエラーは、それぞれ ARRAY タイプの列を含む 2 つの Hadoop 表にある UNION ALL 節で発生する可能性があります。

これは、配列コンストラクターで発生する可能性があります。コンストラクター内にリストされた 2 つの値のデータ・タイプに互換性がない場合です。

データ・タイプの互換性について、詳しくは SQL リファレンスの『割り当てと比較』を参照してください。

ステートメントは処理できません。

ユーザーの処置

SELECT ステートメントで使用される列名または VALUES 節の式を訂正し、対応するすべての列が互換タイプになるようにしてください。

sqlcode: -415

sqlstate: 42825

SQL0416N UNION ALL 以外のセット演算子で接続された SELECT または VALUES ステートメントには、254 バイトを超える結果列を指定できません。

説明

セット演算子で接続された SELECT または VALUES ステートメントのいずれかが、254 バイトより長い結果列を指定しています。 254 バイトより長い VARCHAR または VARGRAPHIC 結果列は、UNION ALL セット演算子とのみ使用することができます。

ステートメントは処理できません。

ユーザーの処置

UNION 演算子の代わりに、UNION ALL を使用するか、または 254 バイトより長い結果列を、SELECT または VALUES ステートメントから取り除いてください。

sqlcode: -416

sqlstate: 42907

SQL0417N 準備されたステートメント・ストリングに、同じ演算子のオペランドとしてパラメーター・マーカーが含まれています。

説明

PREPARE または EXECUTE IMMEDIATE のオブジェクトとして指定されたステートメント・ストリングに、CAST 指定のない同一の演算子のオペランドとして使用されているパラメーター・マーカーを持つ述部または式が含まれています。 例えば:
    ? > ?

ステートメントは処理できません。

ユーザーの処置

このような構文はサポートされていません。 CAST 指定を使用して、少なくとも 1 つのパラメーター・マーカーをデータ・タイプに指定してください。

sqlcode: -417

sqlstate: 42609

SQL0418N 型なしパラメーター・マーカー、DEFAULT キーワード、または NULL 値のいずれかの無効な使用がステートメントに含まれているため、ステートメントは処理されませんでした。

説明

このメッセージはさまざまなシナリオおよび複数の理由で返される可能性があります。

このメッセージが返される理由の例を以下に示します。

  • 日時算術演算の唯一の引数として DEFAULT キーワードが指定された。
  • 準備されたステートメントではないステートメントでパラメーター・マーカーが使用された。(XQuery 関数 db2-fn:sqlquery の最初の引数に PARAMETER 関数への参照がある場合、それもパラメーター・マーカーとみなされることに注意してください。)
  • XML 関数 (例えば XMLQUERY など) の引数として NULL 値が指定された。
  • CASE 式のすべての結果式に型がない。

ユーザーの処置

以下のトラブルシューティング・ステップを実行して、このエラーに応答してください。

  1. 次のもののすべてのインスタンスをステートメント内で識別します。
    • 型なしパラメーター・マーカー
    • DEFAULT キーワード
    • 型なし NULL 値
    • 型なし式
  2. 型なしパラメーター・マーカー、DEFAULT キーワードのインスタンス、型なし NULL 値、または型なし式が使用されるコンテキストについて、参照情報を確認します。
  3. ステートメントの構文を訂正してください。 提案:
    • CAST 指定を使用して型なし式にデータ・タイプを指定します。
    • DEFAULT キーワードのインスタンスを値に置き換えます。
  4. ステートメントを再び実行します。

sqlcode: -418

sqlstate: 42610

SQL0419N 結果の位取りが負になるため、10 進数の除算は無効です。

説明

指定された 10 進除算は、結果の位取りが負の値になるために有効ではありません。

10 進除算の結果の位取りを計算するために内部的に使用される公式は、以下のとおりです。

Scale of result = 31 - np + ns - ds

ここで、np は分子の精度、ns は分子の位取り、ds は分母の位取りを表します。

フェデレーテッド・システム・ユーザーの場合: 10 進数除法は、フェデレーテッド・サーバー、データ・ソース、またはその両方で発生する可能性があります。 指定された 10 進数除法の結果は、そのデータ・ソースの位取りが無効になります。

ステートメントは処理できません。

ユーザーの処置

10 進除算で使用される可能性のあるすべての列の精度と位取りを調べてください。 整数または短整数は、計算のために 10 進数に変換される場合があることに注意してください。

フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのデータ範囲制限を調べてください。

sqlcode: -419

sqlstate: 42911

SQL0420N 無効文字が、関数 function-name の文字ストリング引数で見つかりました。

説明

関数 function-name が、数値 SQL 定数では無効な文字の入った文字ストリング引数を持っています。 関数は、ターゲット・データ・タイプとして function-name を使った CAST 指定の結果として呼び出されたか、引数が暗黙的に数値データ・タイプにキャストされるような場合に呼び出された可能性があります。 SQL ステートメントに使用された関数またはデータ・タイプが、function-name の同義語である可能性があります。

10 進文字を DECIMAL 関数に指定する場合は、それがデフォルト 10 進文字の代わりに使用する必要がある文字になります。

ユーザーの処置

指定する場合は、数値タイプに変換される文字ストリングが、10 進文字を使用する数値 SQL 定数に有効な文字のみを備えていることを確認してください。

sqlcode: -420

sqlstate: 22018

SQL0421N セット演算子のオペランドまたは VALUES 節が、列数と同じ数ではありません。

説明

UNION、EXCEPT、INTERSECT などのセット演算子のオペランドは、列数と同じ数でなければなりません。 VALUES 節の行は、列数と同じ数を持つ必要があります。

ステートメントは処理できません。

ユーザーの処置

SQL ステートメントを修正して、各オペランドまたは VALUES 節の各行が、列数とまったく同じ数を持つようにしてください。

sqlcode: -421

sqlstate: 42826

SQL0423N ロケーター変数 variable-position は、現在、どんな値も表していません。

説明

ロケーター変数にエラーがあります。 有効な結果セットロケーターまたはそれに割り当てられた LOB ロケーター変数値がないか、または変数と関連したロケーターが解放されているか、あるいは結果セット・カーソルがクローズされています。

variable-position が提供される場合には、エラーのある変数の序数位置が指定される変数セットに示されます。 エラーを検出した時点によっては、データベース・マネージャーが variable-position を判別できないことがあります。

variable-position は序数位置の代わりに、関数名が識別したユーザー定義の関数から戻ったロケーター値がエラーであること示す "function-name RETURNS" 値を備えている可能性があります。

ユーザーの処置

ステートメントの実行の前に、SQL ステートメントで使用されるロケーター変数に有効な値があるように、 プログラムまたはルーチンを訂正してください。

LOB 値は、SELECT INTO ステートメント、VALUES INTO ステートメント、あるいは FETCH ステートメントによって、ロケーター変数に割り当てることができます。

結果セット・ロケーターは、ASSOCIATE LOCATORS ステートメントから返されます。 結果セット・ロケーター値は、基となる SQL カーソルがオープンしている場合にのみ有効です。 コミットまたはロールバック操作が実行されると、カーソルと関連した結果セット・ロケーターはもはや有効ではありません。 戻りカーソルであった場合、割り振りの前にカーソルがオープンされていることを確認してください。

アプリケーション・コードについて以下のステートメントがすべて真の場合:

  • アプリケーションに LOB 列を含む結果セットを定義する照会に対して宣言されたカーソルが含まれる
  • カーソル宣言に WITH HOLD 節が含まれる
  • LOB ロケーターがカーソルの結果セット内で LOB 値を参照するために使用される
  • カーソルがクローズされる前に作業単位がコミットされる

アプリケーションのアップグレードが正常に行われるように、以下のいずれかのアクションを実行して、この警告の原因となった要素を除去してください。

  • SQLRULES STD オプションを含めることに注意しながら、PREP コマンドを使用してアプリケーションを再びプリコンパイルします。
  • 可能であれば、アプリケーションを変更して LOB 列がロケーターではなく値として検索されるようにします。
  • 可能であれば、アプリケーションを変更してカーソルが WITH HOLD オプションと共に宣言されないようにして、 カーソルがクローズされる前にコミットを除去します。

sqlcode: -423

sqlstate: 0F001

SQL0426N アプリケーションの実行環境では、動的コミットは無効です。

説明

CONNECT TYPE 2 環境 または CICS などの分散トランザクション処理 (DTP) 環境で実行中のアプリケーションが、SQL 動的 COMMIT ステートメントを実行しようとしました。 SQL 動的 COMMIT ステートメントは、この環境では実行できません。

フェデレーテッド・システム・ユーザーの場合: SQL 動的 COMMIT ステートメントをパススルー・セッションで実行することはできません。

ユーザーの処置

  • DTP 環境によって提供されるコミット・ステートメントを使用して、コミットを実行してください。 例えば、CICS 環境の場合、これは CICS SYNCPOINT コマンドになります。
  • このステートメントがストアード・プロシージャー内で実行された場合は、ステートメントを完全に取り除いてください。

フェデレーテッド・システム・ユーザーの場合: COMMIT ステートメントをコメント化するか、または静的ステートメントとしてコーディングしてください。 その後、プログラムを再サブミットしてください。

sqlcode: -426

sqlstate: 2D528

SQL0427N アプリケーションの実行環境では、動的ロールバックは無効です。

説明

CONNECT TYPE 2 環境 または CICS などの分散トランザクション処理 (DTP) 環境で実行中のアプリケーションが、SQL 動的 ROLLBACK ステートメントを実行しようとしました。 SQL 動的 ROLLBACK ステートメントは、この環境では実行できません。

フェデレーテッド・システム・ユーザーの場合: SQL 動的 ROLLBACK ステートメントをパススルー・セッションで実行することはできません。

ユーザーの処置

  • DTP 環境によって提供されるロールバック・ステートメントを使用して、ロールバックを実行してください。 例えば CICS 環境の場合、これは CICS SYNCPOINT ROLLBACK コマンドになります。
  • このステートメントがストアード・プロシージャー内で実行された場合は、ステートメントを完全に取り除いてください。

フェデレーテッド・システム・ユーザーの場合: ROLLBACK ステートメントをコメント化するか、または静的ステートメントとしてコーディングしてください。 その後、プログラムを再サブミットしてください。

sqlcode: -427

sqlstate: 2D529

SQL0428N SQL ステートメントは、作業単位の最初のステートメントとしてのみ許可されています。

説明

この SQL ステートメントは、作業単位を開始する他の SQL ステートメントよりも前に実行する必要があります。 以下の状況が考えられます。

  • SQL ステートメントは作業単位の先頭になければならず、SQL が作業単位内の接続に対して発行されている
  • SQL ステートメントは作業単位の先頭になければならず、WITH HOLD カーソルが接続に対してオープンされている

ステートメントが DISCONNECT ALL である場合、すべての接続に対して DISCONNECT が実行されるため、いずれかの接続が前述の制限に違反すると、要求が失敗することに注意してください。

ユーザーの処置

SQL ステートメント処理の前に、COMMIT または ROLLBACK を発行してください。 WITH HOLD カーソルがある場合、それらをクローズする必要があります。 ステートメントが SET INTEGRITY であれば、COMMIT THRESHOLD 節を除去してください。

sqlcode: -428

sqlstate: 25001

SQL0429N 並行 LOB ロケーター の最大数を超えました。

説明

作業単位ごとに、最大 4,000,000 の並行 LOB ロケーターが、DB2 ではサポートされています。

ユーザーの処置

必要とされる並行 LOB ロケーターの数が少なくなるようにプログラムを修正して、もう一度プログラムを実行してください。 例えば、アプリケーションで必要とされなくなった LOB ロケーターをただちに解放するために FREE LOCATOR ステートメントを使用します。

sqlcode: -429

sqlstate: 54028

SQL0430N ユーザー定義関数 function-name (特定名 specific-name) が異常終了しました。

説明

示された UDF が制御されている間に、異常終了が発生しました。

ユーザーの処置

UDF を修正する必要があります。 UDF の作成者またはデータベース管理者に連絡してください。 修正されるまで、その UDF は使用するべきではありません。

sqlcode: -430

sqlstate: 38503

SQL0431N ユーザー定義ルーチン、トリガー、または無名ブロックがユーザーによって割り込まれました。オブジェクト名: object-name。オブジェクト特定名: specific-name。オブジェクト・タイプ: object-type

説明

ルーチン、トリガー、または無名ブロックが制御されているときに、ユーザー割り込みまたはクライアント割り込みが発生しました。

無名ブロックにはオブジェクト名や特定名がなく、オブジェクト・タイプの "BEGIN...END" によって識別されます。

このメッセージの発生は、無限ループまたは待機などのロジックの問題を示している可能性があります。

ユーザーの処置

問題が続く (すなわち、割り込みを行うことが必要になった場合に同じエラー状態になる) 場合は、ルーチン、トリガー、または無名ブロックの作成者に連絡するか、あるいはデータベース管理者に連絡してください。

sqlcode: -431

sqlstate: 38504

SQL0432N パラメーター・マーカーまたは NULL 値が、ユーザー定義タイプ名、または参照ターゲット・タイプ名 udt-name を持つことができません。

説明

ステートメント内の型なし式 (パラメーター・マーカーまたは NULL 値) は、使用されているコンテキストに基づいて、ユーザー定義タイプ udt-name、またはターゲット・タイプ udt-name の参照タイプであると判断されました。 型なし式のデータ・タイプとしてユーザー定義タイプまたは参照タイプを使用することはできません。ただし、これが割り当てに含まれる場合 (INSERT の VALUES 節または UPDATE の SET 節)、あるいは CAST 指定を使ってユーザー定義の特殊データ・タイプや参照データ・タイプに明示的にキャストされる場合を除きます。

ステートメントは処理できません。

ユーザーの処置

ユーザー定義特殊データ・タイプまたは参照データ・タイプへの明示的キャストを型なし式で使用します。 あるいは、ユーザー定義特殊データ・タイプの列を対応するソース・データ・タイプにキャストするか、または参照データ・タイプの列を対応するタイプにキャストしてください。

sqlcode: -432

sqlstate: 42841

SQL0433N value が長すぎます。

説明

value が、その値をいくつかの方法でトランスフォームするために呼び出される、システム (組み込み) キャストまたは調整関数による切り捨てを要求しました。 この値が使用されている場所では、切り捨てが許されていません。

トランスフォームされる値は、以下のいずれかです。
  • ユーザー定義関数 (UDF) に対する引数
  • UPDATE ステートメントの SET 節に対する入力
  • 表に INSERT される値
  • 他の特定のコンテキストでのキャストまたは調整関数に対する入力
  • そのデータ・タイプおよび長さが再帰の初期化部分で判別され、再帰の反復部分で大きくできる、再帰的に参照される列
  • XMLSERIALIZE 関数によって出力がシリアライズされる XML データ値

ステートメントは処理できません。

ユーザーの処置

value が SQL ステートメントのリテラル・ストリングの場合は、その使用目的に対して長すぎます。

value がリテラル・ストリングでない場合は、SQL ステートメントを調べて、トランスフォーメーションが行われる場所を判別してください。 トランスフォーメーションに対する入力が長すぎるか、またはターゲットが短すぎます。

問題を訂正して、ステートメントを再実行してください。

sqlcode: -433

sqlstate: 22001

SQL0434W clause のサポートされない値が、値 value で置き換えられました。

説明

clause に指定された値はサポートされていないため、特定のサポートされている値 value で置き換えられました。

ユーザーの処置

選択された値が受け入れ可能であれば、変更する必要はありません。 そうでない場合は、clause に有効な値を指定してください。

sqlcode: +434

sqlstate: 01608

SQL0435N アプリケーション定義の無効な SQLSTATE sqlstate が指定されました。

説明

RAISE_ERROR 関数、SIGNAL ステートメント、または RESIGNAL ステートメントで指定された SQLSTATE の値は、アプリケーション定義 SQLSTATE の規則に従っていません。

ユーザーの処置

SQLSTATE に指定された値を訂正してください。 SQLSTATE の値は、5 文字の文字ストリングでなければなりません。 これは、長さ 5 で定義された CHAR タイプ、または長さ 5 以上で定義された VARCHAR タイプでなければなりません。 SQLSTATE の値は、アプリケーション定義 SQLSTATE の規則に従う必要があります。

SIGNAL または RESIGNAL ステートメントに指定する SQLSTATE の値の規則は、以下のとおりです。
  • 各文字は、数字のセット ('0' から '9')、またはアクセントの付かない大文字 ('A' から 'Z') でなければなりません。
  • SQLSTATE クラス (最初の 2 文字) を '00' にすることはできません。
RAISE_ERROR 関数に指定する SQLSTATE の値の規則は、以下のとおりです。
  • 各文字は、数字のセット ('0' から '9')、またはアクセントの付かない大文字 ('A' から 'Z') でなければなりません。
  • エラー・クラスではないので、SQLSTATE クラス (最初の 2 文字) を '00'、'01'、または '02' することはできません。
  • SQLSTATE クラス (最初の 2 文字) が文字 '0' から '6' または 'A' から 'H' で始まっている場合、サブクラス (最後の 3 文字) は 'I' から 'Z' までの文字で始まらなければなりません。
  • SQLSTATE クラス (最初の 2 文字) が文字 '7'、'8'、'9' または 'I' から 'Z' で始まっている場合、サブクラス (最後の 3 文字) は '0' から '9' または 'A' から 'Z' のいずれでもかまいません。

sqlcode: -435

sqlstate: 428B3

SQL0436N C 言語の NULL 終了文字ストリング・ホスト変数から、終了の NULL 文字が欠落しています。

説明

C プログラミング言語の入力ホスト変数コードの値には、ストリングの最後に NULL 終止符が必要です。

ステートメントは処理できません。

ユーザーの処置

入力ホスト変数の値が、NULL 終止文字で終了していることを確認してください。

sqlcode: -436

sqlstate: 22024

SQL0437W この複合照会のパフォーマンスが最適ではない可能性があります。 理由コード: reason-code

説明

照会の最適化は、アプリケーション・パフォーマンスに影響を与える要因の 1 つです。 SQL および XQuery コンパイラーは、いくつかのステップを実行して、実行可能なアクセス・プランを作成します。

このメッセージは通常、照会が複雑なために必要となるリソースが得られないか、または最適化境界条件が検出された場合に返されます。

以下の理由コードは、パフォーマンスが最適ではない可能性がある理由をより詳細に示すものです。

1

メモリーの制約のため、結合列挙メソッドが変更されました。

2

照会の複雑さのため、結合列挙メソッドが変更されました。

3

オプティマイザーのコスト・アンダーフロー

4

オプティマイザーのコスト・オーバーフロー

5

照会最適化クラスが低すぎました。

6

オプティマイザーは不整合な統計を許容しました。

13

最適化ガイドラインは適用できませんでした。

15

選択されたプランによって中間結果セットがマテリアライズされますが、そのサイズがレジストリー変数 DB2_OPT_MAX_TEMP_SIZE によって課される制限を超える可能性があります。

16

データベース・パーティション環境では並列化されない XQuery 変換式が照会に含まれています。

ステートメントは処理されます。

ユーザーの処置

クエリーのパフォーマンスが最適でない場合は、以下の 1 つ以上のアクションを実行します。

  • データベース構成ファイルのステートメント・ヒープ (stmtheap) の大きさを増やしてください。 stmtheap 構成パラメーターを引き上げた後、ステートメントが再コンパイルされるようにしてください。 (理由コード 1)
  • ステートメントをより簡単な SQL ステートメントに分割してください。 (理由コード 1、2、3、4)
  • 述部に必要以上の応答セットを指定していないことを確認してください。 (理由コード 3)
  • 現在の照会最適化クラスを、低い値に変更してください。 (理由コード 1、2、4)
  • 照会に関連した表に対して、RUNSTATS を発行してください。 (理由コード 3、4)
  • 現在の照会最適化クラスを、高い値に変更してください。 (理由コード 5)
  • 照会で呼び出された表およびその対応索引に対して、RUNSTATS を再発行します。 つまり、表と索引の統計が一致するように、AND INDEXES ALL 節を使用します。 (理由コード 6)
  • Explain 診断機能を使用して、最適化ガイドラインが適用できなかった理由についての詳細情報を取得してください。 (理由コード 13)
  • ソート・スピルによってマテリアライズが起きる場合は、ソートを回避する索引を作成してみてください。 警告を抑止するには、レジストリー変数 DB2_OPT_MAX_TEMP_SIZE で指定される値を大きくするか、または完全に設定解除します。 (理由コード 15)
  • サーバー・オプション CPU_RATIO、IO_RATIO、COMM_RATE、または関数マッピング・オプション IOS_PER_INVOC、 INSTS_PER_INVOC、IOS_PER_ARGBYTE、INSTS_PER_ARGBYTE、PERCENT_ARGBYTES、INITIAL_IOS、INITIAL_INSTS を、 高すぎることも低すぎることもない値に設定します。 (理由コード 3、4)
  • 変換式を並列化するように、クエリーを書き直してください。 (理由コード 16)

sqlcode: +437

sqlstate: 01602

SQL0438N アプリケーションで次の診断テキストを持つエラーまたは警告が発生しました: text

説明

このエラーまたは警告は、トリガーの RAISE_ERROR 関数または SIGNAL SQLSTATE ステートメントの実行の結果として発生しました。 '01' または '02' で始まる SQLSTATE 値は警告を示します。

ユーザーの処置

アプリケーションの資料を参照してください。

sqlcode: -438, +438

sqlstate: アプリケーション定義

SQL0439N ユーザー定義関数 function-name が関数 source-function によって間接的に実行され、その結果、エラー sqlcode が発生しました。

説明

関数 function-name がユーザーのステートメント内で参照されていました。 ただし、SOURCE 節がこの関数の定義に使用されていたため、関数 source-function が実際にその関数をインプリメントすることになりました。 (function-name から source-function へは、直接または間接的な定義パスが存在する可能性があります。) コンパイル時に、source-function のカプセル化プログラム (関数に代わって作動する DB2 コード) が、sqlcode で示されるエラーを返しました。

ユーザーの処置

修正を行う前に、実際のエラー状況を理解する必要があります。 sqlcode の説明を調べてください。 source-function が組み込み関数の場合、組み込み関数がユーザーのステートメントで直接参照されたときには、sqlcode が問題を示します。 source-function がユーザー定義関数の場合は、メッセージが、引数のいずれかまたは関数の結果を使用して、最も可能性のある問題を示します。

問題を訂正して再度試行してください。

sqlcode: -439

sqlstate: 428A0

SQL0440N 互換性のある引数を持つ、タイプ routine-typeroutine-name という名前の許可されたルーチンが見つかりませんでした。

説明

これは、データベース・マネージャーが参照を実行するために使用できるルーチンを見つけられない場合、ルーチン routine-name への参照で発生します。 原因は以下のとおりです。

  • routine-name が間違って指定されたか、またはデータベースに存在しません。
  • 修飾付き参照が行われましたが、修飾子の指定が正しくありませんでした。
  • ユーザーの SQL パスに、必要な関数またはメソッドが属しているスキーマが入っていなかったために、無修飾参照が使用されました。
  • ユーザーの SQL パスには、必要なルーチンが属するモジュールが入っていません。
  • モジュール修飾ルーチン参照はモジュールの外部で作成されますが、モジュール・ルーチンは公開されていません。
  • 間違った数の引数が組み込まれていました。
  • 正しい数の引数が関数またはメソッド参照に組み込まれていましたが、引数の 1 つ以上のデータ・タイプが正しくありませんでした。
  • ルーチン routine-name のパラメーター名と一致しない名前付き引数が使用されました。
  • 現行のコンパウンド・ステートメント内に、同じ名前および同じパラメーター数を持つ 1 つ以上のルーチンが宣言されています。
  • 外部コンパウンド・ステートメント内に、同じ名前を持つ 1 つ以上のルーチンが宣言されています。その外部コンパウンド・ステートメント内で、ルーチンを宣言している現行のコンパウンド・ステートメントがネストされています。
  • ルーチンが、パッケージのバインド時に使用されたものと同じ関数 ID を持つデータベースに存在しません (静的ステートメントに該当します)。
  • UPDATE ステートメントで使用されている属性割り当てに対応する mutator メソッドが見つかりませんでした。 属性の新しい値のデータ・タイプが、属性のデータ・タイプと同じ、またはプロモート可能なデータ・タイプではありません。
  • ルーチンの起動側が、ルーチンを実行するよう許可されていません。
  • サーバーの時刻がリセットまたは変更されています。
  • 時刻または時間帯が異なるサーバー上にデータベースがリストアされています。
  • 複数パーティション・データベース環境内のメンバーに関連付けられた時刻が同期していません。

ユーザーの処置

問題を修正して、やり直してください。 これには、カタログ・アクセス、ステートメントに対する変更、ルーチンの起動側への実行特権、新しい関数の追加、および SQL パスに対する変更も含まれます。

sqlcode: -440

sqlstate: 42884

SQL0441N function-name 関数を持つキーワード DISTINCT または ALL の使用が無効です。

説明

可能性のある原因は、以下のとおりです。
  • キーワード DISTINCT または ALL が関数 function-name を参照する括弧内で検出され、関数はスカラー関数として解決されました。 スカラー関数でのキーワード DISTINCT または ALL の使用は無効です。
  • キーワード DISTINCT が、サポートされていない列関数で使用されました。 これらの関数には、COVARIANCE、CORRELATION、および REGR で始まる線形回帰関数が含まれます。
  • 関数がキーワード ALL または DISTINCT をサポートしている列関数であるという前提でしたが、それが解決した関数は列関数ではありませんでした。

ユーザーの処置

  • スカラー関数が使用されている場合は、キーワード DISTINCT または ALL を除去してください。 スカラー関数には無効です。
  • 関数が DISTINCT または ALL キーワードをサポートしない列関数である場合は、キーワードを除去してください。
  • 列関数が使用されている場合は、関数解決に問題があります。 パスをチェックして必要な関数がいずれかのスキーマに存在するかどうかを調べ、関数名のつづり、パラメーターの数およびタイプについて SYSFUNCTIONS カタログもチェックしてください。

エラーを訂正し、やり直してください。

sqlcode: -441

sqlstate: 42601

SQL0442N ルーチン routine-name の参照中にエラーが発生しました。 引数の最大許容数 (90) を超えました。

説明

ルーチン routine-name への参照に指定された引数が多すぎます。 最大許容数は 90 です。

ユーザーの処置

ステートメントに、正しい数の引数が使用されていることを確認して、もう一度やり直してください。

sqlcode: -442

sqlstate: 54023

SQL0443N ルーチン routine-name (特定名 specific-name) が、診断テキスト text とともにエラー SQLSTATE を返しました。

説明

組み込みルーチンまたはユーザー定義ルーチン (プロシージャー、関数、メソッド) が失敗すると、このメッセージが返されます。

3 つ目のランタイム・トークン text の内容には、次のようなものがあります。

  • ユーザー定義ルーチンの失敗によりこのメッセージが返された場合、3 つ目のランタイム・トークン text の内容は、ルーチンの作成者が実装したものです。
  • 通常、組み込みルーチンの失敗によりこのメッセージが返された場合、3 つ目のランタイム・トークン text の内容には、次のような組み込みエラー・コードが含まれます。

    例 1 - この例では、text はメッセージ DBA7904N を指します。

    [IBM][CLI Driver][DB2/AIX64] SQL0443N ルーチン
    "SYSPROC.ALTOBJ" (特定名 "ALTOBJ") が、診断テキスト
    "DBA7904, DBAD" とともにエラー SQLSTATE を返し
    ました。  SQLSTATE=38553

    例 2 - この例では、text は sqlcode -805 を指します。

    [IBM][CLI Driver][DB2/AIX64] SQL0443N ルーチン
    "SYSIBM.SQLTABLES" (特定名 "TABLES") が、診断テキスト
    "SYSIBM:CLI:-805" とともにエラー SQLSTATE を返し
    ました。  SQLSTATE=38553
  • SYSFUN スキーマの組み込み関数の失敗によりこのメッセージが返された場合、3 つ目のランタイム・トークン text は、次の形式になります。
    SYSFUN:nn

    この nn は、以下の意味を持つ理由コードです。

    01

    数値が範囲外

    02

    ゼロによる除算

    03

    算術オーバーフローまたはアンダーフロー

    04

    無効な日付形式

    05

    無効な時刻フォーマット

    06

    無効なタイム・スタンプ・フォーマット

    07

    タイム・スタンプ期間の無効な文字表示

    08

    無効なインターバル・タイプ

    09

    ストリングが長すぎる

    10

    ストリング関数の長さまたは位置が範囲外になっている

    11

    浮動小数点数では無効な文字表示である

    12

    メモリー不足

    13

    予期しないエラー

ユーザーの処置

以下のいずれかの方法で、このエラーに対処してください。

  • ユーザー定義のプロシージャー、関数、またはルーチンの失敗によりこのメッセージが返された場合は、3 つ目のランタイム・トークン text にある診断情報を確認し、プロシージャー、関数、またはルーチンの作成者と協力して、問題の原因についてトラブルシューティングしてください。
  • DB2 組み込みプロシージャー、関数、またはルーチンの失敗によりこのメッセージが返された場合は、次のトラブルシューティング手順を実行してください。
    1. 3 つ目のランタイム・トークン text に、どのエラー・コードが組み込まれているか判断する。
    2. 指定された sqlcode の詳細を確認してください。
    3. db2diag ログ・ファイルで、組み込みエラー・コードのランタイム・トークンの値など、その他の診断情報を確認する。

SQL0444N ルーチン routine-name (特定名 specific-name) が、アクセスできないライブラリーまたはパス library-or-path、関数 function-code-id のコードで実行されています。 理由コード: code

説明

データベース・マネージャーが、ルーチン routine-name (特定名 specific-name) を実行するコードの本体にアクセスを試みましたが、理由コード code (下のリストで説明) によってアクセスできません。 ルーチンを実行するファイルは library-or-path で、関数は function-code-id で示されています。

ライブラリー名、パス名、または関数名は、使用可能な最大トークン長の制限により切り捨てられる場合があります。 以下の照会を使用して、システム・カタログ・ビューから完全なライブラリー・パスと関数名を入手できます。

     SELECT implementation
     FROM syscat.routines
     WHERE specificname = 'specific-name'
1

パス名 library-or-path が、最大値 (255 バイト) を超えています。

2

データベース・マネージャー・インスタンス・パス名を DB2 から検索できませんでした。

3

パス library-or-path が見つかりませんでした。

4

以下のいずれかの理由で、library-or-path でファイルが見つかりませんでした。

  1. ルーチンに関連したルーチン・ライブラリーは、ルーチン CREATE ステートメント定義内の EXTERNAL 節により指定されたロケーションでは入手できません。
  2. ルーチン・ライブラリーは、位置指定できない共有ライブラリーに依存しています (UNIX ベース・システムでは LIBPATH 環境変数で、Windows システムでは PATH 環境変数で指定されたディレクトリーの連結内)。 この理由コードの前に、複数レベルの間接原因がある場合があります。 例えば、ルーチン本体 X が見つかった場合、共有ライブラリー Y が必要となります。 Y はここで検出されるものです。 しかし Y は、位置指定できない別の共有ライブラリー Z を必要とします。
  3. これはパーティション・データベースで、ライブラリーはユーザー定義関数が実行されたパーティションのいずれかにはありません。
5

関数の入ったライブラリーをロードするためのメモリーが足りないか、または 1 つ以上のシンボルを解決できませんでした。 理由コードは、以下のいずれかの状態を示しています。

  1. 1 つ以上のシンボルが解決されていない可能性があります。 ルーチン・ライブラリーは、位置指定できない共有ライブラリーに依存している可能性があります (UNIX ベース・システムでは LIBPATH 環境変数で、INTEL システムでは PATH 環境変数で指定されたディレクトリーの連結を使用)。
  2. ルーチンの中に、32 ビット・インスタンス内ではサポートされない 64 ビット・ライブラリーがあるか、またはルーチンの中に、ルーチン定義と非互換の 64 ビット・インスタンス内の 32 ビット・ライブラリーまたは DLL があります。
  3. 関数の入ったライブラリーをロードするためのメモリーが足りませんでした。
6

関数 function-code-id が、指定されたライブラリーで見つかりませんでした。

7

関数名として指定された記号 (function-code-id) は、指定されたライブラリーにある有効な関数の名前ではありません。

8

このメッセージに示された理由以外で、"load" システム関数が失敗しました。 オブジェクト・ファイルは、正しくリンクされていないか、またはまったくリンクされていない可能性があります。

9

メモリーが不足しているため、library-or-path で識別されるライブラリーの関数名 function-code-id を解決できません。

10

"loadquery" システム呼び出しが失敗しました。 これは、UNIX オペレーティング・システムでのみ発生し、データベース・マネージャーが正しくインストールされていないという症状です。

11

エージェント処理が、libdb2.a library に存在しているべき特定のデータベース・マネージャー関数を検索していましたが、見つかりませんでした。 これは、UNIX オペレーティング・システムでのみ発生し、データベース・マネージャーが正しくインストールされていないという症状です。

15

システムまたはネットワーク・アクセスが拒否されています。 これが発生するのは、Windows 環境で、ルーチン定義ステートメントの EXTERNAL NAME 指定で絶対パスが指定されていない場合や、db2_installation_path¥function というディレクトリーに関数が存在しないため PATH 環境変数を使った検索が必要になる場合です。 例えば、PATH 内で、関数の含まれるディレクトリーの前に LAN ドライブが含まれており、インスタンスが SYSTEM アカウントで実行されている場合、この理由コードの結果になることがあります。

16

関数 function-code-id と一致する可能性がある複数の Java メソッドが検出されました。

その他:

未確認システム障害が発生しました。

フェデレーテッド・システム・ユーザーの場合: このユーザー定義関数が関数テンプレートである場合 (そのため、フェデレーテッド・サーバーに存在するためのコードが必要ない場合)、 この関数がリモート・データ・ソースで評価されるようにするために、 SQL ステートメントまたは統計の変更を考慮してください。

ユーザーの処置

各理由コードごとに、次のようになります。

1

ルーチン定義を変更してより短いパスを指定する必要があるか、またはデータベース・マネージャー・インスタンス・パス名が長すぎます。DB2 カタログ・ビュー内のルーチン定義を分析して、取るべきアクションを判断してください。 関数本体を、もっと短いパス名のディレクトリーに移動することが必要になる場合があります。

2、10、および 11

システム管理者に連絡して、該当する理由コードの全文を提供してください。

3、6、および 7

ルーチンの作成者またはデータベース管理者に連絡してください。 該当する理由コードの全文を提供してください。 ルーチン定義またはルーチンのロケーションを訂正しなければなりません。

4

可能なソリューションは、メッセージ説明で示される原因ごとにグループ化されています。

  1. 次のようにして、ルーチンに関連したルーチン・ライブラリーを使用可能にします。
    • ルーチン定義 EXTERNAL 節の値を訂正するか、またはルーチン・ライブラリーが EXTERNAL 節により指定されたロケーションにあることを検査してください。
    • 組み込みルーチンについては、データベースを別のフィックスパック・レベルに最近アップデートしたためシステム・カタログの更新が必要になった場合には、データベースを現在のリリースに更新するコマンドを発行することにより組み込みルーチンを含むシステム・カタログを更新した後、インスタンスを再始動します。
    • データベース・マネージャーからルーチン・ライブラリーにアクセスできることを検証します。 fenced ルーチンの場合は、fenced プロセス所有者がライブラリーまたは DLL に対する実行アクセス許可を持っていることを検査してください。 unfenced ルーチンの場合は、インスタンス所有者がライブラリーまたは DLL に対する読み取りアクセス許可を持っていることを検査してください。
  2. ルーチンを再リンクするか、または従属ライブラリーが LIBPATH (UNIX) または PATH (INTEL) で使用可能であることをユーザーが検査する必要があります。 db2set コマンドを使用して LIBPATH を更新し、ライブラリーまたは DLL があるパスを組み込んでください。 例えば、db2set db2libpath=/db2test/db2inst1/sqll とします。
  3. パーティション・データベースでは、ユーザー定義関数に関連付けられているライブラリーはデータベースのすべてのパーティションで ライブラリーまたはパス としてアクセス可能である必要があります。 ルーチン・ライブラリーが、データベースのすべてのパーティション上の関数ディレクトリーにデプロイされていることを検査してください。
5

可能なソリューションは、メッセージ説明で示される原因に対応させて配列されています。

  1. この理由コードの前に、複数レベルの間接原因がある場合があります。 例えば、ルーチン本体 X を検出でき、それはやはり検出できる共有ライブラリー Y を必要とするが、Y は検出できない別の共有ライブラリー Z を必要としているという場合があります。 ルーチン・ライブラリーを再リンクするか、またはすべての従属ライブラリーが LIBPATH (UNIX) または PATH (INTEL) で使用可能であることをユーザーが検査する必要があります。 db2set コマンドを使用して LIBPATH を更新し、ライブラリーがあるパスを組み込んでください。 例えば、db2set db2libpath=/db2test/db2inst1/sqll とします。
  2. サポートされるライブラリーを使用してください。
  3. メモリー不足と判別した場合は、DB2 に使えるメモリーを増やすようにシステム構成を変更する必要があります。
8

モジュールが正しくリンクされていることを確認してください。

9

ルーチンの作成者またはデータベース管理者に連絡して、関数の入ったライブラリーが正しくリンクされているかを確認してください。 データベース・サーバーがもっと多くのメモリーを使用できるように、システム構成の変更が必要になる場合があります。

15

ルーチン定義ステートメントの EXTERNAL NAME 節に絶対パスが含まれていること、または db2_installation_path¥function というディレクトリーに関数が存在することを確認します。

このいずれかが当てはまる状況で、PATH 環境変数内の当該関数を含むディレクトリーの前にある LAN ドライブにアクセスできないアカウントでインスタンスが実行されているためにエラーが発生する場合には、PATH 環境変数内のすべてのネットワーク・パスへのアクセス権があるユーザー・アカウントで実行されるように DB2 サービスを再構成する必要があります。

DB2 サービスにユーザー・アカウントを割り当てる場合は、必要なすべての拡張ユーザー権限をアカウントに付与してください。

16

ルーチン定義ステートメントの EXTERNAL NAME 文節で参照される library-or-path クラス内に、ルーチン定義ステートメントの SQL データ・タイプに基づいてあいまいさを伴わずに解決できる関数 function-code-id が含まれていることを確認します。

ルーチンがルーチン定義ステートメントで PARAMETER STYLE HIVE によって定義された場合、複数の function-code-id メソッドのルーチン実装を確認します。例えば、複数の function-code-id メソッドがある場合、いずれか 2 つのメソッドで相互に置換可能な java.lang.String クラスまたは org.apache.hadoop.io.Text を使用できる場合には、それらのメソッドに同じパラメーター・リストが含まれていないことを確認します。

その他:

コードを書き留めて、システム管理者に連絡してください。

フェデレーテッド・システム・ユーザーの場合: このユーザー定義関数が関数テンプレートである場合 (そのため、フェデレーテッド・サーバーに存在するためのコードが必要ない場合)、 この関数がリモート・データ・ソースで評価されるようにするために、 SQL ステートメントまたは統計の変更を考慮する必要があります。

sqlcode: -444

sqlstate: 42724

SQL0445W value が切り捨てられました。

説明

value は、システム (組み込み) キャスト、調整、またはコード・ページ変換機能などによる何らかの方法でトランスフォームされたときに切り捨てられました。 これは警告状態です。

トランスフォームされた値は、以下のいずれかの可能性があります。

  • ルーチン (ユーザー定義関数 (UDF) またはメソッド) の出力。ルーチン定義に CAST FROM の指定があるため、トランスフォームされています。
  • ルーチン (ユーザー定義関数 (UDF) またはメソッド) の出力。これは別の関数にソース派生しており、結果をトランスフォームする必要があります。
  • 例えばストリングの長さの単位の指定などが原因で、処理中にコード・ページ変換を実行する必要がある、組み込みストリング処理ルーチンの出力。

ユーザーの処置

出力が予期されていること、および切り捨てが予期しない結果の原因とならないことを確認してください。

sqlcode: +445

sqlstate: 01004

SQL0447W ステートメントに、節 clause を含む重複指定があります。

説明

clause キーワードが、ステートメントに 2 回以上入っています。 これは警告状態です。

ユーザーの処置

冗長が意図されたものである場合、または重複が障害を引き起こさないと判断した場合は、対応する必要はありません。 "障害" とは、例えば、他の必須キーワードが抜けていることを示しています。

sqlcode: +447

sqlstate: 01589

SQL0448N ルーチン routine-name の定義中にエラーが発生しました。 パラメーターの最大許容数 (ユーザー定義関数およびメソッドの場合は 90、ストアード・プロシージャーの場合は 32767) を超えました。

説明

ルーチン routine-name の定義中、指定されたパラメーターが多すぎます。 ルーチン定義ステートメントは CREATE FUNCTION、CREATE PROCEDURE、CREATE TYPE (メソッド定義)、または ALTER TYPE (メソッド定義) だと思われます。

ユーザーの処置

ステートメントを変更して、パラメーターの数を減らしてください。

sqlcode: -448

sqlstate: 54023

SQL0449N ステートメント定義ルーチン routine-name で、無効なフォーマットのライブラリー/関数識別が EXTERNAL NAME 節に含まれています。

説明

ユーザー定義関数 (UDF)、ユーザー定義メソッド、またはプロシージャー routine-name の CREATE ステートメントの EXTERNAL NAME 節にエラーが検出されました。 ライブラリー/関数識別の規則は、以下のとおりです。

LANGUAGE C の場合、名前の形式は '<a> または '<a>!<b>' です。 ただし、
  • <a> は、呼び出すルーチン (関数) を含むファイル名
  • <b> は、ルーチン本体として呼び出される <a> 内の入り口点 (関数)。 <b> を省略した場合は、デフォルトの入り口点として <a> が使用されます。
LANGUAGE OLE の場合、名前の形式は '<a>!<b>' です。ただし、
  • <a> は、OLE オブジェクトのプログラマチック ID または クラス ID
  • <b> は、呼び出すオブジェクトのメソッド
LANGUAGE JAVA および LANGUAGE CLR の場合、名前の形式は '<a>:<b>!<c>' です。 ただし、
  • <a> は、クラスの存在する jar ID (LANGUAGE JAVA) またはアセンブリー・ファイル (LANGUAGE CLR) です。LANGUAGE JAVA の場合、'<a>:' はオプションであり、それを省略した場合は、関数ディレクトリーか CLASSPATH の中に対応するクラスが存在していなければなりません。
  • <b> は、呼び出すメソッドを含むクラス
  • <c> は、呼び出すメソッド。 LANGUAGE JAVA の場合、'!<c>' の代わりに '.<c>' を使用できます。

どの言語でも、先頭や末尾にブランク文字を含めたり、単一引用符、オブジェクト ID、または分離文字の間にブランク文字を含めることはできません (例えば、' <a> ! <b> ' は無効)。 一方、パス名とファイル名には、プラットフォームで許可されている限り、ブランクを含めることができます。

どのファイル名の場合も、ファイルは名前の短い形式 (例: math.a (UNIX)、math.dll (Windows)) か、または完全修飾パス名 (例: /u/slick/udfs/math.a (UNIX)、d:¥udfs¥math.dll (Windows)) を使用して指定できます。 ファイル名の短い形式を使用する場合、そのファイルは次のようにして探索されます。
  • UNIX プラットフォームの場合、またはルーチンが LANGUAGE CLR ルーチンの場合: 関数ディレクトリー
  • プラットフォームが Windows の場合: システム PATH
ファイル拡張子 (例: .a (UNIX)、.dll (Windows)) は、常にファイル名に含めてください。

ユーザーの処置

問題を訂正して再度試行してください。 原因として、ブランクが含まれているか、名前の先頭または最後に '!' または ':' が入っている可能性があります。

sqlcode: -449

sqlstate: 42878

SQL0450N ルーチン routine-name (特定名 specific-name) が、長すぎる結果値、SQLSTATE 値、メッセージ・テキスト、またはスクラッチパッドを生成しました。

説明

ルーチン routine-name (特定名 specific-name) からの戻りにおいて、 以下のいずれかに割り振られているバイト数を超えるバイト数を返されたことをデータベース・マネージャーが見つけました。
  • 結果値 (ルーチン定義に基づきます)。 可能性のある原因は、以下のとおりです。
    • 結果バッファーに移動したバイトが多すぎる。
    • データ・タイプは VARCHAR のようにデータ値を null で区切る必要があり、区切りの null は定義されたサイズの範囲内ではない。
    • データベース・マネージャーはこの値の前に 2 あるいは 4 バイト長の値を予想し、この長さが、結果に定義されたサイズを超過しています。
    • ルーチンが LOB ロケーターを戻しました。 このロケーターに関連する LOB 値の長さが、結果のサイズとして定義された値を超えています。

    ルーチンの結果引数の定義は、データ・タイプの要件に適合している必要があります。

  • SQLSTATE 値 (NULL 終止符を含めて 6 バイト)
  • メッセージ・テキスト (NULL 終止符を含めて 71 バイト)
  • スクラッチパッドの内容 (CREATE FUNCTION で宣言された長さ)

これは許されていません。

また、スクラッチパッドの長さフィールドがルーチンによって変更された場合にも、このメッセージが返されます。

ユーザーの処置

データベース管理者、またはルーチンの作成者に連絡してください。

sqlcode: -450

sqlstate: 39501

SQL0451N ルーチン routine-name を定義するステートメント内の data-item 定義の中には、所定の言語で作成された非ソース・ルーチンまたは自立走行式として定義されたルーチンに適切でないデータ・タイプ type が含まれています。

説明

ルーチン routine-name を定義しているステートメントの data-item 部分でエラーが発生しました。 ユーザーのステートメントに、無効なタイプ type、または無効なタイプ type に基づいているユーザー定義タイプ (UDT) が入っています。 ルーチン定義は CREATE FUNCTION、CREATE PROCEDURE、CREATE TYPE (メソッド定義)、または ALTER TYPE (メソッド定義) だと思われます。

data-item は、ステートメントの問題の領域を識別するトークンです。 例えば、"PARAMETER 2"、"RETURNS"、または "CAST FROM" です。

自律型トランザクションでは、トランザクション内のステートメントのブロックは、そのトランザクションがロールバックされた場合でもコミットできます。 CREATE PROCEDURE コマンドに AUTONOMOUS キーワードを指定して使用し、ロールバックされた作業単位内から呼び出された場合でも、その作業をコミットするプロシージャーを作成できます。

ユーザーの処置

どの状態が発生したかを判別して、修正してください。 修正アクションには、以下が含まれます。

  • ルーチン定義をサポートされているタイプに変更 (例えば DECIMAL から FLOAT) してください。 ここには、ルーチン本体それ自身の変更がかかわってくる可能性があり、ルーチンの使用での cast 関数の使用も関与する可能性があります。
  • 新しい (適切な) ユーザー定義タイプを作成するか、または既存の UDT の定義を変更してください。

sqlcode: -451

sqlstate: 42815

SQL0452N ホスト変数 variable-position によって参照されているファイルにアクセスできません。 理由コード: reason-code

説明

"nth" (この場合、n は variable-position) ホスト変数によって参照されるファイルへのアクセスしようとしたとき、またはアクセス中にエラーが発生しました。理由は reason-code です。 ホスト変数の位置を判別できなかった場合、<variable-position> は 0 に設定されます。 可能性のある理由コードは、以下のとおりです。
  • 01 - ファイル名の長さが無効か、またはファイル名とパスのいずれか、または両方のフォーマットが無効です。
  • 02 - ファイル・オプションが無効です。 以下のいずれかの値を持つ必要があります。
    SQL_FILE_READ
         - 既存のファイルから読み込む
    SQL_FILE_CREATE
         - 書き込み用に新しいファイルを作成する
    SQL_FILE_OVERWRITE
         - 既存のファイルを上書きする
          ファイルが存在しない場合は、
          ファイルを作成する
    SQL_FILE_APPEND
         - 既存のファイルに追加する
          ファイルが存在しない場合は、
          ファイルを作成する
  • 03 - ファイルが見つかりませんでした。
  • 04 - SQL_FILE_CREATE オプションが、既存のファイルと同じ名前を持つファイルに指定されました。
  • 05 - ファイルへのアクセスが拒否されました。 ユーザーが、ファイルをオープンするための許可を持っていません。
  • 06 - ファイルへのアクセスが拒否されました。 ファイルが非互換モードで使用中です。 書き込まれるファイルが、排他モードでオープンされています。
  • 07 - ファイルへの書き込み中に、ディスクがフルになりました。
  • 08 - ファイルの読み取り中、予期しないファイルの終了が見つかりました。
  • 09 - ファイルのアクセス中に、メディア・エラーが発生しました。
  • 10 - ファイルから読み取り中に、不完全または無効なマルチバイト文字が検出されました。
  • 11 - ファイル・コード・ページからアプリケーションの GRAPHIC 文字コード・ページにデータを変換中に、エラーが検出されました。

ユーザーの処置

理由コード 01 の場合は、ファイル名の長さ、ファイル名およびパスを訂正してください。

理由コード 02 の場合は、有効なファイル・オプションを指定してください。

理由コード 03 の場合は、ファイルにアクセスする前に、指定したファイルが存在することを確認してください。

理由コード 04 の場合は、ファイルが必要ないときは、そのファイルを削除するか、または存在しないファイル名を指定してください。

理由コード 05 の場合は、ユーザーが、ファイルに対するアクセス (正しいファイル許可) を持っていることを確認してください。

理由コード 06 の場合は、別のファイルを使用するか、またはそのファイルにアクセスする必要があるときは、ファイルが同時にアクセスされないように、アプリケーションを変更してください。

理由コード 07 の場合は、不必要なファイルを削除して、ディスク・スペースを解放するか、または十分なディスク・スペースを持つ別のドライブ/ファイル・システムに常駐するファイルを指定してください。 また、オペレーティング・システムまたはユーザー・ファイル・サイズの限界に達していないことを確認してください。 ユーザーのアプリケーションのコード・ページがマルチバイト・エンコード・スキーマを使用していて、最後の文字の部分だけが書き込み可能な場合には、そのファイルに完全書式の文字だけが入っていることを確認してください。

理由コード 08 の場合は、ファイルが入力に使用されているときは、ファイル全体が読み取られる前に、そのファイルが変更されていないことを確認してください。

理由コード 09 の場合は、ファイルが常駐しているメディアのすべてのエラーを修正してください。

理由コード 10 の場合は、アプリケーションのコード・ページに基づいて有効なマルチバイト文字だけがファイルに入っていることを確認するか、あるいはファイルの内容と同じコード・ページのもとで実行している間にその要求を投入してください。

理由コード 11 の場合には、日本語 EUC などのファイルのコード・ページと、UCS-2 などのアプリケーションの図形文字コード・ページとの間の文字変換サポートがインストールされていることを確認してください。

sqlcode: -452

sqlstate: 428A1

SQL0453N ルーチン routine-name を定義しているステートメントの RETURNS 節で、問題が識別されています。

説明

ルーチン routine-name の結果をキャストする問題が識別されました。 CAST FROM データ・タイプが、RETURNS データ・タイプにキャストできないので、問題が発生しました。 データ・タイプ間のキャストの詳細については、「SQL リファレンス」を参照してください。

ユーザーの処置

RETURNS または CAST FROM 節を変更して、CAST FROM データ・タイプが RETURNS データ・タイプにキャストできるようにしてください。

sqlcode: -453

sqlstate: 42880

SQL0454N ルーチン routine-name の定義で与えられているシグニチャーが、他のルーチンのシグニチャーに一致しています。

説明

関数のシグニチャーは、関数名、関数に定義されているパラメーターの数、およびパラメーターのタイプの順序リストによって構成されています。

メソッドのシグニチャーは、メソッド名、メソッドのサブジェクト・タイプ、メソッドに定義されているパラメーターの数、およびパラメーターのタイプの順序リストによって構成されています。

プロシージャーのシグニチャーは、プロシージャーの名前およびプロシージャーに定義されているパラメーターの数 (データ・タイプは考慮されていません) から構成されています。

これは、次のような場合に発生します。

  • 作成される関数またはプロシージャーと同じシグニチャーを持つ関数またはプロシージャー (routine-name) が、すでにスキーマ、モジュール、またはコンパウンド SQL (コンパイル済み) ステートメントに存在する。 モジュールを変更してルーチン本体を定義済みのルーチン・プロトタイプに追加する場合、ルーチンには既にルーチン本体定義があります。
  • 宣言されるプロシージャーと同じ名前を持つプロシージャー (routine-name) が、すでに外部コンパウンド SQL (コンパイル済み) ステートメントに存在する。
  • 追加されるメソッド指定、または作成されるメソッド本体と同じシグニチャーを持つサブジェクト・タイプのメソッド (routine-name) がすでに存在する。

ステートメントは処理できません。

ユーザーの処置

既存のルーチンが必要な機能を提供しているかどうかを判別してください。 提供していない場合、ルーチンのシグニチャーを変更しなければなりません。 (例えば、ルーチン名を変更)

モジュールを変更してルーチン本体を定義済みのルーチン・プロトタイプに追加する場合、シグニチャーが一致しているか、またはシグニチャーも変更する必要があるかを確認してください。さらにルーチン名および固有名が、定義済みのルーチン・プロトタイプのルーチン名および固有名と一致することを確認してください。 既存のモジュール・ルーチンのルーチン本体を変更する必要がある場合は、ルーチンをドロップするようにモジュールを変更し、さらに新規ルーチン本体を使用してルーチンを再作成するようにモジュールを変更します。

sqlcode: -454

sqlstate: 42723

SQL0455N ルーチン routine-name において、SPECIFIC 名として与えられているスキーマ名 schema-name1 が、ルーチンのスキーマ名 schema-name2 に一致していません。

説明

SPECIFIC 名が 2 つの部分の名前として指定されている場合、schema-name1 部分は、routine-nameschema-name2 部分と同じでなければなりません。 routine-nameschema-name2 部分が、直接指定されている場合があること、またはステートメントの許可 ID に対するデフォルトを持っている場合があることに注意してください。 ルーチンがメソッドであれば、schema-name は、そのメソッドのサブジェクト・タイプのスキーマ名を指します。

ユーザーの処置

ステートメントを訂正して、もう一度やり直してください。

sqlcode: -455

sqlstate: 42882

SQL0456N ルーチン routine-name の定義において、SPECIFIC 名 specific-name は既にスキーマまたはモジュールに存在しています。

説明

ユーザーは明示 SPECIFIC 名 specific-name をルーチン routine-name の定義に与えましたが、この名前はスキーマまたはモジュール内の関数、メソッド、またはプロシージャーの SPECIFIC 名として存在しています。

ユーザーの処置

新しい SPECIFIC 名を選択して、もう一度やり直してください。

sqlcode: -456

sqlstate: 42710

SQL0457N システム使用のために予約されているため、名前 name を関数、メソッド、ユーザー定義データ・タイプ、または構造化データ・タイプ属性に付けることはできません。

説明

示されている名前はシステム使用のために予約されているので、ユーザー定義関数、メソッド、ユーザー定義データ・タイプ、または構造化データ・タイプを作成できません。 関数名、特殊タイプ名、構造化タイプ名、あるいは属性名に対して使用されない名前には、以下のものがあります。
  "=","<",">",">=","<=",
  "&=","&>",,"&<",
  "!=","!>","!<","<>",
  SOME, ANY, ALL, NOT, AND, OR,
  BETWEEN, NULL, LIKE, EXISTS, IN,
  UNIQUE, OVERLAPS, SIMILAR, and MATCH.

ユーザーの処置

システム使用のために予約されていない関数、メソッド、ユーザー定義データ・タイプ、あるいは構造化データ・タイプ属性の名前を選択してください。

sqlcode: -457

sqlstate: 42939

SQL0458N シグニチャーによるルーチン routine-name への参照において、一致するルーチンが見つかりませんでした。

説明

シグニチャーによる関数、メソッド、またはストアード・プロシージャー routine-name への参照において、一致する関数、メソッド、またはストアード・プロシージャーが見つかりませんでした。

パラメーターを受け入れることができるデータ・タイプが使用されている場合、タイプ・パラメーターはオプションです。 例えば CHAR(12) の場合、CHAR(12) とパラメーターを指定でき、また CHAR() とパラメーターを省略することができます。 パラメーターを指定すると、DBMS は、データ・タイプとデータ・タイプ・パラメーターに完全に一致するものだけを受け入れます。 パラメーターを省略すると、DBMS データ・タイプのみに一致するものを受け入れます。 CHAR() 構文は、一致する関数が見つかったときにデータ・タイプ・パラメーターを無視するよう DBMS に指示する方法を提供します。

DROP FUNCTION/PROCEDURE、COMMENT ON FUNCTION/PROCEDURE、および TRANSFER OWNERSHIP FUNCTION/PROCEDURE/METHOD ステートメントでは、無修飾参照がステートメント許可 ID で修飾され、問題が見つかる可能性があるスキーマになることにも注意してください。 CREATE 関数の SOURCE 節では、修飾は現行パスから作成されます。 この場合、一致する関数はパス全体に存在しません。

関数は、COALESCE、DBPARTITIONNUM、GREATEST、 HASHEDVALUE、LEAST、MAX (scalar)、MIN (scalar)、NULLIF、NVL、RID、RAISE_ERROR、 TYPE_ID、TYPE_NAME、TYPE_SCHEMA、または VALUE 組み込み関数から入手することはできません。

ステートメントは処理できません。

ユーザーの処置

以下の対応を行ってください。

  • 正しいスキーマが備わるように、パスを変更します。
  • データ・タイプの指定からパラメーターを取り除きます。
  • SPECIFIC 名を使用して、シグニチャーの代わりに、関数あるいはプロシージャーを参照します。

sqlcode: -458

sqlstate: 42883

SQL0461N データ・タイプ source-data-type を持つ値を、タイプ target-data-type に CAST できません。

説明

ステートメントに、データ・タイプ target-data-type にキャストされるデータ・タイプ source-data-type を持つ最初のオペランドが指定された CAST が入っています。 このキャストはサポートされていません。

ユーザーの処置

キャストがサポートされるよう、ソースまたはターゲットのいずれかのデータ・タイプを変更してください。 事前定義されたデータ・タイプについては、SQL リファレンスを参照してください。 ユーザー定義特殊タイプの入ったキャストの場合、キャストは基本データ・タイプとユーザー定義の異なるタイプ間、または基本データ・タイプにプロモート可能なデータ・タイプから、ユーザー定義特殊タイプに対してのみ行われます。

sqlcode: -461

sqlstate: 42846

SQL0462W コマンドまたはルーチン command-or-routine-name (特定名 specific-name) が、診断テキスト text とともに警告 SQLSTATE を返しました。

説明

コマンドまたはルーチン command-or-routine-name (特定名 specific-name) が、メッセージ・テキスト text とともに形式 01Hxx の SQLSTATE を DB2 に返しました。 command-or-routine-name がコマンドである場合は、specific-name に値 ''*N'' が含まれます。

ユーザーの処置

警告の意味を理解する必要があります。 データベース管理者、またはルーチンの作成者に連絡してください。

sqlcode: +462

sqlstate: 有効な警告 SQLSTATE が、ユーザー定義関数、外部プロシージャー CALL、またはコマンド呼び出しによって返されました。

SQL0463N ルーチン routine-name (特定名 specific-name) が、診断テキスト text とともに無効な SQLSTATE state を返しました。

説明

ルーチンが返すことができる有効な SQLSTATE は 38xxx (エラー)、38502 (エラー)、および 01Hxx (警告) です。 このルーチン routine-name (特定名 specific-name) が、無効な SQLSTATE state をメッセージ・テキスト text とともに返しました。 ルーチンはエラー状態です。

ユーザーの処置

ルーチンを修正する必要があります。 データベース管理者、またはルーチンの作成者に連絡してください。 間違った SQLSTATE のアプリケーション重要度をルーチンの作成者から得ることもできます。

sqlcode: -463

sqlstate: 39001

SQL0464W プロシージャー procedure-namegenerated-nbr-results 照会結果セットを返しました。このプロシージャーは、定義された制限 max-nbr-results を超えています。

説明

procedure-name と名付けられたストアード・プロシージャーが正常に完了しました。 しかし、そのストアード・プロシージャーは、プロシージャーが返すことができる照会結果セットの数について定義された制限を超えていました。

generated-nbr-results
ストアード・プロシージャーによって返された照会結果セットの数を示します。
max-nbr-results
ストアード・プロシージャーの照会結果セット数について定義された制限を示します。

最初の max-nbr-results の照会結果セットのみが SQL CALL ステートメントを発行した SQL プログラムに返されます。

考えられる原因は、以下のとおりです。
  • クライアントによって課された DRDA 制限のため、ストアード・プロシージャーが generated-nbr-results 結果セットを返せない。 DRDA クライアントが、MAXRSLCNT DDM コード・ポイントによってこの制限を確立した。
  • プロシージャーが C アプリケーションから呼び出された。 C での結果セットの処理はサポートされないため、結果セットは C アプリケーションに戻される前にそのままクローズされます。

ユーザーの処置

SQL ステートメントが成功しました。 SQLWARN9 フィールドが 'Z' に設定されました。

sqlcode: +464

sqlstate: 0100E

SQL0465N fenced モード処理の開始、初期化、または通信を実行できません。 理由コード code

説明

fenced モード・ルーチン (ユーザー定義関数またはメソッド) の実行に関係する、システム関連問題があります。 問題の正確な特質は、code で示されています。 これは、ユーザーの問題ではありません。 可能性のある理由コードは、以下のとおりです。

ルーチン処理エラー
21:
内部データまたはアプリケーション・データの初期化が失敗しました。
22:
シグナル・ハンドラーの登録が失敗しました。
23:
エージェント処理に、REQUEST QUEUE のアクセス授与を付与することに失敗しました。
24:
ルーチン処理の共有メモリーへの接続が失敗しました。
25:
REPLY QUEUE のオープンが失敗しました。
26:
REPLY QUEUE への書き込みが失敗しました。
27:
REQUEST QUEUE の作成が失敗しました。
28:
REQUEST QUEUE からの読み取りが失敗しました。
29:
ルーチン処理が停止しました。
30:
ルーチン処理が USER INTERRUPT シグナルを受け取りました。
31:
ルーチン・モジュールをアンロードできませんでした。
32:
モジュールのロード/アンロードに使用される制御ブロックに対するストレージの割り振りが失敗しました。
33:
エージェント処理からルーチン処理に SIGINT の送信できませんでした。
34:
OLE ライブラリーの初期化に失敗しました。
35:
OLE DB 初期化サービス・コンポーネントの初期化に失敗しました。
40:
ルーチン処理で内部エラーが発生しました。
エージェント処理エラー
41:
ルーチン処理を spawn できませんでした。
42:
REPLY QUEUE の作成が失敗しました。
43:
REPLY QUEUE からの読み取りが失敗しました。
44:
REQUEST QUEUE のオープンが失敗しました。
45:
REQUEST QUEUE への書き込みが失敗しました。
47:
ルーチン処理に、UDFP 共有メモリー・セットに対するアクセス許可を付与できませんでした。
48:
ルーチン処理に REPLY QUEUE に対するアクセス許可を付与できませんでした。
49:
モジュールのロード/アンロードに使用される制御ブロックに対するストレージの割り振りが失敗しました。
50:
ルーチン・コードまたはエージェント・コードの実行中にエージェント処理が消滅しました。
51:
unfenced ルーチン・コードの実行中に、エージェント処理が USER INTERRUPT を受け取りました。
60:
ルーチン処理で内部エラーが発生しました。

ユーザーの処置

データベースまたはシステム管理者に連絡してください。

sqlcode: -465

sqlstate: 58032

SQL0466W プロシージャー procedure-name が、ストアード・プロシージャーから number-results の結果セットを返しました。

説明

このメッセージは、CALL SQL ステートメントの発行の結果として返されます。 これは、ストアード・プロシージャー procedure-name に、関連する number-results の結果セットがあることを示しています。

ステートメントは正常に完了しました。

ユーザーの処置

必要ありません。

sqlcode: +466

sqlstate: 0100C

SQL0467W プロシージャー procedure-name には、別の結果セットが含まれています。 合計 max-nbr-results の結果セットがあります。

説明

このメッセージはカーソルのクローズの結果として戻されます。 これは、ストアード・プロシージャー procedure-name に別の結果セットが存在し、次の結果セットでカーソルがオープンされたことを示しています。 ストアード・プロシージャーには、合計 max-nbr-results の結果セットがあります。

ステートメントは正常に完了しました。

ユーザーの処置

必要ありません。 フェッチは、次の結果セットで続行できます。

sqlcode: +467

sqlstate: 0100D

SQL0469N パラメーター・モード OUT または INOUT は、特定名 specific-nameroutine-name という名前のルーチンのパラメーター (パラメーター番号 number、名前 parameter-name) には無効です。

説明

SQL プロシージャーのパラメーターが OUT と宣言され、その対応する引数が有効な割り当てターゲットではありません。 パラメーターが OUT または INOUT として宣言され、その対応する引数が SQL 変数、グローバル変数、または SQL パラメーターでないのは、関数の場合のみです。

定数または式が OUT または INOUT パラメーターに対して無効な引数の一例です。

例えば、my_function という関数に OUT パラメーターが 1 つあるよう宣言された場合、OUT パラメーターに渡される引数には値を割り当てることができないため、以下の関数呼び出しは無効です。

SET my_variable = my_function( 1 + 2 );

ユーザーの処置

SQL プロシージャーを呼び出す場合、出力引数を有効な割り当てターゲットに変更してください。 関数を呼び出す場合、OUT または INOUT 引数を SQL 変数、グローバル変数、または SQL パラメーターに変更してください。

sqlcode: -469

sqlstate: 42886

SQL0470N ユーザー定義ルーチン routine-name (特定名 specific-name) には、パスされなかった引数 argument の NULL 値があります。

説明

ルーチンには NULL 標識を渡さないパラメーター・スタイルで定義された NULL 値のある入力引数が入っているか、あるいはこのパラメーターのデータ・タイプは NULL 値をサポートしません。

ユーザーの処置

ルーチンが NULL 値で呼び出される場合は、パラメーター・スタイルと入力タイプが NULL 値を受け入れ可能であることを確認してください。 関数の場合、"RETURNS NULL ON NULL INPUT" で関数を作成することができます。

sqlcode: -470

sqlstate: 39004

SQL0471N 理由 reason-code のためにルーチン name の呼び出しが失敗しました。

説明

ルーチン name の呼び出しが失敗しました。 理由コード reason-code を使用して、失敗の原因の詳細を調べてください。

ユーザーの処置

理由コードが "DSNX9" で始まっている場合は、以下のことが考えられます。
  • DB2 Universal Database for z/OS サーバーでルーチンが呼び出されました。 サーバーのシステム・コンソールにこのエラーを説明する DSNX9xx メッセージが表示される場合があります。 DB2 UDB for z/OS サーバーの資料を調べて、理由コードで説明されている条件を正してください。
それ以外の場合、表示された理由コードに対応するアクションは、以下のとおりです。
1
SQL ルーチンが前のリリースの製品で作成されていて、DBMS はそれを現行リリースにマイグレーションできなかったために、呼び出しが失敗しました。 ルーチンをドロップして、再び動作するように再作成する必要があります。

sqlcode: -471

sqlstate: 55023

SQL0472N 1 つ以上のカーソルが、関数またはメソッド routine-name (特定名 specific-name) によってオープンされたままでした。

説明

関数またはメソッド routine-name (特定名 specific-name) は、呼び出しているステートメントが完了する前にすべてのカーソルをクローズしませんでした。 呼び出しているステートメントが完了する前に、関数およびメソッドはすべてのカーソルをクローズする必要があります。

ユーザーの処置

関数またはメソッドの開発者に問い合わせてください。 呼び出しているステートメントが完了する前にすべてのカーソルがクローズされていることを確認するために、関数またはメソッドを作成しなおす必要があります。

sqlcode: -472

sqlstate: 24517

SQL0473N 新規データ・タイプ用に指定された名前が既存の組み込みデータ・タイプの名前と同じであるため、ユーザー定義のデータ・タイプを作成できませんでした。

説明

このメッセージは、組み込みデータ・タイプと同じ名前のユーザー定義のデータ・タイプを作成しようとしたり、そのような名前のユーザー定義のデータ・タイプを含むデータベースをアップグレードしようとした場合に返されます。

ユーザーの処置

新しいユーザー定義のデータ・タイプを作成するには、予約されていないデータ・タイプ名を使用してステートメントを再発行します。

新しい製品バージョンで組み込みデータ・タイプと同じ名前のユーザー定義のデータ・タイプが含まれているデータベースをアップグレードするには、以下のステップを実行します。

  1. 名前が競合しているユーザー定義のデータ・タイプをドロップし、このデータ・タイプを参照するデータ・オブジェクトをドロップします。
  2. 予約されていないデータ・タイプ名を使用して、データ・タイプを再作成してから、ドロップした他のオブジェクトを再作成します。
  3. データベースをアップグレードします。

sqlcode: -473

sqlstate: 42918

SQL0475N SOURCE 関数の結果タイプ (type-1) は、ユーザー定義関数 function-name の RETURNS タイプ (type-2) にはキャストできません。

説明

ソースであるユーザー定義関数 (UDF) の CREATE を有効にするには、ソース関数の結果タイプ (type-1) が作成される関数の RETURNS タイプ (type-2) にキャスト可能でなければなりません。 これらのデータ・タイプ間でサポートされるキャストはありません。 データ・タイプ間のキャストの詳細については、「SQL リファレンス」を参照してください。

ユーザーの処置

RETURNS データ・タイプまたは SOURCE 関数識別を変更して、SOURCE 関数の結果タイプが RETURNS データ・タイプにキャストできるようにしてください。

sqlcode: -475

sqlstate: 42866

SQL0476N ルーチン function-name への参照がシグニチャーなしで行われましたが、ルーチンはそのスキーマでユニークではありません。

説明

シグニチャーなしの関数あるいはストアード・プロシージャーの参照は許可されていますが、示された関数あるいはストアード・プロシージャー function-name がそのスキーマ内でユニークではありませんでした。 ルーチンがメソッドであれば、シグニチャーのない参照が許可されていますが、ここで示されているメソッドはデータ・タイプとしてユニークではありません。

DROP FUNCTION/PROCEDURE および COMMENT ON FUNCTION/PROCEDURE ステートメントでは、無修飾参照がステートメント許可 ID で修飾され、問題が見つかる可能性があるスキーマになることに注意してください。 CREATE 関数の SOURCE 節では、修飾は現行パスから作成されます。 この場合は、この名前を持つ関数の入ったパスの最初のスキーマが、同じ名前の別の関数を持っています。

フェデレーテッド・システム・ユーザーの場合: パススルー・セッションでは、ステートメントが CREATE FUNCTION MAPPING ステートメントの場合、このエラーは、関数のマッピングを 1 つのリモート関数から複数のローカル関数に作成しようとしたことを示します。

ユーザーの処置

以下のいずれかを行って、参照を訂正してください。
  • シグニチャーを完了する
  • 目的のルーチンの SPECIFIC 名を使用する
  • SQL パスを変更する

その後で再試行してください。

sqlcode: -476

sqlstate: 42725

SQL0478N ターゲット・オブジェクトに 1 つ以上の従属関係が存在するため、ステートメントが失敗しました。ターゲット・オブジェクト・タイプは object-type1 です。ターゲット・オブジェクトに従属しているオブジェクトの名前は object-name です。ターゲット・オブジェクトに従属しているオブジェクトのタイプは object-type2 です。

説明

オブジェクト B がオブジェクト A に従属している場合、オブジェクト A に対して実行するアクションはオブジェクト B にかなり大きな影響を与える可能性があります。例えば、ある表をドロップすると、その表に直接的または間接的に従属しているオブジェクトは削除されるか、操作不能になる可能性があります。従属オブジェクトにはこのような結果が生じる可能性があるため、ある種のアクションは、アクションのターゲットのオブジェクトに依存関係があると失敗します。

ターゲット・オブジェクトに他のオブジェクトが直接的または間接的に従属しているために、ターゲット・オブジェクトのドロップ、変更、所有権の転送、または特権の取り消しの試行が失敗するときに、このメッセージが返されます。

このメッセージが返されるシナリオの例を以下に示します。

  • object-type1 が ALIAS の場合、DROP の従属関係には、この別名を参照する行許可または列マスクが含まれている可能性があります。
  • object-type1 が SYNONYM の場合、DROP の従属関係には、このシノニムを参照する行許可または列マスクが含まれている可能性があります。
  • object-type1 が VIEW の場合、DROP の従属関係には、このビューを参照する行許可または列マスクが含まれている可能性があります。
  • object-type1 が TABLE である場合:
    • DROP の従属関係には、行権限や、この表を参照する列マスクが考えられます。
    • 対応する履歴表としてこの表を使用するシステム期間テンポラル表が存在することが考えられます。
    • object-type2 が INDEX の場合、表の列に従属する式ベースの索引があることが考えられます。
  • object-type1 が TABLESPACE の場合、対応する履歴表がこの表スペース内にあるシステム期間テンポラル表が存在することが考えられます。
  • DB2 for z/OS サーバーで、object-type1 が DATABASE の場合、対応する履歴表がこのデータベース内にあるシステム期間テンポラル表が存在する可能性があります。

ユーザーの処置

  1. 以下に示すいずれかまたは両方の方法を使用して、ターゲット・オブジェクトに直接的または間接的に従属しているオブジェクトを判別します。
    • システム・カタログを調べます。
    • GET_DEPENDENCY プロシージャーを使用します。
  2. ステートメントの実行を妨げた従属関係を削除します。
  3. ステートメントを再発行してください。

sqlcode: -478

sqlstate: 42893

SQL0480N プロシージャー procedure-name は呼び出されていません。

説明

ASSOCIATE LOCATORS ステートメントで識別されているプロシージャーがアプリケーション処理内で呼び出されていないか、またはプロシージャーは呼び出されていますが、ステートメントの前に暗黙的または明示的なコミットが行われました。

ユーザーの処置

CALL ステートメントにプロシージャー名を指定するための構文が、ASSOCIATE LOCATORS ステートメントの構文と同じになるよう、ステートメントを訂正してください。 修飾されていない名前がプロシージャーを呼び出すために使用されている場合、別のステートメントに 1 部構成の名前も指定しなければなりません。 ステートメントを発行し直してください。

sqlcode: -0480

sqlstate: 51030

SQL0481N GROUP BY 節に、element-2 内でネストされている element-1 が含まれています。

説明

次のネストのタイプは、GROUP BY 節内で許可されていません:
  • CUBE CUBE, ROLLUP, または GEL 内
  • ROLLUP CUBE, ROLLUP, または GEL 内
  • () CUBE, ROLLUP, または GEL 内
  • GROUPING SETS GROUPING SETS, CUBE, ROLLUP, または GEL 内
  • いずれかの関数、CASE 式、または CAST 指定内の CUBE、ROLLUP、()、GROUPING SETS。 GEL は GROUP BY 節の構文図でグループ化式リストとして表示されるエレメントを表しています。

GEL は GROUP BY 節の構文図でグループ化式リストとして表示されるエレメントを表しています。

いくつかのインスタンスでは、値“---”が element 2 について示されます。 この場合、“---”は CUBE、ROLLUP、GROUPING SETS、または GEL のいずれかを表しています。

ステートメントは処理できません。

ユーザーの処置

ネストを除去する GROUP BY 節を修正してください。

sqlcode: -481

sqlstate: 428B0

SQL0483N ユーザー定義関数 function-name の CREATE のパラメーターの数が、SOURCE 関数のパラメーターの数と一致しません。

説明

別の関数がソースであるユーザー定義関数 function-name の作成が試みられました。 以下のいずれかの状態になっています。
  • SOURCE 節が、関数名 (入力パラメーター・リスト) を使用してソース関数を識別しましたが、リスト内のタイプの数が、作成される関数のパラメーターの数と異なります。
  • SOURCE 節が、異なる構文を使用してソース関数を識別しましたが、その関数のタイプの数が、作成される関数のパラメーターの数と異なります。

ユーザーの処置

SOURCE 関数と作成される関数のパラメーターの数は、同じでなければなりません。 SOURCE 関数の識別を、以下のように変更する必要があります。
  • 入力パラメーター・リストを修正する。
  • 適切な関数を識別するように、関数名または関数特定名を修正する。

関数の正しい解決が行われるように、パスの修正が必要になる場合もあります。

sqlcode: -483

sqlstate: 42885

SQL0486N BINARY および VARBINARY データ・タイプは現在内部的にのみサポートされています。

説明

ステートメントの 1 つ以上のデータ・タイプが BINARY または VARBINARY です。 これは、DB2 の現行バージョンではサポートされていません。

ユーザーの処置

データ・タイプを変更して、ステートメントの再サブミットを行ってください。

sqlcode: -486

sqlstate: 42991

SQL0487N ルーチン routine-name (特定名 specific-name) が、SQL ステートメントを実行しようと試みました。

説明

ルーチンの本体を実行するためのプログラムは、SQL ステートメントの実行を許可されていません。 このルーチン routine-name (特定名 specific-name) には、SQL ステートメントが入っているか、あるいはこのルーチンは、SQL ステートメントを使用するプロシージャー (SYSPROC.ADMIN_CMD プロシージャーなど) を呼び出しています。

ユーザーの処置

SQL ステートメントを除去した後で、プログラムを再コンパイルしてください。 ルーチンを定義している ステートメントへの指定を許可されている SQL のレベルを調べてください。

sqlcode: -487

sqlstate: 38001

SQL0489N SELECT または VALUES リスト項目内の関数 function-name が、BOOLEAN 結果を作成しました。

説明

関数 function-name が、ブール結果を戻す述部としての使用を定義されています。 このような結果は、選択リストでは無効です。

ステートメントは処理できません。

ユーザーの処置

関数名を訂正するか、または関数の使用を除去してください。

sqlcode: -489

sqlstate: 42844

SQL0490N SQL ステートメントまたはコマンドに直接指定されている数値 number は、このコンテキストにおける許容値 (minval,maxval) の範囲外です。

説明

数値 (number) は、指定されたコンテキストで無効です。 このコンテキストでの最小の許容値は、minval です。 このコンテキストで許容される最大値は、maxval です。n は minvalmaxval で指定された範囲内でなければなりません (minval =< n => maxval)。

表スペースを作成または変更している場合、最小値および最大値は表スペースのページ・サイズによって異なる場合があります。 表スペースの限界について詳しくは、「SQL リファレンス」を参照してください。

ユーザーの処置

ステートメントまたはコマンドで、値 n を有効な値に変更してください。

sqlcode: -490

sqlstate: 428B7

SQL0491N routine-name の定義に使用される CREATE FUNCTION または ALTER MODULE ステートメントは、RETURNS 節、さらに EXTERNAL 節 (他の必須キーワードとともに)、SQL 関数本体、または SOURCE 節のいずれかが必要です。

説明

必要な節が、ルーチン routine-name の定義に見つかりません。 EXTERNAL が指定されている場合は、以下のいずれかの節も指定されている必要があります: LANGUAGE、PARAMETER STYLE。

SQL 関数を定義する場合は、ALTER MODULE の PUBLISH アクションを使用して SQL 関数プロトタイプを定義するのでない限り、SQL 関数本体を組み込まなければなりません。

ユーザーの処置

足りない節を追加した後で、もう一度やり直してください。

sqlcode: -491

sqlstate: 42601

SQL0492N ユーザー定義関数 function-name、パラメーター番号 number の CREATE に問題があります。 SOURCE 関数との不一致になる場合があります。

説明

関数 function-name の位置 number にあるパラメーターがエラーであるため、CREATE が実行できません。 ソース関数の位置 number にあるパラメーターが、作成中の関数の対応するパラメーターにキャストできません。

ユーザーの処置

以下の修正が考えられます。
  • 別のソース関数を識別します。
  • 作成中の関数のパラメーターのデータ・タイプを変更して、ソース関数のデータ・タイプがこのデータ・タイプにキャストできるようにします。

sqlcode: -492

sqlstate: 42879

SQL0493N ルーチン routine-name (特定名 specific-name) が、構文的または数値的に 無効な日付、時刻、またはタイム・スタンプ値を返しました。

説明

ユーザー定義関数 (UDF) またはメソッド routine-name (特定名 specific-name) の本体からが、無効な日付、時刻、またはタイム・スタンプ値が戻されました。

構文的に無効な日付の値の例は '1994-12*25' で、'*' を '-' にする必要があります。 数知的に無効な時刻の値の例は '11.71.22' で、時間には 71 分は存在しません。

ユーザーの処置

ルーチンを修正する必要があります。 データベース管理者、またはルーチンの作成者に連絡してください。

sqlcode: -493

sqlstate: 22007

SQL0494W 結果セットの数がロケーターの数よりも大きくなっています。

説明

ASSOCIATE LOCATORS ステートメントで指定された結果セット・ロケーターの数は、ストアード・プロシージャーによって戻された結果セットの数未満です。 最初の“n”個の結果セット・ロケーター値が戻されます。 “n”は SQL ステートメントで指定された結果セット・ロケーター変数の数値です。

SQL ステートメントが成功しました。 SQLWARN3 フィールドが 'Z' に設定されました。

ユーザーの処置

SQL ステートメントで指定された結果セット・ロケーター変数の数値を増やします。

sqlcode: +494

sqlstate: 01614

SQL0495N コスト・カテゴリー cost-category で、estimate-amount1 プロセッサー秒の 見積もられたプロセッサー・コスト (estimate-amount2 サービス単位) が、limit-amount サービス単位のリソース制限エラーしきい値を超えています。

説明

動的 INSERT、UPDATE、DELETE、または SELECT SQL ステートメントの準備の結果、リソース限定表 (RLST) で指定されたエラーしきい値を超えたコスト見積もりになりました。

DB2 のコスト・カテゴリー値が "B" になった場合もこのエラーが発行され、RLST の RLF_CATEGORY_B 列で指定されたデフォルトのアクションがエラーを発行します。
estimate_amount1
準備された INSERT、UPDATE、DELETE または SELECT ステートメントが実行される場合のコストの見積もり (プロセッサー秒)。
estimate_amount2
準備された INSERT、UPDATE、DELETE または SELECT ステートメントが実行される場合のコストの見積もり (サービス単位)。
cost-category
この SQL ステートメントについての DB2 のコスト・カテゴリー。 可能な値は A または B です。
limit-amount
RLST の RLFASUERR 列で指定されたエラーしきい値 (サービス単位)。

動的 INSERT、UPDATE、DELETE、または SELECT ステートメントの準備に失敗しました。

ユーザーの処置

コスト・カテゴリー値が "B" であるためにこの SQLCODE が返された場合は、ステートメントがパラメーター・マーカーを使用しているか、または参照される表と列について使用できない統計が存在する可能性があります。 管理者が、参照された表でユーティリティー RUNSTATS を実行したことを確認してください。 また、ステートメントが実行されるときに UDF が呼び出されるか、または INSERT、UPDATE、または DELETE ステートメントについては、変更された表にトリガーが定義されている可能性もあります。 このステートメントについて DSN_STATEMNT_TABLE または IFCID 22 レコードをチェックして、この SQL ステートメントがコスト・カテゴリー "B" になった理由を判別してください。 プログラムを変えられない場合、または統計を入手できない場合は、管理者に問い合わせて RLST の RLF_CATEGORY_B 列の値をステートメントを 実行できるようにする "Y" に変更するか、またはエラーではなく警告を返す "W" に変更してください。

SQL ステートメントがプロセッサー・リソースを多く使用しすぎていることが警告の原因である場合は、ステートメントが効率良く実行されるために書き直してみてください。 あるいは、管理者に RLST のエラーしきい値を増やすように依頼してください。

sqlcode: -495

sqlstate: 57051

SQL0499N カーソル cursor-name は、プロシージャー procedure-name から、この結果セットまたは別の結果セットに対して、すでに割り当てられています。

説明

結果セットにカーソルを割り当てようとしましたが、複数のカーソルがすでにプロシージャー procedure-name に割り振られています。

ユーザーの処置

ターゲットの結果セットが以前にカーソルに割り当てられているか、判別してください。 複数のカーソルがプロシージャー procedure-name に割り振られている場合、1 つのカーソルだけが、ストアード・プロシージャーの結果セットを処理するために使用されるようにしてください。

sqlcode: -499

sqlstate: 24516