8.17 & 9.12 Clients and 9i Specific Queries
I have an application server that currently has 8.1.7 client fully installed and 9.1.2 partially installed. The actual database is 9i
I am trying grasp what the difference is between the two client in terms of sql queries.
If I have 9i SQL query such as a CASE, would the 8.1.7 client have problems dealing with this query?
My senior dba is telling me that client only manages communication and that you can send whatever query you like.
My external software consultant is telling me that 9.1 should allow me to run the newer 9i commands.
Half and half.
An older SQL*Plus client can recognize something starting with SELECT and send it off to the database, so a SELECT CASE.... isn't a problem.
MERGE is liable to confuse it though. It doesn't know MERGE is a new SQL command and throws it back at you the same is if you misspell an SQL*Plus command word.
Also older clients may have problems with newer datatypes (eg TIMESTAMP)
And obviously you don't get the newest SQL*Plus features
I basically have a reporting application that runs a query and then outputs the data to a spreadsheet. One of my reports has a large CASE statement which when run from a nice SQL gui tool like toad on my own machine it works fine.
However when the query is embedded in the report it throws up a syntax error.
The actual query uses CASE
SELECT ename, CASE WHEN sal>1000 THEN 'Over paid' ELSE 'Under paid' END FROM emp;
The report connects to the db via a JDBC connection. The db is 9i.
What I am trying really to figure out is whether this is due to 8.1.7 client given CASE is supposedly only 9i.
Also where can i find more info regarding this type of issue and even maybe a compare between 8i client and 9i Client. Have exchausted oracle doco and the web.
Click Here to Expand Forum to Full Width