将数据插入SQL Server会返回错误代码00q

时间:2013-04-15 18:10:15

标签: sql-server cobol sql-insert

首先:我的代码中最重要的部分是几个星期前工作的。与此同时,我们已经从MySQL服务器换成了SQL服务器,我们稍微改变了架构设计。

我使用Percobol,据我所知,它使用OpenCobol编译器。

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
.

这些表的数据库设计如下所示:

Schema design

当我在INSERT中的2010语句之前显示值时,所有内容都会正确显示。当我尝试在INSERT之后显示它们时,它们不会显示。

抛出的错误(在我的记录器中被捕获)告诉我错误代码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字符串或输入文件字符串时,我的记录器会收到有关连接错误的通知。因此,我假设连接和数据读取都按预期工作。

1 个答案:

答案 0 :(得分:2)

好的,既然这是你所做的,根据另一个问题,这里是从评论到回答: - )

定义PIC - (4)9字段。将您的sql错误代码移动到那个,然后打印/显示它。我想你会发现q是一个负数,你可以在sql文档中跟踪它。