DB2 IBM i(SQL)のエラーについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
DB2 IBM i(SQL)のエラーについて
msg# 1
TKitabayashi
投稿数: 90
あるテーブルに1レコードずつINSERTするプログラムを作成しました。
INSERTは登録リンクで行っています。
このテーブルへのアクセスはDB2 IBM i(SQL)ゲートウェイを使っています。
何回かこのプログラムをコールすると、データを登録できない現象が発生します。
登録できなかったデータを再度プログラムをコールして登録しようとすると、今度は登録できます。
ゲートウェイのログをアクティビティモニタで見ると、
イベント処理中 [ エラー: 任意のエラー \\DB エラーコード -180 ]
レコードを作成できません.データソース: (テーブル名)
が出力されます。
エラーコード = -180は、どのようなエラーコードでしょうか。
INSERTは登録リンクで行っています。
このテーブルへのアクセスはDB2 IBM i(SQL)ゲートウェイを使っています。
何回かこのプログラムをコールすると、データを登録できない現象が発生します。
登録できなかったデータを再度プログラムをコールして登録しようとすると、今度は登録できます。
ゲートウェイのログをアクティビティモニタで見ると、
イベント処理中 [ エラー: 任意のエラー \\DB エラーコード -180 ]
レコードを作成できません.データソース: (テーブル名)
が出力されます。
エラーコード = -180は、どのようなエラーコードでしょうか。
投票数:0
平均点:0.00
Re: DB2 IBM i(SQL)のエラーについて
msg# 1.1
ISHIJIMA
居住地: 静岡県
投稿数: 1827
IBMに確認するかMSJのサポートに確認した方がはやいと思います。
違うかもしれませんが検索すると・・
https://www.ibm.com/support/knowledgecenter/ja/SSEPEK_11.0.0/codes/src/tpc/db2z_n.html
違うかもしれませんが検索すると・・
https://www.ibm.com/support/knowledgecenter/ja/SSEPEK_11.0.0/codes/src/tpc/db2z_n.html
投票数:0
平均点:0.00
Re: DB2 IBM i(SQL)のエラーについて
msg# 1.1.1
TKitabayashi
投稿数: 90
提示していただいたページを見ると、
-180
THE DATE, TIME, OR TIMESTAMP VALUE value IS INVALID
とありました。
テーブルには、Magic上では文字の26桁になっている「処理日時」という列がありました。
この列にセットする値が日時を表す形式ではないため、エラーとなっていたようです。
「YYYY-MM-DD-HH.MM.SS.mmmmmm」の形式で保存する必要があるようで、ミリ秒をmTime()−Time()*1000で求めて、文字型にしていました。
文字型にするときに、Str関数で書式を'3'にしていたため、ミリ秒が3桁にならない場合、「2018-04-29-23.52.39. 1000」のようにスペースが入ってしまい、IBM i側でエラーになりました。
Str関数の書式を'3P0'にすることで解決できました。
ありがとうございました。
-180
THE DATE, TIME, OR TIMESTAMP VALUE value IS INVALID
とありました。
テーブルには、Magic上では文字の26桁になっている「処理日時」という列がありました。
この列にセットする値が日時を表す形式ではないため、エラーとなっていたようです。
「YYYY-MM-DD-HH.MM.SS.mmmmmm」の形式で保存する必要があるようで、ミリ秒をmTime()−Time()*1000で求めて、文字型にしていました。
文字型にするときに、Str関数で書式を'3'にしていたため、ミリ秒が3桁にならない場合、「2018-04-29-23.52.39. 1000」のようにスペースが入ってしまい、IBM i側でエラーになりました。
Str関数の書式を'3P0'にすることで解決できました。
ありがとうございました。
投票数:2
平均点:5.00