3

DB2で実行されているMoodle2インストールでは、ユーザーの削除は失敗し、データベースからの読み取りエラーを返します。

デバッグ情報:[IBM] [CLI Driver] [DB2 / LINUXX8664] SQL0206N "USERIDFROM"は、使用されているコンテキストでは無効です。SQLSTATE = 42703 SQLCODE = -206 SELECT * FROM mdl_message WHERE useridfrom =?ORDER BY timecreated
[array(0 => '28521'、)]

SQL0206Nのエラーの説明は明らかですuseridfromが、次の列ですmdl_message

$ db2 describe table mdl_message

                          Data type                     Column
Column name               schema    Data type name      Length     Scale Nulls
------------------------- --------- ------------------- ---------- ----- ------
 ID                       SYSIBM    BIGINT                       8     0 No    
 USERIDFROM               SYSIBM    BIGINT                       8     0 No    
 USERIDTO                 SYSIBM    BIGINT                       8     0 No    
 SUBJECT                  SYSIBM    VARCHAR                    200     0 Yes   
 FULLMESSAGE              SYSIBM    VARCHAR                    200     0 Yes   
 FULLMESSAGEFORMAT        SYSIBM    SMALLINT                     2     0 Yes   
 FULLMESSAGEHTML          SYSIBM    VARCHAR                    100     0 Yes   
 SMALLMESSAGE             SYSIBM    VARCHAR                    200     0 Yes   
 NOTIFICATION             SYSIBM    SMALLINT                     2     0 Yes   
 CONTEXTURL               SYSIBM    VARCHAR                    200     0 Yes   
 CONTEXTURLNAME           SYSIBM    VARCHAR                    200     0 Yes   
 TIMECREATED              SYSIBM    BIGINT                       8     0 No    

  12 record(s) selected.

他に何がこのエラーを引き起こす可能性がありますか?

4

2 に答える 2

6

列名にスペースが含まれている可能性があります。このクエリを使用して、末尾に空白があるかどうかを確認できます。

db2 "select '<' || name || '>' from sysibm.syscolumns where tbname = 'MDL_MESSAGE'"
于 2012-06-19T17:29:03.013 に答える
0

コマンドラインと CLI から同じユーザーとして接続していますか? 同じテーブルが別のスキーマに存在し、別のテーブルの説明が表示されているにもかかわらず、別のテーブルにアクセスしている場合があります。

于 2012-06-19T18:15:42.830 に答える