Skip to main content
Inspiring
January 23, 2008
Answered

ora-00933 with JDBC thin

  • January 23, 2008
  • 3 replies
  • 1233 views
Hi,
after changing the Oracle DB-driver from the one provided with CF Enterprise to Oracle JDBC thin I run into ora-00933 "Command not properly ended" exceptions. The SQL code syntax ist correct (runs in SQL*plus) and worked fine before. It seems to be related mostly to insert from subquery...

Has anybody an idea what is going wrong?
Are there any patches / fixes available ? (working with CF8 Fix2, Oracle 10gR2, W2k3)

Thanks in advance


This topic has been closed for replies.
Correct answer zac.spitzer
It's a confirmed bug and there is no workaround.

It affects bound (cfqueryparam) and unbound sql.

It will be released as part of the next cumulative hotfix (schedule unknown)

http://zacster.blogspot.com/2008/01/my-cf-oracle-problem-ora-00933-was.html

3 replies

Participating Frequently
January 31, 2008
zac -

I am having issues with jdbc and I am wondering if this is the same issue.

I am migrating from a very old server to CF8 and seperated the oracle DB and the webserver. I have the standard edition of CF8 and had to use the jdbc for oracle connection.

When ever I do a insert on a page, it doesnt return information it just sits there and then says the query timed out. But if I look in the database it shows that the insert worked.

Any ideas?
zac.spitzerCorrect answer
Participant
January 30, 2008
It's a confirmed bug and there is no workaround.

It affects bound (cfqueryparam) and unbound sql.

It will be released as part of the next cumulative hotfix (schedule unknown)

http://zacster.blogspot.com/2008/01/my-cf-oracle-problem-ora-00933-was.html
Participating Frequently
January 23, 2008
A sample of the offending SQL would be very helpful.

Phil
Inspiring
January 24, 2008
The SQL is something like:

insert into fu_dokument_status (oid, benutzer, status, datum)
(select 123, 'asdf', 'gelesen', sysdate from dual
where not exists (select * from fu_dokument_status where oid=123 and benutzer='asdf' and status='gelesen' )
)

As far as I could find out for now, is that the problem occurs ONLY using CF8 and ojdbc14.jar from Oracle 10g.
CF7 works fine both using 10g or 9i driver. Also when using CF8 with the ojdbc14.jar in the 9i version the above SQL works, even accessing a 10g database.

Any Ideas?

Peter
Participating Frequently
January 24, 2008
quote:

The SQL is something like
Your SQL, as it stands, looks OK to me, except you have an unnecessary extra set of ( ) around your select statement.

insert into fu_dokument_status (oid, benutzer, status, datum)
select 123, 'asdf', 'gelesen', sysdate
from dual
where not exists (select *
from fu_dokument_status
where oid=123
and benutzer='asdf'
and status='gelesen' )

Having said that, you obviously provided the SQL after parameter substitutions have been made, and it would have been much more useful to see the actual CF code that you are using, you know, what is actually contained in your CFQUERY. I suspect that there may be something else going on with the way that it is written. Generic "something like" isn't terribly helpful.

Phil