Invalid Table Name error in EXECUTE IMMEDIATE
Hi there.
I am trying to truncate few debug tables I created a used ago. Refer the code
declare
lv_sql varchar2(100) := 'truncate table :b1';
begin
for i in (select object_name
from all_objects
where object_type = 'TABLE'
and object_name like 'DEBUG_%'
and owner = user)
loop
dbms_output.put_line('Table Name: '||i.object_name);
execute immediate lv_sql using i.object_name;
end loop;
end;Seems to be correct (unless I messed something big). And, I get an error message:
ORA-00903: invalid table name
ORA-06512: at line 13Any idea? Thanks in advance.
you can't bind table or column names... try this instead:
declare lv_sql varchar2(100);
begin for i in (select object_name
from all_objects
where object_type = 'TABLE'
and object_name like 'DEBUG_%'
and owner = user) loop
dbms_output.put_line('Table Name: '||i.object_name);
lv_sql := 'truncate table '||i.object_name;
execute immediate lv_sql;
end loop;
end;Message was edited by:
RACER
forgot ending tag
Similar Messages
-
Invalid table name error ....
Hi,
I have written a function which takes table name dynamically and if column emp_id is null for more than 0 records then 1 is returned else 0 .
My problem is when i compile iam getting invalid table name error .
Below is my function :
create or replace
FUNCTION f_table ( tab_name in varchar2 ) return number is
l_count number;
begin
select count(*) into l_count from tab_name where emp_id is null;
if l_count >0 then
return 1;
else
return 0;
end if;
end;
Please help ...
Thanks in advance ..Looks fine to me, you could use sign() for the last part:
CREATE OR REPLACE FUNCTION f_table (tab_name IN VARCHAR2)
RETURN NUMBER
IS
l_count NUMBER;
v_sql VARCHAR2 (2000);
BEGIN
v_sql := 'SELECT COUNT (*) FROM ' || tab_name || ' WHERE emp_id IS NULL';
EXECUTE IMMEDIATE v_sql
INTO l_count;
RETURN sign(l_count);
END;And if you have large tables, you could consider not counting it all, and do something like this:
CREATE OR REPLACE FUNCTION f_table (tab_name IN VARCHAR2)
RETURN NUMBER
IS
l_count NUMBER;
v_sql VARCHAR2 (2000);
BEGIN
v_sql := 'SELECT COUNT (*) FROM ' || tab_name || ' WHERE emp_id IS NULL AND rownum = 1';
EXECUTE IMMEDIATE v_sql
INTO l_count;
RETURN l_count;
END;Regards
Peter -
Select * from {tablename} : invalid table name error
Hi,
I want to get data from a table and the table should be passed at runtime from selecting a table from the drop down list.In case of insertion of values I am getting no errors.But when I pass the table name as an argument I am getting invalid table name error.I think there is any syntax errors.I appreciate any help.
Regards,
Sivaramyou cannot use parameter for table name in PreparedStatement.
you can either generate the sql dynamically, such as String sql="select * from "+tablename, or you can check whether the database vendor has special api for this. -
Invalid table name error when updating object in collection using SQL
Hi,
I have pl/sql code where I am selecting a object from a collection using sql select query. I am processing this record and now I want to update the collection with the new object. ie. ensure that the object that was fetched be removed and this new one be added.
considering my_ot is the object type and my_tt is the table type.
DECLARE
my_col my_tt;
my_col1 my_tt
my_var my_ot;
my_var2 VARCHAR2(10);
BEGIN
// populating my_col1 with select query
//populating my_col with select query
FOR my_col1.FIRST .. my_col.LAST LOOP
//populating my_var2
BEGIN
SELECT my_ot(c.field1, c.field2 ,c.field3) INTO my_var FROM TABLE(my_col) c WHERE c.field3 = my_var2
//processing the field my_VAR
UPDATE TABLE(my_col) c SET c.field1 = my_var.field1 , c.field2 = my_var.field2 , WHERE c.field3 = my_var.field3;
EXCEPTION WHEN NO_DATA_FOUND
my_col.EXTEND;
my_col(my_col.LAST) := // new my_ot object
END;
END LOOP;
Here, when compiling the update query is not being compiled. I am getting a error 'invalid table name'. Is there any way to modify an object in the collection without knowing its index?
If not, is it possible to find the index of a object in the collection in select query?
Thanks in advance
PaddyHi,
Is there any way to find the index of a object in the collection? Then I will simply replace the object at that index, right!
Thanks
Paddy -
What is the problem with this script. it is giving invalid table name error
declare
l_cnt number;
v_sql varchar2(1000);
table_name1 varchar2(1000);
begin
for i in ( select table_name from all_tables )
loop
table_name1 := i.table_name;
v_sql := 'select count(1) from :table' ;
execute immediate v_sql into l_cnt using table_name1;
dbms_output.put_line(l_cnt);
end loop;
end;the problem is that you can't do that. it's illegal. use dynamic sql.
http://download-east.oracle.com/docs/cd/B10501_01/appdev.920/a96624/11_dynam.htm#10961
see a million other thread here, including this one posted 12 minutes before yours
Passing Parameter to From clause of SQL -
Hello, I'm trying to create a report on a table name that is in an item. This is the simple query I'm using for the report:
Select * from :P9_MERGE_TABLE;
I get an Invalid Table Name error. Is there any way I can build the query to get around this problem.
thanks,
JanCertainly you can use a bind variable for a table name when building a dynamic sql query. But this is not exactly what I would call "binding the value of variable to a sql statement. You cannot bind a table name to a static sql query (hope this is the correct wording).
For example:
It is ok, to create the following static query:
SELECT * from emp where empno = :P1_EMPNO;But this will not work
SELECT * from :P1_TABLE_NAME;In this case, you have to do it the way discussed in this thread. -
ORA-00903: Invalid table name - running Set based mapping
Hello,
Using OWB 10.2.04.36 and have created a mapping which reads data from Non-Oracle, ODBC source table, actually a worksheet in an Excel workbook which has been defined/set up using the Heterogeneous Service components.
I can view the data in the worksheet using the Design Center, Data Object Editor, Data Viewer tab so I know the data is accessible.
The mapping is performing a Loading Type: INSERT/UPDATE into a View which has an INSTEAD OF INSERT OR UPDATE OR DELETE ON view.
The mapping validates okay and is deployed successfully.
Yet when it is run in "Set based" Operating Mode from Control Center Manager the Execution Results show an "ORA-00903: Invalid table name" error is raised.
You cannot run the mapping in any Row based operating mode as Row based running fails with "ORA:22816: Unsupported feature with RETURNING clause" due to the generated code for the INSERT/UPDATE of the view using a RETURNING clause which is actioned on an INSTEAD OF trigger.
Looking at the generated package code I can strip out the SELECT statement from the MERGE statement for the alias "MERGE_SUBQUERY" and it runs and displays the expected result, however when the complete MERGE statement is taken and run I get the same ORA-00903 error that was reported in Control Center Manager.
Any ideas what the problem could be? I have another mapping that reads from the same source Excel workbook/worksheet and INSERT/UPDATE into a table without an INSTEAD OF trigger, this mapping deploys, runs successfully so the issue seems to be with the INSERT/UPDATE into the view. The views are what we require to be populated.
Thanks.Hi,
But changing V_EMP_DEPT to EMP is not INSERTING/UPDATING to the view V_EMP_DEPT, what you propose is INSERTING/UPDATING into the table EMP. The code was only an example showing that the MERGE does not work when INSERTING/UPDATING into a view based on joining tables. For example say you wanted to INSERT/UPDATE the DNAME of V_EMP_DEPT then the MERGE statement generated by OWB PL/SQL mapping would use the code structure/template:-
MERGE INTO "V_EMP_DEPT" "V_EMP_DEPT"
USING (SELECT 5369 "EMPNO",
'SMITH' "ENAME",
'CLERK' "JOB",
7902 "MGR",
To_Date('17/12/1980','DD/MM/YYYY') "HIREDATE",
800 "SAL",
'New Dept Name" "DNAME"
FROM Dual,
"DEPT" "DEPT"
WHERE ("DEPT"."DEPTNO" = 20)) "MERGE_SUBQUERY"
ON ( "V_EMP_DEPT"."EMPNO" = "MERGE_SUBQUERY"."EMPNO")
WHEN NOT MATCHED THEN
INSERT("V_EMP_DEPT"."EMPNO",
"V_EMP_DEPT"."ENAME",
"V_EMP_DEPT"."JOB",
"V_EMP_DEPT"."MGR",
"V_EMP_DEPT"."HIREDATE",
"V_EMP_DEPT"."SAL",
"V_EMP_DEPT"."DNAME")
VALUES("MERGE_SUBQUERY"."EMPNO",
"MERGE_SUBQUERY"."ENAME",
"MERGE_SUBQUERY"."JOB",
"MERGE_SUBQUERY"."MGR",
"MERGE_SUBQUERY"."HIREDATE",
"MERGE_SUBQUERY"."SAL",
"MERGE_SUBQUERY"."DNAME")
WHEN MATCHED THEN
UPDATE
SET "ENAME" = "MERGE_SUBQUERY"."ENAME",
"JOB" = "MERGE_SUBQUERY"."JOB",
"MGR" = "MERGE_SUBQUERY"."MGR",
"HIREDATE" = "MERGE_SUBQUERY"."HIREDATE",
"SAL" = "MERGE_SUBQUERY"."SAL",
"DNAME" = "MERGE_SUBQUERY"."DNAME";
{code}
This was only an example my target view has a lot more columns being MERGE'd into the view and joined tables.
Cheers,
Phil -
Invalid Table Name SQL ReporError From Unsubmitted List of Value Table Name
I have an application in which a user selects a table name from a list of values and a SQL report shows data from the table selected. On entry into this page the "invalid table name" error shows until you select a table name.
My list of values is a LOV with redirect.
Is there any way to remove this error or not show the report?
Any help is appreciated.
Thanks,
KyleI resolved my issue by doing the following:
Create a process
Process Point - On Load - Before Header
Run Process - Once Per Session or When Reset
Process Source:
(item in list of value set equal to return value in list of value)
:P10_VERSION := 'ALLVERSIONS'; -
SQL Statement error - ORA-00903: invalid table name
Hi
I have written a sql script that gets executed from a form within e-business suite. Unfortunately, the script is falling over with an error:
unknown command beginning "MERGE INTO..." - rest of line ignored.
unknown command beginning "USING edop..." - rest of line ignored.
unknown command beginning "ON (elw.ro..." - rest of line ignored.
unknown command beginning "WHEN MATCH..." - rest of line ignored.
For a list of known commands enter HELP
and to leave enter EXIT.
SET ELW.billed_flag = t.billed_flag,
ERROR at line 2:
ORA-00903: invalid table name the actual statement that is causing the issue is:
MERGE INTO edopaif.table1 elw
USING edopaif.tablw2 t
ON (elw.rowid = t.LOAD_WORKING_ROWID)
WHEN MATCHED THEN
UPDATE
SET ELW.billed_flag = t.billed_flag,
ELW.last_bill_generated = t.last_bill_generated,
ELW.last_bill_type = t.last_bill_type,
ELW.load_month = t.load_month,
ELW.BILL_TRANSACTION_ID = t.bill_transaction_id
WHEN NOT MATCHED THEN
INSERT(error_meaning)
VALUES('ROWID error with ins_ptia');The version of e-business suite that we are using is: 11.5.10.2.
The version of the Oracle database that we are using is:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production
TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production
Please note that I am able to successfully run the statement directly connected as the APPS schema in the database - the error only occurs when the script is run from the forms front-end (which is really confusing me).
Many thanks
PaulHi
I've modified the script to include only the statement that is erroring and it still errors when executed from the front end application.
Next I re-wrote the statement to use PL/SQL instead of the MERGE statement, to do the update, and the script completes succesfully, i.e.:
DECLARE
CURSOR cu_lw IS
SELECT t.billed_flag,
t.last_bill_generated,
t.last_bill_type,
t.load_month,
t.bill_transaction_id,
t.load_working_rowid
FROM table2 t;
BEGIN
FOR rec_cu_lw IN cu_lw LOOP
UPDATE table1 elw
SET ELW.billed_flag = rec_cu_lw.billed_flag,
ELW.last_bill_generated = rec_cu_lw.last_bill_generated,
ELW.last_bill_type = rec_cu_lw.last_bill_type,
ELW.load_month = rec_cu_lw.load_month,
ELW.BILL_TRANSACTION_ID = rec_cu_lw.bill_transaction_id
WHERE elw.rowid = rec_cu_lw.load_working_rowid;
END LOOP;
END;
/I am still unsure as to why the MERGE statement is failing when executed in the front end, but completes in the backend with no issues at all. Obviously I would prefer to use the MERGE statement instead of PL/SQL to do the update.
Thanks
Paul -
Reconciliation error: ORA-00903: invalid table name
I am facing this error, below:
SELECT * FROM WHERE ORC_KEY = ? AND UD_RES_P_KEY = ?: java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name
Is it a product issue from OIM 9.1.0.2?
best regards,
RobertNo, it is not a product issue. Please go to the process definition tab related and
set all Multivalued attribute as a key field in Reconciliation mapping in Process definition.
Let me know the result, please.
hope this helps,
Thiago L Guimaraes -
Error ORA-00903 Nome da tabela inválido ( Or in English,Invalid table name)
Hi people ! Please help me !
I´m using ODI 10.1.3.4.0 Design and in window MODELS and when I generate service, show this error message:
java.sql.SLException: ORA-00903: Nome da tabela inválido ( Invalid table name)
com.sunopsis.tools.core.exception.SnpsRuntimeException: java.sql.SQLException: ORA-00903: nome de tabela inválido
at com.sunopsis.dwg.dataservices.AbstractWSGenerator.k(AbstractWSGenerator.java)
at com.sunopsis.dwg.dataservices.AbstractWSGenerator.a(AbstractWSGenerator.java)
at com.sunopsis.dwg.dataservices.WSGenerationTask.a(WSGenerationTask.java)
at com.sunopsis.graphical.i.c.b(c.java)
at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: ORA-00903: nome de tabela inválido
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:431)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965)
at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:463)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1184)
at com.sunopsis.dwg.snpreference.c.a(c.java)
at com.sunopsis.dwg.snpreference.c.<init>(c.java)
at com.sunopsis.dwg.codeinterpretor.g.a(g.java)
... 10 more
Caused by:
java.sql.SQLException: ORA-00903: nome de tabela inválido
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:431)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965)
at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:463)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1184)
at com.sunopsis.dwg.snpreference.c.a(c.java)
at com.sunopsis.dwg.snpreference.c.<init>(c.java)
at com.sunopsis.dwg.codeinterpretor.g.a(g.java)
at com.sunopsis.dwg.dataservices.AbstractWSGenerator.k(AbstractWSGenerator.java)
at com.sunopsis.dwg.dataservices.AbstractWSGenerator.a(AbstractWSGenerator.java)
at com.sunopsis.dwg.dataservices.WSGenerationTask.a(WSGenerationTask.java)
at com.sunopsis.graphical.i.c.b(c.java)
at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Where can i do to fix this ?
Help me please ! ;-) I´m waiting for your messages !
Thanks !Hi Cezar,
I´m using AXIS2 technology and about KM´s i received a documentation of PTS team "Exercises for Lesson 13 Web Services", this is a course doc. But this isn´t said other required KM (CKM) necessary to my implementation, only SKM Oracle. Ok, when i generate this service, now show this message:
Erro durante a geração do Serviço de dados
com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Você deve definir uma fonte de dados para o modelo.
Pelo seu nome você deve ser brasileiro, podemos discutir em portugues mesmo? Facilitaria bastante as coisas. :-)
Regards ou abraço ! -
Dynamic Select query is failing with error "Invalid Table Name"
OPEN rc FOR 'SELECT count(*) from :s' USING tab_name;
fetch rc into rec_count;
CLOSE rc;
my requirement is to build dynamic select query to retrieve the total count of rows in each table ( variable tab_name contains the table_name )
But I am getting stuck by this errror, not sure if there is any alternative !
ORA-00903: invalid table name
ORA-06512: at line 43OPEN rc FOR 'SELECT count(*) from '||tab_name;
fetch rc into rec_count;
CLOSE rc;
-- This will work
1. Create a sql statement.
2. Open ref cursor for that statement. -
After run (or test) of procedure
create or replace procedure tmp_select_dymanic
( AInTable IN VARCHAR2,
ACount OUT NUMBER
) as
begin
EXECUTE IMMEDIATE 'BEGIN SELECT count(*) INTO :Count FROM :InTable END;'
USING ACount, AInTable;
end tmp_select_dymanic;
error message: invalid table name.
I know the table exists and contains data. I can make SELECT in SQL (not dynamic).
What a reason for error? May be privileges in database? But i make SELECT on my own table?
How can i set dynamic table name in other way?
My Oracle Version 10g.What you are asking can be done by REF_CURSOR;
look this example and try your self the rest:
CREATE OR REPLACE PROCEDURE insert_to_table_dinamic (
table1 IN VARCHAR2,
table2 IN VARCHAR2
AS
rc sys_refcursor;
v_sql VARCHAR2 (2000);
v_deptno NUMBER;
BEGIN
v_sql :=
'SELECT DEPTNO FROM '
|| table1
|| ' WHERE ROWNUM = 1 AND DEPTNO IS NOT NULL';
OPEN rc FOR v_sql;
LOOP
FETCH rc
INTO v_deptno;
EXIT WHEN rc%NOTFOUND;
v_sql :=
'UPDATE '
|| table2
|| ' SET DEPTNO = '
|| v_deptno
|| ' WHERE DEPTNO IS NULL';
EXECUTE IMMEDIATE v_sql;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);
END insert_to_table_dinamic;when i give DEPT , EMP as my 2 parameters above code will set the deptno in EMP table where deptno is null;
--Just a test proc. -
"ORA-00903: invalid table name" when enqueue using a CLOB in an ADT payload
I am attempting to enqueue into an AQ that has an ADT with a CLOB field in it. If I leave the CLOB empty, it works. As soon as I place content in it, I get the error below in the BPEL log.
I actually get the same problem when I run the "AQ_ADT_with_CLOB_Payload" example. Please help!
Error in the BPEL log:
<2005-11-08 09:22:07,784> <ERROR> <default.collaxa.cube.ws> <AQ Adapter::Outbound> MessageWriter_enqueue: Could not enqueue message due to database error
<2005-11-08 09:22:07,784> <ERROR> <default.collaxa.cube.ws> <AQ Adapter::Outbound>
java.sql.SQLException: ORA-00903: invalid table name
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:625)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:661)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:951)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:693)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1057)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2901)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2942)
at oracle.tip.adapter.aq.database.MessageWriter.doEnqueue(MessageWriter.java:530)
at oracle.tip.adapter.aq.database.MessageWriter.enqueue(MessageWriter.java:341)
at oracle.tip.adapter.aq.database.MessageWriter.writeMessage(MessageWriter.java:303)
at oracle.tip.adapter.aq.outbound.AQEnqueuer.execute(AQEnqueuer.java:108)
at oracle.tip.adapter.aq.AQInteraction.executeRunTime(AQInteraction.java:194)
at oracle.tip.adapter.aq.AQInteraction.execute(AQInteraction.java:180)
at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:469)
at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:652)
at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:441)
at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:310)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:184)
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:316)
at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:185)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3398)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1905)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:100)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:185)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5410)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1300)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:509)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:307)
at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:76)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:748)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:921)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)OK, I figured it out myself. :)
Turns out when I define the queue name in the AQ Adapter definition, I was specifying "<Default Schema>" as the schema name. When I changed this to my actual schema name (eg: "SCOTT"), it worked. Nice little bug there!
The reason it broke with the example program is because I was changing the schema name before I deployed it. As I didn't have a SCOTT schema.
So the moral of the story here is, don't use "<Default Schema>"!
I was running on 10.1.2.0.0 [build #1787 ]. In case anyone wants to fix this. -
Oracle Invalid Column Name Error in JSP
I was wondering if anyone could provide some help. I am new to JSP, Beans and Oracle and I am getting a java.sql.SQLException: ORA-00904: invalid column name error when I run the JSP below. The Java Bean's code it is referencing is also included and this bean is just storing information from the server from a previous login page.
Eventually I need to display more columns from the database using this JSP, but since I can even get this one working, I am at a loss!
PLEASE HELP!!!!
I have even tried to replace the beans reference in the sql with just a login and password I know exists in the database! Same error... Help!
I am running Tomcat and Oracle 9i!
<!--
Assign-->
<html>
<head>
<title>Student Signon on page</title>
</head>
<body bgcolor="#FDF5E6">
<h1 align="center">>Student Signon on page</h1>
<%@ page import="java.sql.*" %>
<%@ page import="BeanAs2.Bean5b" %>
<%
String driverClassString = "oracle.jdbc.driver.OracleDriver";
String driverConnectString;
driverConnectString = "jdbc:oracle:thin:@midas2:1521:globaldb";
String user = "system";
String passwd = "manager";
%>
<jsp:useBean id="Bean5b" class="BeanAs2.Bean5b" />
<jsp getProperty id = "Bean5b" property = "login" />
<jsp getProperty id = "Bean5b" property = "pswd" />
<%
Connection connection = null;
try {
Class.forName(driverClassString);
connection = DriverManager.getConnection(driverConnectString, user, passwd);
catch (Exception e) {
out.println("Cannot close connect to database!"+e);
if (connection != null) {
String login =Bean5b.getpassword();
String pswd =Bean5b.getStudentlogin();
String sql = "SELECT studentinfo.familyname FROM STUDENTINFO WHERE studentinfo.username='login' AND studentinfo.password='pswd';";
try { // execute the query
//SELECT studentinfo.familyname FROM STUDENTINFO WHERE studentinfo.username='s40079703' AND studentinfo.password='p4007swd'
Statement stmt = connection.createStatement();
ResultSet rst;
rst = stmt.executeQuery(sql);
// Fetch the query result, and dispaly them in a table
while (rst.next()) {
%>
<tr>
<td> <%= rst.getString("system.teaching.code") %> </td>
</tr>
<%
stmt.close();
connection.close();
} catch(Exception e) {
out.println("Cannot fetch data from database!"+e);
%>
</body></html>
package BeanAs2;
import java.util.*;
public class Bean5b {
// all variables must not be public in a bean
private String Studentlogin;
private String password;
public String getStudentlogin() {
return this.Studentlogin;
public String getpassword() {
return this.password;
public void setStudentlogin(String login) {
this.Studentlogin = login;
public void setpassword(String pswd) {
this.password = pswd;Hi
Thanks for your reply, I should of looked at my code before I copied over. The field should of been "studentinfo.familyname" which I was calling, I have just been changing so much code in this to try and see what the problem is, I didnt fix this before I copied this over.... trust me, I have tried everything........ Hence when I correctly called the "concatination the login name and password to the query properly" as you pointed out, I got rid of the error, BUT now it returning NO DATA????? (the table is populated - I have checked this!!!!)
The table I am trying to get information from sits under a schema called system. It has the following columns;
STUDENTID NUMBER 8
FAMILYNAME VARHCAR 60
GIVENNAME VARCHAR 60
USERNAME VARCHAR 9
PASSWORD VHARCHAR 60
The database is called globaldb. My computer is called Midas2
Whats more, the query works in Oracle sql*plus!!! Returning the relevent data!!!
Actually here is the code for the JSP, with all the changes and none of the mistakes of my previous post...........,
Pleaes help!!!
<html>
<head>
<title>Student Signon on page</title>
</head>
<body bgcolor="#FDF5E6">
<h1 align="center">>Student Signon on page</h1>
<%@ page import="java.sql.*" %>
<%@ page import="BeanAs2.Bean5b" %>
<%
String driverClassString = "oracle.jdbc.driver.OracleDriver";
String driverConnectString;
driverConnectString = "jdbc:oracle:thin:@midas2:1521:globaldb";
String user = "system";
String passwd = "manager";
%>
<jsp:useBean id="Bean5b" class="BeanAs2.Bean5b" />
<jsp getProperty id = "Bean5b" property = "login" />
<jsp getProperty id = "Bean5b" property = "pswd" />
<%
Connection connection = null;
try {
Class.forName(driverClassString);
connection = DriverManager.getConnection(driverConnectString, user, passwd);
catch (Exception e) {
out.println("Cannot close connect to database!"+e);
if (connection != null) {
String login =Bean5b.getpassword();
String pswd =Bean5b.getStudentlogin();
String sqlQuery;
sqlQuery = ("SELECT studentinfo.familyname FROM STUDENTINFO WHERE studentinfo.username='" + login + "' AND studentinfo.password='" + pswd + "'"); %>
<% try { // execute the query
Statement stmt = connection.createStatement();
ResultSet rst;
rst = stmt.executeQuery(sqlQuery);
// Fetch the query result, and dispaly them in a table
while (rst.next()) {
%>
<tr>
<td> <%= rst.getString("studentinfo.familyname") %> </td>
</tr>
<%
stmt.close();
connection.close();
} catch(Exception e) {
out.println("Cannot fetch data from database!"+e);
%>
</body></html>
Maybe you are looking for
-
How to create a game. Basic steps.
So, just browsing through these forums, I see many posts by prospective game designers wanting to get started. But many of these questions are so ill-researched or off basis that most people don't even know how to respond. So here's a quickie guide o
-
If any one have trial balance report for FI pls send me..
-
Pics are not visible in received mail
This has been happening a lot. Someone will send me an email with a picture or multiple pictures in it, and instead of the pictures I get little blue boxes with question marks in them. When I right click on the box, there is a single option "download
-
FRM-41213 message will come up the first time
When users run reports in Oracle Forms from time to time, particularly after the report server engine (InitEng=1, minEng=1, maxEng=2) has been idle for a while, the FRM-41213 message will come up the first time. Then, the second time (or after that)
-
Examples with Nokia PC Connectivity SDK 3.0 not wo...
Windows XP SP2 PC Suite 6.70.22 Connection Method = cable Mobile Phone = 6100 Error Message: Run-time error '-2147467259(800004005)': Automation error Unspecified error I'm currently looking at the example code that comes with PC Connectivity SDK 3.0