• ベストアンサー

DB2でselectは出来るが、updateなどが出来ない

ご覧頂き、有難うございます。 strutsを使って、Webアプリを作成しています。 DBはDB2を使ってまして、タイトルの通り 画面を使って、検索は出来るのですが 更新系(update,delete,insert)が出来なくなってしまいました。 エラーは SQL1822N 予期しないエラー・コード "-290" をデータ・ソース "LINK_CRP_JDE" から受け取りました。 関連したテキストとトークンは "func="SQLExecute" msg=" SQL0290N 表スペース・" です。SQLSTATE=560BD と出ています。 何かご存知ある方、回答御願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ishi00
  • ベストアンサー率83% (10/12)
回答No.2

こんにちは。 ある表スペースに対してselectはできるが、updateは出来ないとのことですので、表スペースに対してSHAREモードでQUIESCEが実行されたのではないかと思います。 次のコマンドで解除できませんか? db2 quiesce tablespaces for table テーブル名 reset

参考URL:
http://www.db2.jp/db2manual/ja_JP/index.htm?openup=core/r0002003.htm
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

こんにちは。 エラーメッセージから読み取れるのは、 1.表スペースへのアクセスの失敗(SQL1822N) 2.表スペースが静止状態である(SQL0290N) ぐらいです・・・。 (なんと言う不親切なメッセージ!!) 1.に関しては他の原因も考えられますが、SELECT文ではないので捨てました・・・。 後は見てみないとわかりません。 (^^ゞ

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • db2 create functionでエラー

    aix version5 + db2 version9.5.5 の環境でUDFを作成しようとDDLを実行したところ、 以下のエラーがでて作成できませんでした。 db2 9.7 では同じDDLで作成できました。 どうやらcursorの定義に問題がありそうなのですが、 9.5では以下のcursor定義はできないものなのでしょうか? よろしくお願いします。 --エラー内容-------------------------- DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、 SQL ステートメントとして処理されました。 SQL 処理中に、そのコマンドが返されました。 SQL0104N "GentaniMeisai CURSOR" に続いて予期しないトークン "FOR" が見つかりました。予期されたトークンに "<SQL_variable_condition_declaration>" が含まれている可能性があります。 LINE NUMBER=15. SQLSTATE=42601 --DDLの中身(一部)------------- DECLARE curGentaniMeisai CURSOR FOR SELECT aaa FROM bbb WHERE ccc = [変数] ;

  • DELETE文のWHERE条件にSUBSTRを使いたい <DB2+Java1.4>

    DB2+eclipse2.1で開発しています。 テーブルのデータ削除に条件を付け加えたいのですが、 strSql = "DELETE FROM スキーマ名.テーブル名 WHERE substr(ABC,1,6) < " + "200404"; というように、SQL文を書くと、 ------------------------------------ [IBM][CLI Driver][DB2/NT] SQL0440N 互換引き数を持つタイプ "FUNCTION" の名前 "SUBSTR" の許可ルーチンが見つかりませんでした。 SQLSTATE=42884 ------------------------------------ 上記エラーが出ます。 DB2でSUBSTRって使えると思うのですが。 ご存知の方いましたら、教えてください。 よろしくお願いします。

  • DB2のクライアントを7.1から8.1に変更した時に出るエラーについて

    初歩的な質問なのかもしれませんが DB2を扱うのが初めてなのでお願いします。 私なりに調べて見ましたが原因がわからず困っています VB6.0で開発してあるプログラムで7.1では正常に動作していましたが8.1にバージョンアップさせたところ 「 SQL0100W FETCH、UPDATE または DELETE の対象となる行がないか、または照会の結果が空の表です。 SQLSTATE=02000 」 というエラーメッセージが出てしまいます。 7.1ではこのエラーはOnErrorGoToに飛ばないみたいなのですが8.1で飛んでしまいます。 これはどのように対処すればよろしいのでしょう?

  • PEAR DBのupdateについて

    PEAR DBにて複数のデータを一度にUPDATEにて更新しようと思っているのですが、うまくいきません。 foreach($data as $value){   $SQL = "update `table_name` set `id` = '" .addslashes($value). "';"; } $res = $this->db->query($SQL); まず、update分をデータ分foreachにて溜め込み、一気にクエリを投げております。insert文の場合はうまく処理してくれるのですが、updateの場合はエラーが返ってきてしまい、処理してくれません。updateの場合、PEAR DBでは不可能なのでしょうか? お分かりになる方、ご教授ください。よろしくお願いいたします。

    • 締切済み
    • PHP
  • DB2で SQL1032N start database managerエラー

    はじめまして。初めて書き込みさせていただきます。 WebSphereでDB2をデータベースとして行っているのですけど、今日起動してDB2にconnectしようと思ったら COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1032N start database manager コマンドが発行されていません。 SQLSTATE=57019 というエラーメッセージが出てきてconnectできなくなってしまいました。どなたか改善方法知っている方いらっしゃいましたら教えてください。よろしくお願いします。

  • db2のデータベース作成エラーについて

    はじめまして。 以前、以下のような質問がされていると思います。 「WebSphereでDB2をデータベースとして行っているのですけど、今日起動してDB2にconnectしようと思ったら COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1032N start database manager コマンドが発行されていません。 SQLSTATE=57019 というエラーメッセージが出てきてconnectできなくなってしまいました。どなたか改善方法知っている方いらっしゃいましたら教えてください。よろしくお願いします。」 その原因が「原因はユーザーのpassを変更した際、DB2のユーザーを変えなかったのが原因でした。」ということなのですが、現在同じエラーが出て困っています。どのような対処をすればよいか教えていただけないでしょうか。よろしくお願いいます。

  • DB2のSQL

    select * from xTABLE where EMP_ID = "P001" というSQLを実行すると SQL0206N "P001" is not valid in the context where it is used. SQLSTATE=42703 のエラーが出ます。 SQLSTATEで調べても「"P001"の列がテーブルにない」ということみたいですが 列名で捉えている時点でおかしい気がします select * from xTABLE where EMP_ID = null のSQLは正常にテーブルのSELECT結果が返ってきます。 どうすればよいでしょうか?

  • SQL Server上のDBにWin7でアクセス

    SQL Server上のDBに、Win7のクライアントPCからSELECTのみ実行できるツールを探しています。(INSERT、DELETE、UPDATEは実行できないものがいいです。また、DBを直接編集もできては困ります) フリーソフトがベストです。どなたか、ご教授頂けますでしょうか。

  • SQLServerでREPLACE/SELECTができるか?

    My-SQLでは以下のSQLにより test01というDBからtest02というDBへ データをinsertすることができると思います。 また「insert」ではなく「replace」にすることで 同一キーの場合エラーにならず置き換えで データを登録してくれます。 ======================================= insert into [test01].dbo.test_table select * from [test02].dbo.test_table ======================================= そこで上記の「replace」を同じように SQLServerでできないか知っている方が おられたら是非ご教授いただきたく。 よろしくお願いいたします。

  • DB2のテーブルサイズについて

    DB2で新規にテーブルを作成しようとしています。 サイズが4Kのテーブルスペースに、サイズ4000バイトのテーブルを作成したいのですが、 以下のようなエラーになってしまいます。 SQL0670N The row length of the table exceeded a limit of "4005" bytes. (Table space "USERTBS2".) SQLSTATE=54010 サイズを小さくして試してみたら、3976バイトのテーブルであれば作成できるようです。 どうして3976バイトまでして受け付けられないのでしょうか。 理由が知りたいです。 よろしくお願いいたします。

このQ&Aのポイント
  • PDアダプターで充電ができなくなりました。別の場所で充電した後に元の場所で充電しようとしたが充電できない状態です。通電ランプもついておらず、時間が経っても充電できません。
  • PDアダプターの充電ができなくなって困っています。別の場所で充電した後に元の場所で充電しようとしたが、充電できない状態になっています。通電ランプもついておらず、時間が経っても治りません。
  • PDアダプターの充電ができなくなってしまいました。別の場所で充電した後に元の場所で充電しようとしたが、充電できない状況です。通電ランプもついておらず、時間が経っても充電されません。
回答を見る