ODBC-2244E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP2244. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(9) COMP-5. 000012 01 VAR-IND2 PIC S9(4) COMP-3. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL 000016 CALL SPROCEDRE.SELECT1(:PRDCTNUM:VAR-IND1) 000017 END-EXEC 000018 EXEC SQL 000019 CALL SPROCEDRE.SELECT2(:PRDCTNAM:VAR-IND2) 000020 END-EXEC 000021 .
SP2244.cob (16) : JMN2633I-S The SQL statement is invalid. ODBC-2244E Invalid data type of indicator variable.
SP2244.cob (19) : JMN2633I-S The SQL statement is invalid. ODBC-2244E Invalid data type of indicator variable.
Explanation
Define the indicator variable using 4 digit signed binary integer data items.
ODBC-7600E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP7600. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 CREATE TABLE STOCK (PRDCT-NO INTEGER, PRDCT-NM CHAR(20)) 000016 END-EXEC 000017 EXEC SQL 000018 ALLOCATE DESCRIPTOR SQLDA1 WITH MAX 25 000019 END-EXEC 000020 .
SP7600.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-7600E Not executable SQL statement.
SP7600.cob (18) : JMN2633I-S The SQL statement is invalid. ODBC-7600E Not executable SQL statement.
Explanation
A SQL statement was encountered that cannot be executed by this compiler.
ODBC-8004E
Parameter Explanation
@1@: stored procedure name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8004. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 CALL SPROCEDRE.SELECT1( 000016 END-EXEC 000017 EXEC SQL 000018 CALL SPROCEDRE.SELECT2(:PRDCTNUM:VAR-IND1 000019 END-EXEC 000020 .
SP8004.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8004E Right parenthesis corresponding to left parenthesis is missing near "SPROCEDRE.SELECT1".
SP8004.cob (18) : JMN2633I-S The SQL statement is invalid. ODBC-8004E Right parenthesis corresponding to left parenthesis is missing near "SPROCEDRE.SELECT2".
Explanation
The right parentheses are missing from the CALL statements. Verify that each left parenthesis has a corresponding right parenthesis.
ODBC-8005E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8005. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 SELECT PRDCT-NO FROM STOCK WHERE PRDCT-NM = N'ABC' 000016 END-EXEC 000017 .
SP8005.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8005E Format of national character literal is invalid.
Explanation
There is an error in the description of the national character string literal. Refer to "National Character String Literal" in Chapter 8 of the "NetCOBOL Language Reference".
ODBC-8008E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8008. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 SELECT PRDCT-NO FROM STOCK WHERE :PRDCTNAM(1:4) = 'TIRE ' 000016 END-EXEC 000017 .
SP8008.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8008E Format of embedded variables name is invalid.
Explanation
A host variable cannot be reference modified or subscripted in a SQL statement.
ODBC-8009E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8009. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 SELECT PRDCT-NO FROM STOCK WHERE :PRDCTNAM = '' 000016 END-EXEC 000017 .
SP8009.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8009E Format of nonnumeric literal is invalid.
Explanation
The character string literal must contain a character string.
ODBC-8016E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8016. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 /* COMMENT */ 000016 CALL SPROCEDRE.SELECT1(:PRDCTNUM:VAR-IND) 000017 END-EXEC 000018 .
SP8016.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8016E C language comment cannot be specified.
Explanation
C language comment indicators "/*"and "*/" cannot be used in SQL statements. Use "*" or (--) to indicate comments in SQL statements. Refer to "Token" in Chapter 8 of the "NetCOBOL Language Reference".
ODBC-8052E
Parameter Explanation
@1@: delimiting identifier
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8052. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 SELECT "" FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000016 END-EXEC 000017 .
SP8052.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8052E Format of delimited identifier "" is invalid.
Explanation
The delimiting identifier must contain a character string.
ODBC-8100E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8100. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000017 END-EXEC 000018 EXEC SQL OPEN C1 END-EXEC. 000019 EXEC SQL FETCH C1 :PRDCTNUM END-EXEC. 000020 DISPLAY "Product NO." PRDCTNUM 000021 EXEC SQL CLOSE C1 END-EXEC. 000022 .
SP8100.cob (19) : JMN2633I-S The SQL statement is invalid. ODBC-8100E SQL statement is invalid.
Explanation
Errors that can cause this message to be output include:
An INTO clause is not specified for the FETCH statement (as shown in the example above).
A FROM clause is not specified for the PREPARE statement.
ODBC-8112E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8112. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT END-EXEC 000017 EXEC SQL EXECUTE STM1 USING 'TIRE' END-EXEC 000018 .
SP8112.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8112E Format of host variable specification is invalid.
Explanation
Host variables must be specified for the USING clause.
ODBC-8116E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8116. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 CALL SPROCEDRE.SELECT1(PRDCTNUM) 000016 END-EXEC 000017 EXEC SQL 000018 CALL SPROCEDRE.SELECT2(:PRDCTNUM,) 000019 END-EXEC 000020 .
SP8116.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8116E Format of argument list is invalid.
SP8116.cob (18) : JMN2633I-S The SQL statement is invalid. ODBC-8116E Format of argument list is invalid.
Explanation
Errors that can cause this message to be output include:
The arguments of the CALL statement are not host variables or literals (as shown in the example above).
The argument list of the CALL statement ends with a separator.
ODBC-8308E
Parameter Explanation
@1@: DECLARE
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8308. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE CURSOR C1 FOR 000016 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000017 END-EXEC 000018 .
SP8308.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8308E Cursor name is missing near "DECLARE".
Explanation
Errors that can cause this message to be output include:
The cursor name is not specified immediately following DECLARE in DECLARE CURSOR (as shown in the example above).
The cursor name is not specified for CURRENT OF.
ODBC-8309E
Parameter Explanation
@1@: EXECUTE
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8309. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT END-EXEC 000017 EXEC SQL EXECUTE USING :PRDCTNAM END-EXEC 000018 .
SP8309.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8309E SQL statement identifier name is missing near "EXECUTE".
Explanation
A SQL statement identifier must be specified immediately following the EXECUTE.
ODBC-8310E
Parameter Explanation
@1@: CALL
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8310. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 CALL (:PRDCTNUM:VAR-IND) 000016 END-EXEC 000017 .
SP8310.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8310E Stored procedure name is missing near "CALL".
Explanation
The stored procedure name must be specified immediately following the CALL.
ODBC-8323E
Parameter Explanation
@1@: stored procedure name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8323. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 CALL SELECT1 :PRDCTNUM:VAR-IND) 000016 END-EXEC 000017 .
SP8323.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8323E Left parenthesis is missing near "SELECT1".
Explanation
In the example above, the left parenthesis is missing from the CALL SELECT1 argument. Verify that each right parenthesis has a corresponding left parenthesis.
ODBC-8325E
Parameter Explanation
@1@: CONNECT, TO
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8325. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL CONNECT DEFAULT END-EXEC 000015 EXEC SQL CONNECT TO END-EXEC 000016 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000017 .
SP8325.cob (14) : JMN2633I-S The SQL statement is invalid. ODBC-8325E Connect target is missing near "CONNECT".
SP8325.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8325E Connect target is missing near "TO".
Explanation
Errors that can cause this message to be output include:
The CONNECT statement does not have a TO specification (as shown in the example above).
A connection target is not specified for TO.
ODBC-8326E
Parameter Explanation
@1@: SET CONNECTION
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8326. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 SQLCON PIC X(30). 000012 01 VAR-IND PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL SET CONNECTION END-EXEC 000016 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000017 .
SP8326.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8326E Connect object is missing near "SET CONNECTION".
Explanation
A connection object must be specified for the SET CONNECTION statement.
ODBC-8327E
Parameter Explanation
@1@: DISCONNECT
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8327. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL CONNECT TO DEFAULT END-EXEC 000015 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000016 EXEC SQL DISCONNECT END-EXEC 000017 .
SP8327.cob (16) : JMN2633I-S The SQL statement is invalid. ODBC-8327E Disconnect object is missing near "DISCONNECT".
Explanation
A disconnection object must be specified for the DISCONNECT statement.
ODBC-8328E
Parameter Explanation
@1@: AS
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8328. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 SQLCON PIC X(30). 000012 01 VAR-IND PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL CONNECT TO :SQLCON AS END-EXEC 000016 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000017 .
SP8328.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8328E Connection name is missing near "AS".
Explanation
The connection name must be specified for AS of the CONNECT statement.
ODBC-8329E
Parameter Explanation
@1@: USER
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8329. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 SQLCON PIC X(30). 000012 01 VAR-IND PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL CONNECT TO :SQLCON USER END-EXEC 000016 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000017 .
SP8329.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8329E Username is missing near "USER".
Explanation
A username must be specified for USER of the CONNECT statement.
ODBC-8340E
Parameter Explanation
@1@: clause
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8340. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000017 END-EXEC 000018 EXEC SQL OPEN C1 END-EXEC. 000019 EXEC SQL FETCH C1 INTO END-EXEC. 000020 DISPLAY "Product NO." PRDCTNUM 000021 EXEC SQL CLOSE C1 END-EXEC. 000022 .
SP8340.cob (19) : JMN2633I-S The SQL statement is invalid. ODBC-8340E Target specification is missing near "INTO".
Explanation
The target specification must be specified for the clause output to the message.
ODBC-8356E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8356. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 END-EXEC 000017 .
SP8356.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8356E Query expression or SQL statement identifier is missing.
Explanation
Errors that can cause this message to be output include:
A query expression is not specified for the cursor of the Declare Cursor (as shown in the example above).
A SQL statement identifier is not specified for the Dynamic Declare Cursor.
ODBC-8386E
Parameter Explanation
@1@: FROM, IMMEDIATE
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8386. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM SQLSTMT END-EXEC 000017 EXEC SQL EXECUTE IMMEDIATE STM1 USING :PRDCTNAM END-EXEC 000018 .
SP8386.cob (16) : JMN2633I-S The SQL statement is invalid. ODBC-8386E SQL statement variable is missing near "FROM".
SP8386.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8386E SQL statement variable is missing near "IMMEDIATE".
Explanation
Errors that can cause this message to be output include:
The SQL statement variables specified for FROM of the PREPARE statement are not Host variables.
The SQL statement variables specified for the EXECUTE IMMEDIATE statement are not Host variables.
ODBC-8408E
Parameter Explanation
@1@: cursor name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8408. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000017 END-EXEC 000018 EXEC SQL OPEN C1 END-EXEC. 000019 EXEC SQL FETCH C1 INTO :PRDCTNUM END-EXEC. 000020 DISPLAY "Product NO." PRDCTNUM 000021 EXEC SQL CLOSE C1 RELEASE END-EXEC. 000022 .
SP8408.cob (21) : JMN2633I-S The SQL statement is invalid. ODBC-8408E Invalid specification after cursor name "C1".
Explanation
There is an invalid word following the cursor name of the CLOSE statement.
ODBC-8409E
Parameter Explanation
@1@: SQL statement identifier
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8409. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 SQLSTMT PIC X(128). 000012 01 VAR-IND1 PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT END-EXEC 000017 EXEC SQL DECLARE C1 CURSOR FOR STM1 FROM END-EXEC 000018 .
SP8409.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8409E Invalid specification after SQL statement identifier "STM1".
Explanation
Errors that can cause this message to be output include:
There is an invalid word immediately following the SQL statement identifier of the Dynamic Declare Cursor.
There is an invalid word immediately following the SQL statement identifier of the EXECUTE statement.
ODBC-8410E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8410. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 01 RTCD PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL 000016 CALL SELECT1(:PRDCTNUM:VAR-IND) RETURNING RTCD 000017 END-EXEC 000018 .
SP8410.cob (16) : JMN2633I-S The SQL statement is invalid. ODBC-8410E Invalid specification after argument list.
Explanation
There is an invalid word immediately following the right parenthesis of the argument list of the CALL statement.
ODBC-8430E
Parameter Explanation
@1@: SQL statement
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8430. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5 OCCURS 3. 000008 02 PRDCTNAM PIC N(10) OCCURS 3. 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 01 CNT PIC S9(4) COMP-5. 000014 PROCEDURE DIVISION. 000015 EXEC SQL 000016 DECLARE C1 CURSOR FOR 000017 SELECT PNO FROM STOCK WHERE PRDCTNAM = 'TIRE' 000018 END-EXEC 000019 EXEC SQL OPEN C1 END-EXEC 000020 EXEC SQL FOR 3 CALL PROC.FETCH1 END-EXEC 000021 EXEC SQL CLOSE C1 END-EXEC 000022 .
SP8430.cob (20) : JMN2633I-S The SQL statement is invalid. ODBC-8430E FOR phrase can not specify in "CALL" statement.
Explanation
The FOR clause can be used only in conjunction with the following SQL statements that specify the host variable with multiple rows specified or the host variable with a table specified:
SELECT
INSERT
FETCH (searched)
UPDATE (searched)
DELETE
EXECUTE
ODBC-8431E
Parameter Explanation
@1@: SQL statement
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8431. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL CONNECT TO DEFAULT END-EXEC 000015 EXEC SQL CALL SELECT1(:STOCK-TABLE) END-EXEC 000016 .
SP8431.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8431E Invalid specification of SQL statement variable in "CALL" statement.
Explanation
Host variables other than the Host variables of a single column specified are specified to the places where only the ones of a single column specified are allowed for the Host variable specification.
ODBC-8432E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8432. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 SELECT PNO FROM STOCK WHERE :PRDCTNUM = 1 000017 END-EXEC 000018 EXEC SQL OPEN C1 END-EXEC. 000019 EXEC SQL FOR 3 FETCH C1 INTO :PRDCTNUM END-EXEC. 000020 DISPLAY "Product NO." PRDCTNUM 000021 EXEC SQL CLOSE C1 END-EXEC. 000022 .
SP8432.cob (19) : JMN2633I-S The SQL statement is invalid. ODBC-8432E Invalid specification position or method of FOR phrase.
Explanation
Errors that can cause this message to be output are as follows:
Error in the location of the FOR phrase in the statement.
Error in the format of the host variables (single column specified) of the statement specified for the FOR clause.
ODBC-8433E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8433. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5 OCCURS 3. 000008 02 PRDCTNAM PIC N(10) OCCURS 3. 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 01 CNT PIC S9(4) COMP-5. 000014 PROCEDURE DIVISION. 000015 EXEC SQL 000016 DECLARE C1 CURSOR FOR 000017 SELECT PNO FROM STOCK WHERE PRDCTNAM = 'TIRE' 000018 END-EXEC 000019 EXEC SQL OPEN C1 END-EXEC 000020 EXEC SQL FOR 4 FETCH C1 INTO :PRDCTNUM END-EXEC 000021 EXEC SQL CLOSE C1 END-EXEC 000022 .
SP8433.cob (20) : JMN2633I-S The SQL statement is invalid. ODBC-8433E Value in FOR phrase exceed its value in OCCURS clause.
Explanation
The number specified in the FOR phrase must be less than the number of iterations specified in the OCCURS clause.
ODBC-8434E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8433. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE1. 000007 02 PRDCTNUM PIC S9(4) COMP-5 OCCURS 3. 000008 01 STOCK-TABLE2. 000009 02 PRDCTNAM PIC N(10). 000010 01 SQLSTATE PIC X(5). 000011 01 SQLMSG PIC X(128). 000012 01 VAR-IND1 PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 01 CNT PIC S9(4) COMP-5. 000015 PROCEDURE DIVISION. 000016 EXEC SQL 000017 SELECT PNO, PNAME INTO :STOCK-TABLE1, :STOCK-TABLE2 000018 FROM STOCK WHERE PRDCTNAM = 'TIRE' 000019 END-EXEC 000020 .
SP8434.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8434E Form of host variable is different.
Explanation
All host variables in the SQL statements must have the same format.
ODBC-8435E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8435. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 CALL SPROCEDRE.SELECT1(:STOCK-TABLE:VAR-IND) 000016 END-EXEC 000017 .
SP8435.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8435E Invalid form of indicator variable correspondence to host variable.
Explanation
The indicator variables and the host variables must have the same format.
ODBC-8476E
Parameter Explanation
@1@: word
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8476. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL CONNECT TO DEFAULT AS END-EXEC 000015 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000016 .
SP8476.cob (14) : JMN2633I-S The SQL statement is invalid. ODBC-8476E Invalid specification "AS" after connect target.
Explanation
There is an invalid word immediately following the DEFAULT specification of the CONNECT statement.
ODBC-8477E
Parameter Explanation
@1@: word
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8477. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL SET CONNECTION DEFAULT FROM STM1 END-EXEC 000015 .
SP8477.cob (14) : JMN2633I-S The SQL statement is invalid. ODBC-8477E Invalid specification "FROM" after connect object.
Explanation
There is an invalid word immediately following the connection object of the SET CONNECTION statement.
ODBC-8478E
Parameter Explanation
@1@: word
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8478. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLCON PIC X(30). 000011 01 SQLMSG PIC X(128). 000012 01 VAR-IND PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL CONNECT TO :SQLCON END-EXEC 000016 EXEC SQL CALL SELECT1(:PRDCTNUM) END-EXEC 000017 EXEC SQL DISCONNECT :SQLCON RELEASE END-EXEC 000018 .
SP8478.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8478E Invalid specification "RELEASE" after disconnect object.
Explanation
There is an invalid word immediately following the disconnection object of the DISCONNECT statement.
ODBC-8486E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8486. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT ALL END-EXEC 000017 EXEC SQL EXECUTE IMMEDIATE :SQLSTMT USING :PRDCTNAM END-EXEC 000018 .
SP8486.cob (16) : JMN2633I-S The SQL statement is invalid. ODBC-8486E Invalid specification after SQL statement variable.
SP8486.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8486E Invalid specification after SQL statement variable.
Explanation
Errors that cause this message to be output in the example above include:
An invalid word immediately follows the SQL statement variables of the PREPARE statement.
An invalid word immediately follows the SQL statement variables of the EXECUTE IMMEDIATE statement.
ODBC-8499E
Parameter Explanation
@1@: COMMIT, ROLLBACK
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8499. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL COMMIT IMMEDIATE END-EXEC 000015 EXEC SQL ROLLBACK RELEASE END-EXEC 000016 .
SP8499.cob (14) : JMN2633I-S The SQL statement is invalid. ODBC-8499E Invalid specification after keyword "COMMIT".
SP8499.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8499E Invalid specification after keyword "ROLLBACK".
Explanation
Errors that cause this message to be output in the example above include:
An invalid word immediately following COMMIT.
An invalid word immediately following ROLLBACK.
Only the word WORK can be specified immediately following COMMIT or ROLLBACK.
ODBC-8503E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8503. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000017 END-EXEC 000018 EXEC SQL OPEN C1 END-EXEC. 000019 EXEC SQL FETCH C1 INTO :PRDCTNUM END-EXEC. 000020 EXEC SQL UPDATE WHERE CURRENT C1 END-EXEC 000021 EXEC SQL DELETE WHERE CURRENT C1 END-EXEC 000022 EXEC SQL CLOSE C1 END-EXEC. 000023 .
SP8503.cob (20) : JMN2633I-S The SQL statement is invalid. ODBC-8503E Keyword 'OF' is missing just after keyword 'CURRENT'.
SP8503.cob (21) : JMN2633I-S The SQL statement is invalid. ODBC-8503E Keyword 'OF' is missing just after keyword 'CURRENT'.
Explanation
In the above example, keyword OF must be specified after CURRENT in the UPDATE WHERE and DELETE WHERE clauses.
ODBC-8601E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8601. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT END-EXEC 000017 EXEC SQL EXECUTE STM1 USING :PRDCTNUM USING :PRDCTNAM END-EXEC 000018* 000019 EXEC SQL 000020 DECLARE C1 CURSOR FOR 000021 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000022 END-EXEC 000023 EXEC SQL OPEN C1 END-EXEC. 000024 EXEC SQL FETCH C1 INTO :PRDCTNUM INTO :PRDCTNAM END-EXEC. 000025 .
SP8601.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8601E Keyword 'USING' or keyword 'INTO' is duplicated.
SP8601.cob (24) : JMN2633I-S The SQL statement is invalid. ODBC-8601E Keyword 'USING' or keyword 'INTO' is duplicated.
Explanation
The example above contains the following errors:
Multiple USING phrases were specified in the EXECUTE statement.
Multiple INTO phrases were specified in the FETCH statement.
ODBC-8718E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8718. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 DECLARE C1 CURSOR FOR 000016 SELECT PNO INTO :PRDCTNUM FROM STOCK WHERE :PRDCTNUM = 1 000017 END-EXEC 000018 .
SP8718.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8718E INTO clause is specified in query expression.
Explanation
In the example above, an error is generated because an INTO phrase is specified in a DECLARE CURSOR statement.
ODBC-8725E
Parameter Explanation
@1@: Host variable name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8725. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 EXEC SQL END DECLARE SECTION END-EXEC. 000013 PROCEDURE DIVISION. 000014 EXEC SQL 000015 SELECT PNO INTO :PRDCTNM FROM STOCK WHERE :PRDCTNUM = 1 000016 END-EXEC 000017 .
SP8725.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8725E Embedded variable name "PRDCTNM" is not declared.
Explanation
The host variable not declared is used.
ODBC-8766E
Parameter Explanation
@1@: Host variable name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8725. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE1. 000007 02 PRDCTNUM1 PIC S9(4) COMP-5. 000008 02 PRDCTNAM1. 000009 03 PRDCTNML1 PIC S9(4) BINARY. 000010 03 PRDCTNMS1 PIC N(8). 000011 01 STOCK-TABLE2. 000012 02 PRDCTNUM2 PIC S9(4) COMP-5. 000013 02 PRDCTNAM2 OCCURS 3 PIC X(10). 000014 01 STOCK-TABLE3. 000015 02 PRDCTNAM3 OCCURS 3 PIC X(10). 000016 02 PRDCTNUM3 PIC S9(4) COMP-5. 000017 01 STOCK-TABLE4. 000018 02 PRDCTNUM4 OCCURS 2 PIC S9(4) COMP-5. 000019 02 PRDCTNAM4 OCCURS 4 PIC X(10). 000020 01 SQLSTATE PIC X(5). 000021 01 SQLMSG PIC X(128). 000022 01 VAR-IND1 PIC S9(4) COMP-5. 000023 EXEC SQL END DECLARE SECTION END-EXEC. 000024 PROCEDURE DIVISION. 000025 EXEC SQL 000026 SELECT PNO INTO :STOCK-TABLE1 FROM STOCK WHERE PNAME = 'TIRE' 000027 END-EXEC 000028 EXEC SQL 000029 SELECT PNO INTO :STOCK-TABLE2 FROM STOCK WHERE PNAME = 'WHEEL' 000030 END-EXEC 000031 EXEC SQL 000032 SELECT PNO INTO :STOCK-TABLE3 FROM STOCK WHERE PNAME = 'SHIFT' 000033 END-EXEC 000034 EXEC SQL 000035 SELECT PNO INTO :STOCK-TABLE4 FROM STOCK WHERE PNAME = 'ENGIN' 000036 END-EXEC 000037 .
SP8766.cob (26) : JMN2633I-S The SQL statement is invalid. ODBC-8766E Invalid specification in item be subordinate to SQL statement variable"STOCK-TABLE1".
SP8766.cob (29) : JMN2633I-S The SQL statement is invalid. ODBC-8766E Invalid specification in item be subordinate to SQL statement variable"STOCK-TABLE2".
SP8766.cob (32) : JMN2633I-S The SQL statement is invalid. ODBC-8766E Invalid specification in item be subordinate to SQL statement variable"STOCK-TABLE3".
SP8766.cob (35) : JMN2633I-S The SQL statement is invalid. ODBC-8766E Invalid specification in item be subordinate to SQL statement variable"STOCK-TABLE4".
Explanation
The following host variables cannot be used.
Host variable which contains group item.
Host variable where host variable with multiple columns specified exists together to host variable with multiple rows specified.
Host variable with a table specified with different number of occurrence.
ODBC-8772E
Parameter Explanation
@1@: Host variable name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8772. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT1 PIC X(500). 000013 01 SQLSTMT2 PIC S9(9) COMP-5. 000014 EXEC SQL END DECLARE SECTION END-EXEC. 000015 PROCEDURE DIVISION. 000016 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT1 000017 MOVE 9999 TO SQLSTMT2 000018 EXEC SQL PREPARE STM1 FROM :SQLSTMT2 END-EXEC 000019 EXEC SQL EXECUTE IMMEDIATE :SQLSTMT2 END-EXEC 000020 .
SP8772.cob (18) : JMN2633I-S The SQL statement is invalid. ODBC-8772E Data type of SQL statement variable "SQLSTMT2" must be character string type.
SP8772.cob (19) : JMN2633I-S The SQL statement is invalid. ODBC-8772E Data type of SQL statement variable "SQLSTMT2" must be character string type.
Explanation
Errors that can cause this message to be output include:
The SQL statement variables of the EXECUTE IMMEDIATE statement are national item or not character strings.
The SQL statement variables of the PREPARE statement are national item or not character strings.
SQL statement host variables must be fixed-length or variable-length character strings of alphanumeric data item for these statements.
ODBC-8773E
Parameter Explanation
@1@: Host variable name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8773. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLCON1 PIC X(30). 000013 01 SQLCON2. 000014 02 CONLG PIC S9(4) COMP-5. 000015 02 CONNM PIC X(30). 000016 EXEC SQL END DECLARE SECTION END-EXEC. 000017 PROCEDURE DIVISION. 000018 MOVE 9 TO CONLG 000019 MOVE "DBCONNECT" TO CONNM 000020 EXEC SQL CONNECT TO :SQLCON2 END-EXEC 000021 EXEC SQL SET CONNECTION :SQLCON2 END-EXEC 000022 EXEC SQL DISCONNECT :SQLCON2 END-EXEC 000023 .
SP8773.cob (20) : JMN2633I-S The SQL statement is invalid. ODBC-8773E Data type of SQL statement variable "SQLCON2" must be fixed length character string type.
SP8773.cob (21) : JMN2633I-S The SQL statement is invalid. ODBC-8773E Data type of SQL statement variable "SQLCON2" must be fixed length character string type.
SP8773.cob (22) : JMN2633I-S The SQL statement is invalid. ODBC-8773E Data type of SQL statement variable "SQLCON2" must be fixed length character string type.
Explanation
Errors that can cause this message to be output include:
The connection identifier specified for the CONNECT statement is variable length.
The connection identifier specified for the SET CONNECTION statement is variable length.
The connection identifier specified for the DISCONNECT statement is variable length.
The server name, connection name, and user name must each be a character string literal or a host variable whose data type is fixed-length character string.
ODBC-8956E
Parameter Explanation
@1@: stored procedure name
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8956. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC X(20). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 EXEC SQL END DECLARE SECTION END-EXEC. 000012 PROCEDURE DIVISION. 000013 EXEC SQL 000014 CALL PPPPPPPPP1PPPPPPPPP2PPPPPPPPP3PPPPPPPPP4PPPPPPPPP5PPPPPPPPP6PPPPPPPPP7 000015- PPPPPPPPP8PPPPPPPPP9PPPPPPPP10PPPPPPPP11PPPPPPPP12PPPPPPPP13PPPPPPPP14 000016- PPPPPPPP15PPPPPPPP16PPPPPPPP17PPPPPPPP18PPP() 000017 END-EXEC 000018 .
SP8956.cob (14) : JMN2633I-S The SQL statement is invalid. ODBC-8956E Stored procedure name "PPPPPPPPP1PPPPPPPPP2PPPPPPPPP3PPPPPPPPP4PPPPPPPPP5PPPPPPPPP6PPPPPPPPP7PPPPPPPPP8PPPPPPPPP9PPPPPPPP10PPPPPPPP11PPPPPPPP12PPPPPPP" is too long.
Explanation
A stored procedure name consisting of 91 or more characters is specified. A stored procedure name must be a list of alphanumeric characters of the appropriate language that does not exceed 90 characters.
ODBC-8957E
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8957. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT1 PIC X(16385). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL PREPARE STM1 FROM :SQLSTMT1 END-EXEC 000016 .
SP8957.cob (15) : JMN2633I-S The SQL statement is invalid. ODBC-8957E SQL statement is too long.
Explanation
A SQL statement is 16385 bytes or more. A SQL statement can be up to 16,384 bytes in length. The maximum length may be shorter depending on the ODBC driver environment.
ODBC-8992E
Parameter Explanation
@1@: clause
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8992. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT END-EXEC 000017 EXEC SQL EXECUTE STM1 USING DESCRIPTOR :PRDCTNAM END-EXEC 000018 .
SP8992.cob (17) : JMN2633I-S The SQL statement is invalid. ODBC-8992E "(SQL)DESCRIPTOR" is unsupported.
Explanation
A clause that is not supported by this compiler is used. The descriptor cannot be used by this compiler.
ODBC-8994W
Parameter Explanation
@1@: Minimum value of OCCURS clause
Example
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8994. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTINF OCCURS 2 PIC X(1). 000008 02 PRDCTNUM OCCURS 3 PIC S9(4) COMP-5. 000009 02 PRDCTNAM OCCURS 4 PIC X(10). 000010 01 SQLSTATE PIC X(5). 000011 01 SQLMSG PIC X(128). 000012 01 VAR-IND1 PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 EXEC SQL 000016 SELECT PINF,PNO,PNAME INTO :PRDCTINF, :PRDCTNUM, :PRDCTNAM 000017 FROM STOCK WHERE PNAME = 'TIRE' 000018 END-EXEC 000019 .
SP8994.cob (16) : JMN2754I-I ODBC-8994W Values in OCCURS clause as each SQL statement variable are different. Minimun"2" is valid.
Explanation
The occurrence number specified in the subordinate items of a host variable with multiple rows specified and host variable with a table specified used in one SQL statement must all be the same. If they are not the same, the smaller number is used.