"Invalid column name" inserting a row with weblogic/oracle
From: bsaastad (member45644_at_dbforums.com)
Date: 10/25/03
- Previous message: Christophe Vanfleteren: "Re: Upload excel file using JSP and update the data into Oracle 9i database"
- Next in thread: Joe Weinstein: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Reply: Joe Weinstein: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Reply: bsaastad: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Reply: bsaastad: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 24 Oct 2003 23:10:48 GMT
Hello,
Environment
Weblogic 8.1, Oracle 9.0.1, JDK1.4
I am attempting to migrate from WLS 6.1 to WLS 8.1. All appears to work
with the exception of database inserts. They ALWAYS fail and return an
"ORA-00904: invalid column name". I am connecting to the database via a
pooled data source. This code worked fine under WLS6.1 using the
Weblogic JDriver. The JDriver performs the inserts under 8.1 but the
Statement.executeBatch() command returns a 0-length int[] (an
acknowledged bug in the JDriver.) BEA says to use the drivers supplied
by Oracle. I have tried both the type 4 driver and the type 2 oci
driver with exactly the same result.
I can query the database via the connection and dump the contents of the
queried row along with the column names using the ResultMetaData.
ex.
ResultSet rs = stmt.executeQuery( sqlCmd );
ResultSetMetaData rsmd = rs.getMetaData();
System.out.println( "Results of '" + sqlCmd + "'");
while ( rs.next() )
{
for( int i = 1; i <= rsmd.getColumnCount(); i++)
{
System.out.println( "'" + rsmd.getColumnName(i) +
"=" + rs.getString( i ) + "' " );
}
}
.. produces:
Results of 'SELECT POOL_ID, POOL_NM, POOL_DESC, REV_BY, REV_DT FROM
POOL_R WHERE POOL_ID = 11'
'POOL_ID=11'
'POOL_NM=COMM'
'POOL_DESC=Communications Servers'
'REV_BY=saastabp'
'REV_DT=2002-12-16'
Then when I turn around and try to insert a row like this:
String sqlCmd = "INSERT INTO POOL_R (POOL_ID, POOL_NM, POOL_DESC,
REV_BY, REV_DT) VALUES (100, 'FRED', 'TEST POOL NAME FOR FRED', 'test-
user', {ts '2003-10-24 16:00:26.703'})";
System.out.println( "[" + sqlCmd + "]");
stmt.executeUpdate( sqlCmd);
.. I get the exception below. Has anyone seen this before? Any ideas?
Thanks,
-Brian
[INSERT INTO POOL_R (POOL_ID, POOL_NM, POOL_DESC, REV_BY, REV_DT) VALUES
(100, 'FRED', 'TEST POOL NAME FOR FRED', 'test-user', {ts '2003-10-24
16:00:26.703'})]
java.sql.SQLException: ORA-00904: invalid column name
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutbound-
Request.java:108)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef-
.java:138)
at weblogic.jdbc.rmi.internal.StatementImpl_weblogic_jdbc_wrapp-
er_Statement_oracle_jdbc_driver_OracleStatement_811_WLStub.exec-
uteUpdate(Unknown Source)
at weblogic.jdbc.rmi.internal.StatementStub_weblogic_jdbc_rm-
i_internal_StatementImpl_weblogic_jdbc_wrapper_Statement_ora-
cle_jdbc_driver_OracleStatement_811_WLStub.executeUpdate(Unk-
nown Source)
at weblogic.jdbc.rmi.SerialStatement_weblogic_jdbc_rmi_internal-
_StatementStub_weblogic_jdbc_rmi_internal_StatementImpl_weblogi-
c_jdbc_wrapper_Statement_oracle_jdbc_driver_OracleStatement_811-
_WLStub.executeUpdate(Unknown Source)
at com.billing.tm.persist.BatchTest.doInsert(BatchTest.java:93)
at com.billing.tm.persist.BatchTest.main(BatchTest.java:185)
Caused by: java.sql.SQLException: ORA-00904: invalid column name
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError-
.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol-
.java:1094)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleSta-
tement.java:2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStat-
ement.java:2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Orac-
leStatement.java:2877)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleState-
ment.java:858)
at weblogic.jdbc.wrapper.Statement.executeUpdate(Statement-
.java:328)
at weblogic.jdbc.rmi.internal.StatementImpl_weblogic_jdbc_wrapp-
er_Statement_oracle_jdbc_driver_OracleStatement.executeUpdate(U-
nknown Source)
at weblogic.jdbc.rmi.internal.StatementImpl_weblogic_jdbc_wrapp-
er_Statement_oracle_jdbc_driver_OracleStatement_WLSkel.invoke(U-
nknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef-
.java:466)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef-
.java:409)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Aut-
henticatedSubject.java:353)
at weblogic.security.service.SecurityManager.runAs(SecurityMana-
ger.java:144)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServ-
erRef.java:404)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecu-
teRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
-- Posted via http://dbforums.com
- Previous message: Christophe Vanfleteren: "Re: Upload excel file using JSP and update the data into Oracle 9i database"
- Next in thread: Joe Weinstein: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Reply: Joe Weinstein: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Reply: bsaastad: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Reply: bsaastad: "Re: "Invalid column name" inserting a row with weblogic/oracle"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|