まず第一に、私のコードの大部分は数週間前に機能していました。その間、MySQL サーバーから SQL サーバーに切り替え、スキーマの設計を少し変更しました。
私が読んだ限りでは、OpenCobol コンパイラを利用する Percobol を使用しています。
PERFORM 2010-GEBRUIKER-INSERT
PERFORM 2020-GEBRUIKER-JOINTABLE
2010-GEBRUIKER-INSERT.
MOVE "GEBRUIKER" TO GEBR_TYPE
EXEC SQL INSERT INTO Gebruikers
VALUES ( TRIM( :LOGIN ), TRIM( :ACHTERNAAM ),
TRIM( :EMAIL ), TRIM( :PROJECTCODE ),
TRIM( :GEBR_TYPE ), TRIM( :VOORNAAM ),
SHA1( TRIM( :WACHTWOORD ) ) )
END-EXEC
.
2020-GEBRUIKER-JOINTABLE.
EXEC SQL INSERT INTO LeertrajectenGebruikersJoin
VALUES (TRIM( :PROJECTCODE ), TRIM( :LOGIN))
END-EXEC
.
これらのテーブルのデータベース設計は次のようになります。
INSERT
のステートメントの前に値を表示すると2010
、すべてが正しく表示されます。の後に表示しようとすると、表示されINSERT
ません。
スローされたエラー(ロガーでキャッチされている)は、 errorcode を教えてくれます00q
。いろいろ調べてみたのですが、意味がわかりません。さらに、で始まるコードを見た限りで00
は、すべてが正常であることを示しているはずです。
使用されるフィールドは次のように宣言され、CSV ファイルから入力されます。
01 WS-INPUT.
05 ACHTERNAAM PIC X(25) VALUE SPACES.
05 VOORNAAM PIC X(15) VALUE SPACES.
05 EMAIL PIC X(50) VALUE SPACES.
05 LOGIN PIC X(15) VALUE SPACES.
05 WACHTWOORD PIC X(11) VALUE SPACES.
05 GEBR_TYPE PIC X(20) VALUE SPACES.
05 PROJECTCODE PIC X(10) VALUE SPACES.
このエラーを返す可能性のあるものを見落としていませんか? また重要: JDBC 文字列または入力ファイル文字列を変更すると、ロガーから接続障害について通知されます。したがって、接続とデータの読み取りの両方が意図したとおりに機能していると想定しています。