|
Figured it out, yet another SQL precompiler bug that I need to report. The
statement displayed was ok, it was the previous statement that was in
error. As this sample from RUNSQLSTM shows better:
1 CONNECT TO GDWEB USER ROB USING 'keepguessing';
2 INSERT INTO ROB/TESTSQL2 VALUES('c', 'd');
MSG ID SEV RECORD TEXT
SQL0084 30 1 Position 1 SQL statement not allowed.
Soon as I modifed the CONNECT statement in my RPG to use host variables,
not a problem. I bet that would be fun with RUNSQLSTM, huh?
Rob Berendt
--
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin
rob@xxxxxxxxx
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
09/23/2003 11:06 AM
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
To
RPG400-L@xxxxxxxxxxxx
cc
Subject
INSERT generating SQL0084 message
What's wrong with this picture?
C/EXEC SQL
C+ INSERT INTO ROB/TESTSQL2 VALUES('c', 'd')
SQL0084S Position 9 SQL statement not allowed.
C/END-EXEC
/free
dsply sqlstate;
dsply sqlcode;
/end-free
DSPMSGD RANGE(SQL0084)
*MSGF(QSYS/QSQLMSG)
Message . . . . : SQL statement not allowed.
Cause . . . . . : The SQL statement is not allowed for one of the
following
reasons:
-- DECLARE CURSOR, DECLARE STATEMENT, FETCH, OPEN, CLOSE, WHENEVER,
PREPARE, EXECUTE, EXECUTE IMMEDIATE, INCLUDE, DECLARE TABLE, DECLARE
VARIABLE, DECLARE PROCEDURE, and DESCRIBE are not allowed in interactive
SQL, dynamic SQL, or using the RUNSQLSTM command.
-- BEGIN DECLARE SECTION and END DECLARE SECTION are not allowed in
interactive SQL, in dynamic SQL, in RPG, or in REXX.
-- A blocked INSERT statement is not allowed in interactive SQL or
dynamic
SQL.
-- The CONNECT, SET CONNECTION, RELEASE, and DISCONNECT statements are
not
allowed in dynamic SQL. CONNECT with constants specified for user ID and
password is not allowed in a precompiled program.
-- SELECT cannot be issued from an EXECUTE IMMEDIATE statement or the
RUNSQLSTM command.
-- The SET OPTION statement is only allowed in REXX, in a precompiled
program, or in SQL routines. In a precompiled program, it must be the
first
SQL statement in the program.
-- DECLARE STATEMENT, DECLARE VARIABLE, DECLARE PROCEDURE, INCLUDE,
SELECT
INTO, WHENEVER, blocked INSERT, and blocked FETCH statements are not
allowed
in REXX.
-- The SET TRANSACTION statement is not allowed when the current
connection is to a remote database.
-- The SQL statement specified is not a valid statement on the current
release of DB2 UDB for iSeries. The statement may be valid on a future
release of DB2 UDB for iSeries or on a system other than an iSeries.
Rob Berendt
--
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.