Proxy connections getting ORA-01001: invalid cursor
All,
I am having tremendous difficulty using Oracle proxy connections under WebSphere 5.1. The problem appears to be that the proxy sessions (or the logical connections) are not being closed properly resulting in 'invalid cursor' and 'fetch out of sequence' exceptions.
Here's the sequence of events:
Environment
AppServer : Websphere 5.1
Database : Oracle 10gR2
Datesource: oracle.jdbc.pool.OracleConnectionPoolDataSource
Start up application server
Check the sessions on the db
USERNAME TYPE SERVER MODULE
* APAX USER DEDICATED
* APAX USER DEDICATED
SYS USER DEDICATED sqlplus@apaxIIdb (TNS V1-V3)* = connection pool sessions
Step 1: getting the connection
// lookup datasource in jndi
Connection myConnection = myDataSource.getConnection();Step 2: opening a proxy connection
Properties myProperties = new Properties();
myProperties.put("CONNECTION_TAG", aPrincipal);
myProperties.put("PROXY_USER_NAME", aPrincipal);
OracleConnection myOracleConnection =
(OracleConnection) WSJdbcUtil.getNativeConnection((WSJdbcConnection) myConnection);
myOracleConnection.openProxySession(OracleConnection.PROXYTYPE_USER_NAME, myProperties);Step 3: check the sessions on the db
SQL> select username, type, server, module
from v$session
where type != 'BACKGROUND'
and username is not null
order by username;
USERNAME TYPE SERVER MODULE
APAX USER DEDICATED
APAX USER DEDICATED
APAX USER DEDICATED
SYS USER DEDICATED sqlplus@apaxIIdb (TNS V1-V3)
* USER1 USER PSEUDO* = proxy connection
Step 4: prepare and execute query
myResultSet = myStatement.executeQuery();Exception thrown: java.sql.SQLException: ORA-01001: invalid cursor
SQLState = 72000
vendorCode = 1001
Session information:
USERNAME TYPE SERVER MODULE
APAX USER DEDICATED
APAX USER DEDICATED
SYS USER DEDICATED sqlplus@apaxIIdb (TNS V1-V3)
* USER1 USER DEDICATED* = proxy session appears to have changed
Step 5: clear up
OracleConnection myOracleConnection =
(OracleConnection) WSJdbcUtil.getNativeConnection((WSJdbcConnection) aConnection);
myOracleConnection.close(OracleConnection.PROXY_SESSION);
myOracleConnection.close();Check sessions again
USERNAME TYPE SERVER MODULE
APAX USER DEDICATED
APAX USER DEDICATED
SYS USER DEDICATED sqlplus@apaxIIdb (TNS V1-V3)There are no Oracle udump files or other tracing information.
Any ideas?
We were getting ORA-01001 error messages that didn't appear to make sense when calling certain pl/sql procedures from a application running on a Weblogic/Apache platform. The errors would not occur when we invoked the same procedures via script from a standalone SQL client.
We were able to put an end to the Web application errors by upgrading our jdbc driver from 10.1.0.4.0 to 10.2.0.1.0.
Similar Messages
-
Getting ORA-01001: invalid cursor when I try to parse my SQL statement with DBMS_SQL
-- To modify this template, edit file PROC.TXT in TEMPLATE
-- directory of SQL Navigator
-- Purpose: Briefly explain the functionality of the procedure
-- MODIFICATION HISTORY
-- Person Date Comments
TYPE column_find IS VARRAY(999) of VARCHAR2(4);
v_client_column varchar2(4);
v_errorcode NUMBER;
v_errortext VARCHAR2(200);
i number :=0;
V_COLUMN_NAME varchar2(20);
V_COLUMN_NAME2 varchar2(20);
v_SQL_STMT varchar2(2000);
v_c_hndl integer;
v_Client_ID varchar2(200);
column_name varchar2(20);
execute_feedback integer;
mal material_attribute_pre_load%
ROWTYPE;
local_var varchar2(200);
clienttab DBMS_SQL.DATE_TABLE;
client_column column_find := column_find();
-- Declare program variables as shown above
BEGIN
--client_column := column_find();
v_c_hndl := DBMS_SQL.OPEN_CURSOR;
while i < 999
LOOP
i := i + 1;
client_column.EXTEND;
client_column(i) := CONCAT('c',i);
dbms_output.put_line(client_column(i));
BEGIN
dbms_output.put_line('Starting SQL_STMT.');
v_SQL_STMT := 'SELECT :column_name FROM
MATERIAL_ATTRIBUTE_PRE_LOAD WHERE :column_name2 = :v_Client_ID';
dbms_output.put_line('Starting DBMS_SQL.PARSE.');
DBMS_SQL.PARSE(v_c_hndl,v_SQL_STMT,DBMS_SQL.NATIVE);
dbms_output.put_line('Starting DBMS_SQL.BIND_VARIABLE.');
DBMS_SQL.BIND_VARIABLE
(v_c_hndl,'v_Client_ID','Client ID');
DBMS_SQL.BIND_VARIABLE
(v_c_hndl,'column_name',client_column(i));
DBMS_SQL.BIND_VARIABLE
(v_c_hndl,'column_name2',client_column(i));
dbms_output.put_line('Starting DBMS_SQL.DEFINE_ARRAY.');
DBMS_SQL.DEFINE_ARRAY(v_c_hndl,1,clienttab,999,1);
execute_feedback := DBMS_SQL.EXECUTE_AND_FETCH
(v_c_hndl);
DBMS_SQL.CLOSE_CURSOR(v_c_hndl);
dbms_output.put_line
EXCEPTION
WHEN OTHERS THEN
v_errorcode := SQLCODE;
v_errortext := SUBSTR(SQLERRM,1,200);
dbms_output.put_line('DISPLAY_ERROR'||SUBSTR(TO_CHAR
(v_errorcode)||v_errortext,1,30));
END;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
v_errorcode := SQLCODE;
v_errortext := SUBSTR(SQLERRM,1,200);
dbms_output.put_line('DISPLAY_ERROR'||SUBSTR(TO_CHAR
(v_errorcode)||v_errortext,1,30));
END; -- Procedure COLUMN_FINDI'm using Oracle Database Express edition (latest version from the website afaik), logging into the web interface (using unique account I created after setup[not System], gave it All rights), clicking on SQL > SQL Commands > Enter commands.
I can't run each insert individually, that is only 1 table out of 8 tables, and I probably need to be able to run the entire script (which is actually headed by a sequence of Drop Table commands) sometimes, to refresh the data back to original values in case I stuff things up. The code was originally provided in a text file called bookscript.sql, but I haven't had any success importing or uploading that file into Oracle XE, if I use SQL > SQL Scripts > Upload, the file uploads, I then click on it and click on Run, but nothing seems to happen. (File is shared [read-only] here: https://docs.google.com/leaf?id=0B7IgBXIBNxw3OTY1ZTdmNGQtMjEwYi00YmRmLTkwZjItODZkYmYxODNkMTk4&hl=en_US).
Would love any guidance as to how to modify my environment or how to input the code differently to get it running, it works fine in the hosted environment at Uni, it's an Oracle class (textbook is Guide to Oracle 10g). Lecturer doesn't seem to know much about setting up Oracle, only working in a functioning environment. -
Oracle 10g EE Export Results in ORA-01001: invalid cursor Error
Hi,
I'm quite new to Oracle 10g and OCS10g. We have a crippled/corrupt SYSAUX tablespace (data file 3) which cannot be recovered using recover
command anymore. So metalink support instructed us to do a export of the metadata of the working tablespace which contains our system data (we are in configuration stage for OCS 10g 10.1.2) via transportable tablespaces so that I can just recreate the database in DBCA and import the metadata. So after I made a cold backup, set the "transportable" tablespaces to "READ ONLY" mode, I proceeded w/ the export command which resulted in an error, please see below:
$exp \'sys/********@ocs10gSID as sysdba\' parfile=transport.par
Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.2 -
Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
Note: table data (rows) will not be exported
About to export transportable tablespace metadata...
EXP-00008: ORACLE error 1001 encountered
ORA-01001: invalid cursor
ORA-06512: at "SYS.DBMS_SYS_SQL", line 899
ORA-06512: at "SYS.DBMS_SQL", line 19
ORA-06512: at "SYS.DBMS_TTS", line 811
ORA-00376: file 3 cannot be read at this time
ORA-01110: data file 3: '/ocfs/oradata/OCS/datafile/o1_mf_sysaux_2mgzbr51_.dbf'
ORA-06512: at "SYS.DBMS_PLUGTS", line 1444
ORA-06512: at line 1
Anyone encountered this problem before? Any recommendations or tips to get this working?
I checked this url:"http://luhartma.blogspot.com/2006/05/how-to-check-if-tablespace-is.html"
And when I try to follow the instructions and check on of the tablespace I set to and verified to be in "READ ONLY" mode, I get the same error.
SQL> connect / as sysdba
Connected.
SQL> exec dbms_tts.TRANSPORT_SET_CHECK('PORTAL',TRUE)
BEGIN dbms_tts.TRANSPORT_SET_CHECK('PORTAL',TRUE); END;
ERROR at line 1:
ORA-01001: invalid cursor
ORA-06512: at "SYS.DBMS_SYS_SQL", line 899
ORA-06512: at "SYS.DBMS_SQL", line 19
ORA-06512: at "SYS.DBMS_TTS", line 811
ORA-00376: file 3 cannot be read at this time
ORA-01110: data file 3: '/ocfs/oradata/OCS/datafile/o1_mf_sysaux_2mgzbr51_.dbf'
ORA-06512: at "SYS.DBMS_TTS", line 840
ORA-06512: at line 1
Hope someone can help on this or at least provide a suggestion. Data file 3 above is the reason we are doing a transportable tablespace export & db recreation.
BTW what we have is:
OCS 10g 10.1.2 w/ Oracle RDBMS 10g Enterprise Edition 10.1.0.4.2
RHEL4 Update2
Thanks in advance.
Regards,
-KenthHi,
The status is "RECOVER" we have actually tried to recover but unfortunately the archive logs that were needed were on disks and were lost during one of the server hardware failures. Actually that is the reason why metalink support recommended this route for getting everything in order since we don't have any application data in SYSAUX yet.
Thanks. -
ORA-01001: invalid cursor (Inbound jdbc adapter XI 2.0)
Hello, I get the error ORA-01001: invalid cursor when I try to delete the data in interface table in an ORACLE database. Has anybody an idea of what maybe the problem.
here the text...
14:41:59 (4225): Confirm with statement "delete * from sap_interface.aswaa00f"
14:41:59 (4226): ERROR: Confirm action failed with error "java.sql.SQLException: ORA-01001: invalid cursor
regards
Ernesto DuranHello Prasad, thank you for your response. The problem (limitation) was that the adapter (or the driver) can only update natives ORACLE tables and the table I wanted to update was a gateway table to an external program.
regards
Ernesto Duran -
ORA-01001: invalid cursor
I have the below code I am trying to execute and get the error ORA-01001: invalid cursor
create or replace PROCEDURE TESTUPDATE(pNAME VARCHAR2,pID NUMBER) IS
CN NUMBER;
CURSOR C1 IS
SELECT CODE,SOPTION,SFILE
STREET1,
STREET2
FROM TABLE1
WHERE CODE = '10';
CURSOR C2 IS
SELECT CODE,
STREET1,
STREET2
FROM TABLE2
WHERE CODE = '10;
C1_REC C1%rowtype;
C2_REC C2%rowtype;
BEGIN
OPEN C1;
FETCH C1 INTO C1_REC;
SELECT COUNT(*) INTO CN FROM TABLE2
WHERE code = '10'
IF ( C1_REC.SOPTION = 'C' ) THEN --- SOPTION is 'C"
IF (CN = 0) THEN
IF (C1_REC.SFILE = 'FILE') THEN
INSERT INTO TABLE2(ASSIGNED) VALUES('Y');
ELSE
INSERT INTO TABLE2(ASSIGNED) VALUES('N');
END IF;
ELSE /* CN > 0 */
OPEN C2;
FETCH C2 INTO C2_REC;
IF (C1_REC.SFILE = 'FILE') THEN
IF ( C1_REC.STREET1 IS NOT NULL OR
C1_REC.STREET2 IS NOT NULL ) AND
( C1_REC.STREET1 != C2_REC.STREET1 OR
C1_REC.STREET2 != C2_REC.STREET2) THEN
UPDATE TABLE2
SET ASSIGNED = 'I';
END IF;
ELSE /*IS NOT EQUAL TO 'FILE'*/
IF ( C1_REC.STREET1 IS NOT NULL OR
C1_REC.STREET2 IS NOT NULL ) AND
( C1_REC.STREET1 != C2_REC.STREET2 OR
C1_REC.STREET2 != C2_REC.STREET2) THEN
UPDATE TABLE2
SET TABLE2_status_ind = 'N';
END IF;
END IF;
END IF;
ELSIF ( C1_REC.SOPTION = 'CR' ) THEN /*SOPTION is 'CR"*/
IF (CN = 0) THEN
IF (C1_REC.SFILE = 'FILE') THEN
INSERT INTO TABLE2(ASSIGNED) VALUES('Y');
ELSE
INSERT INTO TABLE2(ASSIGNED) VALUES('N');
END IF;
ELSE /* CN > 0*/
OPEN C2;
FETCH C2 INTO C2_REC;
IF (C1_REC.SFILE = 'FILE') THEN
IF ( C1_REC.STREET1 IS NOT NULL OR
C1_REC.STREET2 IS NOT NULL ) AND
( C1_REC.STREET1 != C2_REC.STREET2 OR
C1_REC.STREET2 != C2_REC.STREET2) THEN
UPDATE TABLE2
SET TABLE2_status_ind = 'I';
END IF;
ELSE /* IS NOT EQUAL TO 'FILE'*/
IF ( C1_REC.STREET1 IS NOT NULL OR
C1_REC.STREET2 IS NOT NULL ) AND
( C1_REC.STREET1 != C2_REC.STREET2 OR
C1_REC.STREET2 != C2_REC.STREET2) THEN
UPDATE TABLE2
SET TABLE2_status_ind = 'I';
END IF;
END IF;
END IF;
END IF;
CLOSE C1;
CLOSE C2;
END IF;
EXCEPTION WHEN NO_DATA_FOUND THEN
dbms_output.put_line('e1');
CLOSE C1;
WHEN OTHERS THEN
CLOSE C1;
dbms_output.put_line('e2');
END;when I have the soption as CR and cn=0, I get the error invalid cursor. Please help me with changes to the code to overcome this error
thanks
Edited by: 890563 on 14 Nov, 2012 5:37 AM
Edited by: BluShadow on 14-Nov-2012 13:39
added {noformat}{noformat} tags to make code readable. After 48 questions (of which you still have 40 unanswered for some reason?) and a year on the forums, we would expect you to have learnt how to ask questions... but just in case you missed it... read here: {message:id=9360002}I am sorry for posting such confusing code. I changed the last part of code code to
END IF;
END IF;
CLOSE C1;
CLOSE C2;
END IF;
END IF;
EXCEPTION WHEN NO_DATA_FOUND THEN
dbms_output.put_line('e1');
CLOSE C1;
WHEN OTHERS THEN
CLOSE C1;
dbms_output.put_line('e2');
END;
and it worked with out errors
Thanks -
"ORA-01001 Invalid Cursor" error
Platform: oracle 8.X on ibm aix and java client code from
windows NT.
JDBC DRIVER: JDBC Oracle thin driver version 1.2.
when i execute a Sql satement with Cursor expression from the
java client code with XSU it returns an XML DOM But if the
CURSOR EXPRESSION IN THE SQL QUERY RETURNS EMPTY ROWS i get
back an error node with "ORA-01001 Invalid Cursor" error
message.i had aslo set the setNullAttributes(true) property
on oraclexmlquery.
Interestingly, if i exceute the same query in the SQL plus
it returns the column names with no rows.
is there any way where i can get xml document with table
structure, when there are no rows instead of ORA error message.
This is just a guess,
all you cursors are being opened regardless of any condition, for example;
OPEN CUT(:NEW.LAYOUT_NO);
OPEN DET(:NEW.LAYOUT_NO);
OPEN ITM(:NEW.LAYOUT_NO);
OPEN LOT(:NEW.LAYOUT_NO);
OPEN DTN(:NEW.LAYOUT_NO, :NEW.CUT_NO, :NEW.NOTE);UNA however is opened after a condition;
IF DTN%NOTFOUND THEN
/** start --added for cha 2011-3172 6/14/2011 **/
OPEN UNA(:NEW.LAYOUT_NO, :NEW.ACCOUNT_NO);All cursors arel however closed regardless, i.e. they are all assumes to be open;
CLOSE CUT;
CLOSE DET;
CLOSE DTN;
CLOSE ITM;
CLOSE LOT;
CLOSE STAT;
CLOSE UNA;So I think you are closing the UNA cursors wen it is in fact not open.
So, move the "CLOSE UNA;" line of code to before the END IF; on line 278, since that is when it will definitely be open. -
Unexpected "ORA-01001: invalid cursor" error
I have a Pro*C application that basically fetches from a cursor, does a bunch of work with that row, does a "delete from <table> where current of <cursor name>", then loops back, fetches, the next row, etc., and finally closes the cursor once all the rows have been processed.
One of our clients is getting an 'ORA-01001' error on the "DELETE FROM <table> WHERE CURRENT OF <cursor>" statement. This is long-standing, frequently executed code at 100+ clients and I've never had a problem with this statement before. The client is consistently getting this error on a particular row from this cursor, but other rows processed with the same cursor are processing successfully.
Unfortunately, I do not have direct access to the client's database, so I cannot debug directly, but I've placed print statements around the only place in my application's code that explicitly closes the cursor. A log generated on a run that threw the 1001 error confirmed that the cursor is NOT being explicitly closed by my application by an "EXEC SQL CLOSE <cursor>" statement.
Likewise, I put print statements around all the COMMITs and ROLLBACKs in my application, and none of these showed in the logs either.
My application does make a call to a client-customized PL/SQL function that they recently changed. However, I have a copy of the clients function and there are not any explicit COMMIT, ROLLBACK, ANALYZE, ALTER, DROP, REPLACE, TRUNCATE or CREATE statements that would implicitly commit and close the cursor.
Here are potential problems that I have ruled out:
-Oracle OPEN_CURSORS parameter - It appears that if this were the problem, the error would be an ORA-1000, not 1001. Please correct me if I am wrong here.
-Pro*C MAXOPENCURSORS parameter - I compiled a version with a MAXOPENCURSORS value that is higher than the client's OPEN_CURSORS setting. If this were the problem, the error should have switched to the ORA-1000 error when I increased the parameter. It remained as an ORA-1001.
Next steps:
-What could cause a cursor to close other than explicit COMMIT, ROLLBACK, ANALYZE, ALTER, DROP, REPLACE, TRUNCATE or CREATE statements?
-Is there anything I can run, such as a database trace, that will show me exactly when the cursor is being closed? I admittedly don't know a lot about DB traces.
-Anything else I should check? Any other information I should provide?
Thanks ahead of time for any help!Chandrakaanth Ramamurthy wrote:
Does the client customized PL/SQL block contain EXIT
Exit will end up issuing a commit and hence this could be an issue.Exit is not used in the customized function.
Chandrakaanth Ramamurthy wrote:
Also please check that commit and roll back are placed at the end of the loop.The only commit/rollback is after the loop is over is finished.
I actually just figured out the issue. Turns out the cursor just hadn't been opened due to a very unique data condition... facepalm You know what happens when you assume things, right? :)
Thanks for the help anyway! -
I am getting "ORA-00900: invalid SQL statement" error.?
I did installed oracle 11gR2. and used "DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','TBL_A','TBL_A','USER1','USER2')" to see the result like below, but I am getting "ORA-00900: invalid SQL statement" error. Any idea?
I am using:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> desc user1.tbl_a
Name Null? Type
FIELD_A1 NOT NULL NUMBER
FIELD_A2 VARCHAR2(20)
FIELD_A4 NOT NULL NUMBER(5,2)
FIELD_A5 VARCHAR2(10)
FIELD_A6 NOT NULL NUMBER(2)
SQL> desc user2.tbl_a
Name Null? Type
FIELD_A1 NOT NULL NUMBER
FIELD_A2 VARCHAR2(50)
FIELD_A3 DATE
FIELD_A4 NUMBER(5,2)
FIELD_A5 NOT NULL VARCHAR2(10)
SQL> select dbms_metadata_diff.compare_alter('TABLE','TBL_A','TBL_A','USER1','USER2') from dual
expected result:
DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','TBL_A','TBL_A','U1','U2')
ALTER TABLE "U1"."TBL_A" ADD ("FIELD_A3" DATE)
ALTER TABLE "U1"."TBL_A" DROP ("FIELD_A6")
ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A2" VARCHAR2(50))
ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A4" NUMBER(5,2) DEFAULT 0)
ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A4" NULL)
ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A5" NOT NULL ENABLE)Thanks for reply rp,
I got result using "select dbms_metadata_diff.compare_alter('TABLE','TBL_A','TBL_A','USER1','USER2') from dual" -
Requesting help-On a report Getting ora-00920 invalid relational operator.
Hi everyone,
I am having a report region with the following query:
select CASE
WHEN ISITRECENTADDENDUM(meckey_fk,code)
THEN
'<a href="javascript:popUp2('''
|| 'f?p=&APP_ID.:61:&SESSION.::NO::P61_MECKEY_FK:'
|| &P60_MECKEY.
|| ''', 700, 700);">'
|| '<img src="#IMAGE_PREFIX#gobut.gif">'
|| '</a>'
ELSE NULL
END EditAddendum,
'<a href="javascript:popURL('''
||'&REPORTS_URL.keynewmec&P_1=&P60_MECNUM.'
|| ''', 700, 700);">'
|| '<img src="#WORKSPACE_IMAGES#printer.jpg">'
|| '</a>'
PrintMEC,
"CODE",
"MECKEY_FK",
"ADDENDUM",
"WHO_CREATED",
"WHEN_CREATED"
from "C_ADDENDUMS"
where "MECKEY_FK" = v('P60_MECKEY')
And my function returning boolean is as follows:
create or replace FUNCTION "ISITRECENTADDENDUM"
(meckeyi in number,
codei in varchar2)
return Boolean
is
x varchar2(1);
begin
select max(code) into x from c_addendums where meckey_fk = meckeyi;
if x = codei then
return true;
else
return false;
end if;
exception
when others then
return FALSE;
end;
But I am getting ORA-00920 invalid relational operator. Can anyone please help me out? I am not knowing where the error is. When I run the function by itself I am getting "False" returned as expected. Appreciate any advice on this.
Rgds,
Suma.Suma,
It looks like what you are trying to do is display a link for the record with the highest value in the Code column, and nothing for the other records.
If that is the case, you can eliminate the function and just use a SQL query like this:
(not tested)
select CASE
WHEN code = Max(code) over (partition by meckey_fk)
THEN
'<a href="#">'
|| ' '
|| '< img class="TargetAlertIcon" src="chrome://targetalert/content/skin/internal.png"></a>'
ELSE NULL
END EditAddendum,
'<a href="#">'
|| ' '
|| '< img class="TargetAlertIcon" src="chrome://targetalert/content/skin/internal.png"></a>' PrintMEC,
"CODE", "MECKEY_FK", "ADDENDUM", "WHO_CREATED", "WHEN_CREATED"
from "C_ADDENDUMS"
where "MECKEY_FK" = :P60_MECKEYIs that what you're trying to do?
Doug -
Getting ORA-00903:invalid table name with both system and table owner
Hi All,
Oracle version 9.2
I'm trying to retrieve some information from a few tables and import them to Excel. I haven't got much idea about ORACLE, but I'm not able to do anything.
I open SQL PLus, and use CONNECT SYSTEM/[email protected] AS SYSDBA
The console shows connected.
I use select table_name,owner from dba_tables where owner='USER1';
I can see the tables I want to access in the output.
I do select * from USER1.TABLE1 and also tried with select * from TABLE1, both return ORA-00903:invalid table
I also tried to connect with "CONNECT USER1/[email protected]" also shows connected, but then same error ORA-00903:invalid table
Could anyone guide me so I can find out whats going on wrong??
Thanks.. Best regards!Great! this worked! At least now I know I can read the data.
Now I would like to get the data from this table into Excel 2007, but I can't install Office in the ORACLE server, so I have setup my client computer (Windows 2003 server with Excel 2007).
I installed the ORACLE ODBC driver, and put the TNSName.ora file into the network admin folder.
I successfully create the ODBC connector, and try connection is successfull. However, when I try to get the data, Excel send an error saying that it cannot list the tables!
Anyway, any simple solution will do. If there is an easy way of making ORACLE create for example a CSV file with all the data from the table it will be good as well. What would be the easiest way? -
Getting ora:00904 invalid indentifier error while running i query
Hi,
I have a remote database and local database both are oracle 10gR2.Now i have written the below mentioned query in my local database and is working fine,but in case remote database it is throughing error ora:00904 invalid indentifier.
I had export the dump from remote db and import it on my local db and i tried the same and it is working fine on local after that also.
As i believe that this error usually come for column name not exist or column name or it's length or for any special character in column name of the table.But as i said it is working fine on local db but not in remote db though i am using the same dump for local and remote.
Though when i am querying the table i can able to fetch data for the any record but when i am using the below mentioned query for the same i am getting the error.As i am doing this to fecth the data for child parent related relationship.
Can any one suggest is there anything related to configaration or something else.
Please do let me know if you do want some more information on the query what i am doing inside of it.
Rgds,
Anit
Edited by: Anit A. on Sep 1, 2008 2:32 AM
Edited by: Anit A. on Sep 1, 2008 2:33 AMWITH t
AS
SELECT decode(t.spnlevel
,3,t.u_quotesdtlid
,2,decode((select count(*)
from u_quotesdtl t2
where t2.u_quotesdtlid = t.u_quotesdtlid
and t2.parentspn = (t2.jobgroupid||':'||t2.jobtype)
),0,(select t1.u_quotesdtlid
from u_quotesdtl t1
where t1.spnitemcode = t.parentspn
and t1.spnlevel = '3'
and t1.jobtype = t.jobtype
and t1.jobgroupid = t.jobgroupid
and t1.QUOTEID = t.QUOTEID
),t.u_quotesdtlid
,1,decode((select count(*)
from u_quotesdtl t2
where t2.QUOTEID = t.QUOTEID
and t2.parentspn = (t2.jobgroupid||':'||t2.jobtype)
),0,t.u_quotesdtlid,decode((select count(*)
from u_quotesdtl t3
where t3.QUOTEID = t.QUOTEID
and t3.parentspn = (t3.jobgroupid||':'||t3.jobtype)
and t3.u_quotesdtlid in (select t1.u_quotesdtlid
from u_quotesdtl t1
where t1.spnitemcode = t.parentspn
and t1.spnlevel = '2'
and t1.jobtype = t.jobtype
and t1.jobgroupid = t.jobgroupid
and t1.QUOTEID = t.QUOTEID
),0,(select t4.u_quotesdtlid
from u_quotesdtl t4
,(select t1.parentspn
,t1.jobtype
,t1.jobgroupid
from u_quotesdtl t1
where t1.spnitemcode = t.parentspn
and t1.spnlevel = '2'
and t1.jobtype = t.jobtype
and t1.jobgroupid = t.jobgroupid
and t1.QUOTEID = t.QUOTEID
) t5
where t4.spnitemcode = t5.parentspn
and t4.spnlevel = '3'
and t4.jobtype = t5.jobtype
and t4.jobgroupid = t5.jobgroupid
and t4.QUOTEID = t.QUOTEID
(select t1.u_quotesdtlid
from u_quotesdtl t1
where t1.spnitemcode = t.parentspn
and t1.spnlevel = '2'
and t1.jobtype = t.jobtype
and t1.jobgroupid = t.jobgroupid
and t1.QUOTEID = t.QUOTEID
,null,t.u_quotesdtlid) as parentquoteid
,t.u_quotesdtlid as quotesdtlid
,t.spnlevel as spnlevel
FROM u_quotesdtl t
WHERE t.QUOTEID ='som key id'
ORDER BY parentquoteid,t.spnlevel desc
select * from t; -
Getting ORA-01722 - Invalid number error in SQL
I am trying to run a query like
SELECT NVL (ic.industryclassdesc, 'NULL') industryclass,
NVL (hci.updated_by, 'NULL') updatedby,
NVL (hci.operation, 'NULL') operation,
hci.audittimestamp audittimestamp
FROM xxx_company_inxxxx hci, xxx_industry ic
WHERE hci.company_id = 9079496
AND ic.industryclassid = hci.industryclass_id
ORDER BY DECODE (hci.operation, 'D', 'X', hci.operation), hci.audittimestamp
And getting the error - ORA-01722 - Invalid number.
But the columns - ic.industryclassid, hci.industryclass_id and also hci.company_id are 'Number' datatype and also not nullable.
Can anyone suggest a approchSELECT NVL (ic.industryclassdesc, 'NULL')
> industryclass,
NVL (hci.updated_by, 'NULL') updatedby,
NVL (hci.operation, 'NULL') operation,
hci.audittimestamp audittimestamp
xxx_company_inxxxx hci, xxx_industry ic
WHERE hci.company_id = 9079496
AND ic.industryclassid = hci.industryclass_id
BY DECODE (hci.operation, 'D', 'X', hci.operation),
hci.audittimestamp
And getting the error - ORA-01722 - Invalid number.
Do not enter 'String' in the nvl function,if the column is number datatype,
venki
null -
Getting ORA-00911: invalid character error in the func ?
CREATE OR REPLACE FUNCTION f_get_oibt_value(argin_rollent IN VARCHAR2,
argin_rollsubent IN VARCHAR2,
argin_legalORdervied IN CHAR,
argin_year IN VARCHAR2,
argin_currmtd IN VARCHAR2)
RETURN NUMBER AS
ln_oibt_value NUMBER;
ln_oibt_l_value NUMBER;
ls_acct_id VARCHAR2(10);
sql_stmt VARCHAR2(2999);
BEGIN
-- dbms_output.enable(9999);
IF UPPER(argin_legalOrdervied) = 'L' THEN
ls_acct_id := 'OIBT-L';
ELSE
ls_acct_id := 'OIBT-D';
END IF;
sql_stmt := 'SELECT SUM (NVL (DECODE (yr, ''' || argin_year || ''', avg_ytd_' || argin_currmtd || ', 0), 0)) ';
sql_stmt := sql_stmt || 'FROM ma_temp_local ';
sql_stmt := sql_stmt || 'WHERE roll_ent = :argin_rollent '; --(Input argument)
sql_stmt := sql_stmt || 'AND roll_sub_ent = :argin_rollsubent '; --(Input argument)
sql_stmt := sql_stmt || 'AND ent NOT IN (''817'', ''PSP'') ';
sql_stmt := sql_stmt || 'AND acct_id = ''legal'' '; --Fixed
sql_stmt := sql_stmt || 'AND acct = :ls_acct_id '; --Fixed
sql_stmt := sql_stmt || 'AND rel_type = '' '' '; --Fixed
sql_stmt := sql_stmt || 'AND acct_lvl <= ''0'' '; --Fixed
sql_stmt := sql_stmt || 'AND yr = :argin_year '; --(Input argument)
sql_stmt := sql_stmt || 'AND rec_type = ''A'' '; -- Fixed
sql_stmt := sql_stmt || 'AND product_code = ''ALL'' '; -- Fixed
sql_stmt := sql_stmt || 'AND segment_code = ''ALL'' '; -- Fixed
sql_stmt := sql_stmt || 'GROUP BY roll_ent, roll_sub_ent;';
--dbms_output.put_line(sql_stmt);
EXECUTE IMMEDIATE sql_stmt
INTO ln_oibt_l_value
USING argin_rollent, argin_rollsubent, ls_acct_id, argin_year;
RETURN ln_oibt_value;
END f_get_oibt_value;
getting below errors..
ORA-00911: invalid character
ORA-06512: at "F_GET_OIBT_VALUE", line 36
ORA-06512: at line 3Are You Getting the error while creating the function or while excuting it
SQL>CREATE OR REPLACE FUNCTION f_get_oibt_value(argin_rollent IN VARCHAR2,
2 argin_rollsubent IN VARCHAR2,
3 argin_legalORdervied IN CHAR,
4 argin_year IN VARCHAR2,
5 argin_currmtd IN VARCHAR2)
6 RETURN NUMBER AS
7
8 ln_oibt_value NUMBER;
9
10 ln_oibt_l_value NUMBER;
11 ls_acct_id VARCHAR2(10);
12 sql_stmt VARCHAR2(2999);
13
14 BEGIN
15 -- dbms_output.enable(9999);
16 IF UPPER(argin_legalOrdervied) = 'L' THEN
17 ls_acct_id := 'OIBT-L';
18 ELSE
19 ls_acct_id := 'OIBT-D';
20 END IF;
21
22 sql_stmt := 'SELECT SUM (NVL (DECODE (yr, ''' || argin_year || ''', avg_ytd_' || argin_currmtd || ', 0), 0)) ';
23 sql_stmt := sql_stmt || 'FROM ma_temp_local ';
24 sql_stmt := sql_stmt || 'WHERE roll_ent = :argin_rollent '; --(Input argument)
25 sql_stmt := sql_stmt || 'AND roll_sub_ent = :argin_rollsubent '; --(Input argument)
26 sql_stmt := sql_stmt || 'AND ent NOT IN (''817'', ''PSP'') ';
27 sql_stmt := sql_stmt || 'AND acct_id = ''legal'' '; --Fixed
28 sql_stmt := sql_stmt || 'AND acct = :ls_acct_id '; --Fixed
29 sql_stmt := sql_stmt || 'AND rel_type = '' '' '; --Fixed
30 sql_stmt := sql_stmt || 'AND acct_lvl <= ''0'' '; --Fixed
31 sql_stmt := sql_stmt || 'AND yr = :argin_year '; --(Input argument)
32 sql_stmt := sql_stmt || 'AND rec_type = ''A'' '; -- Fixed
33 sql_stmt := sql_stmt || 'AND product_code = ''ALL'' '; -- Fixed
34 sql_stmt := sql_stmt || 'AND segment_code = ''ALL'' '; -- Fixed
35 sql_stmt := sql_stmt || 'GROUP BY roll_ent, roll_sub_ent;';
36 --dbms_output.put_line(sql_stmt);
37 EXECUTE IMMEDIATE sql_stmt
38 INTO ln_oibt_l_value
39 USING argin_rollent, argin_rollsubent, ls_acct_id, argin_year;
40
41
42 RETURN ln_oibt_value;
43
44 END f_get_oibt_value;
45 /
Function created.
SQL>drop function f_get_oibt_value;
Function dropped.
SQL> -
Getting ORA-00911: invalid character
I've '?' as a bind variable in my sql query. When i try to execute this in java, i'm getting the following error:
ORA-00911: invalid character
Is this related to some specific jdbc drivers/version or oracle's version?ORA-00911: invalid character
Is this related to some specific jdbc drivers/version
or oracle's version?The error code is Oracle specific, but the cause is code-specific.
http://ora-00911.ora-code.com/ -
Getting ORA-01017: invalid username/password error only with specific tools
Hi,
I am a Junior DBA still getting familiar with Oracle. I am having trouble accessing one of my databases through both TOAD and SQLDetective tools. When I try to log in to my database using these tools, I get the error:
ORA - 01017: invalid username/password; login denied
Even though the password and username is correct.
I can successfully login through other tools like SQLTools and through SQL Plus. I have searched this issue and I have seen people with the same problems but I couldnt find a solution. The weird thing is, I can use TOAD and SQLDetective to login to other databases without any issues. It seems to be this one specific database.
My database is an 11g database on a linux box. I have 9i and 10g clients installed on my machine. The all my apps use the tnsnames from the 9i home on my machine.
Any help on this would be greatly appreciated. Thanks.
Rgs,
Rob
Edited by: rgilligan on 16-Apr-2010 02:11Hello, if it is 11g, look at the parameter sec_case_sensitive_logon. This parameter defaults to true, which makes the password case sensitive. Some tools/apps do a UPPER or LOWER on the password and so this may the reason for the error
Henner
Maybe you are looking for
-
Where is the HTML5 Audio player in DWCS6 Cloud version?
I just joined the subscription version of the Cloud and re-installed DWCS6 from there and don't see the new updates I've read about. Like the HTML5 Audio player I read about. Where the heck is it? Thanks! So far this I'm not sold on this Cloud th
-
Script that runs very slow when exporting output to XLS file
I am using TOAD for oracle to export result to XLS. Need help on this script to chec how can I speed up the process: select a.div, a.zname, a.MBr, a.Loc,a.lname, b.mid as SLID, c.slname, a.FDID, b.FName as FDNAME, a.apptdate,b."Contact Nos", b."Credi
-
Problem connecting 3250 to a pc through pc suit
from last couple of weeks i am having problems when i try to connect my nokia 3250 to a pc through nokia pc suit (using cable) as soon as i connect my mobile it gives a error which says app.closed nsmijobthread-93 211c19 any suggestions regards Tanve
-
How do you find the serial numbers of the devices that are with your account with out having the divice as it has been stolen
-
Dear ABAP'ers, I've got a question ... ... how can I check if a program for example is assigned to any transport request? I will be thankful for a small tip. Regards. P.