Java.sql.SQLException: Expected to find "an identifier" instead found "?
I am having trouble getting my prepared statements to work.
I have a DAO and a test class to call it.
SQLException caught!
java.sql.SQLException: Expected to find "an identifier" instead found "?" at pos
ition 21.
at com.pointbase.net.netJDBCPrimitives.handleResponse(Unknown Source)
at com.pointbase.net.netJDBCPrimitives.handleJDBCObjectResponse(Unknown
Source)
at com.pointbase.net.netJDBCConnection.prepareStatement(Unknown Source)
at contactDAO.setContact(contactDAO.java:81)
at daoTest.main(daoTest.java:14)
Press any key to continue . . .
import java.sql.*;
public class contactDAO {
private static String SELECTQUERY = "select * from contact";
private String SELECTNAME = "SELECT * FROM CONTACT WHERE NAME = ?";
private String INSERTNAME = "INSERT INTO CONTACT (?, ?, ?, ?, ?,?)";
private static String DBCONNECTION = "jdbc:pointbase:server://localhost:9092/contacts";
private static String USERNAME = "CONTACT";
private static String PASSWORD = "CONTACT";
public contactDAO () {
try {
Class.forName ( "com.pointbase.jdbc.jdbcUniversalDriver" );
} catch (Exception e) {
System.out.println("ERROR: failed to load pointbase JDBC driver.");
e.printStackTrace();
return;
public static void main(String[] args) {
try {
Class.forName ( "com.pointbase.jdbc.jdbcUniversalDriver" );
} catch (Exception e) {
System.out.println("ERROR: failed to load pointbase JDBC driver.");
e.printStackTrace();
return;
try {
Connection c = DriverManager.getConnection(DBCONNECTION,USERNAME,PASSWORD);
Statement query = c.createStatement();
ResultSet result = query.executeQuery(SELECTQUERY);
System.out.println("------- Content of the Contact Table: ------------\n");
while(result.next()) {
System.out.println("\t" + result.getString("NAME") +
"\t" + result.getString("STREET") +
"\t" + result.getString("CITY"));
catch(SQLException e) {
System.err.println("SQLException caught!");
e.printStackTrace();
public ResultSet getContact (String name) {
ResultSet rs = null;
try {
Connection c = DriverManager.getConnection(DBCONNECTION,USERNAME,PASSWORD);
PreparedStatement ps = c.prepareStatement(SELECTNAME);
ps.setString(1,name);
rs = ps.executeQuery();
} catch(SQLException e) {
System.err.println("SQLException caught!");
e.printStackTrace();
return rs;
public int setContact (String name, String street, String city, String state, int zipcode, String phone) {
int rowcount = 0;
try {
Connection c = DriverManager.getConnection(DBCONNECTION,USERNAME,PASSWORD);
PreparedStatement ps = c.prepareStatement(INSERTNAME);
ps.setString(1,name); //,2,street,3,city,4,state,6,phone);
ps.setInt(5,zipcode);
rowcount = ps.executeUpdate();
} catch(SQLException e) {
System.err.println("SQLException caught!");
e.printStackTrace();
return rowcount;
}and now the test script...
import java.sql.*;
public class daoTest {
public static void main(String[] args) {
int rowcount = 0;
ResultSet rs = null;
try {
contactDAO cd = new contactDAO();
cd.setContact("RALPH","123 My Street","Reston","Virginia",20194,"(666)666-6666");
cd.getContact("RALPH");
/* while(rs.next()) {
System.out.println("\t" + rs.getString("NAME") +
"\t" + rs.getString("STREET") +
"\t" + rs.getString("CITY"));
} catch (Exception e) {
System.out.println("ERROR: failed to load pointbase JDBC driver.");
e.printStackTrace();
return;
}
Some of the things that I note that are wrong with the above code.
- It isn't a DAO because it is encapsulating the data as well has the functionality.
- It is trying to return a result set outside of the scope of the statement.
- Resources are not being closed.
- Bind variables are not being set.
Similar Messages
-
Hi everyone,
we are facing the below issue when trying to schedule a BI report.
Error Details:
+oracle.apps.xdo.servlet.scheduler.ProcessingException: Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.0.0) (Build 080319)): oracle.toplink.exceptions.DatabaseException+
Internal Exception: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier
Error Code: 904
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT 50 WHERE SEQ_NAME = 'JOB_ID_SEQ'+
Query: DataModifyQuery()
+ at oracle.apps.xdo.servlet.scheduler.toplink.ToplinkDataHandler.insertJob(ToplinkDataHandler.java:830)+
+ at oracle.apps.xdo.servlet.ui.scheduler.SchedulerServlet.scheduleJob(SchedulerServlet.java:1896)+
+ at oracle.apps.xdo.servlet.ui.scheduler.SchedulerServlet.doPost(SchedulerServlet.java:293)+
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)+
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)+
+ at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)+
+ at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:94)+
+ at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)+
+ at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)+
+ at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)+
+ at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)+
+ at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)+
+ at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)+
+ at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)+
+ at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)+
+ at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)+
+ at java.lang.Thread.run(Thread.java:595)+
+Caused by: Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.0.0) (Build 080319)): oracle.toplink.exceptions.DatabaseException+
Internal Exception: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier
Error Code: 904
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT 50 WHERE SEQ_NAME = 'JOB_ID_SEQ'+
Query: DataModifyQuery()
+ at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:296)+
+ at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:724)+
+ at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:790)+
+ at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:524)+
+ at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:467)+
+ at oracle.toplink.internal.sessions.AbstractSession.executeCall(AbstractSession.java:795)+
+ at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)+
+ at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179)+
+ at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:222)+
+ at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:202)+
+ at oracle.toplink.queryframework.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:55)+
+ at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:671)+
+ at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)+
+ at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)+
+ at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)+
+ at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1032)+
+ at oracle.toplink.sequencing.QuerySequence.update(QuerySequence.java:319)+
+ at oracle.toplink.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:258)+
+ at oracle.toplink.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:62)+
+ at oracle.toplink.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:144)+
+ at oracle.toplink.sequencing.Sequence.getGeneratedVector(Sequence.java:256)+
+ at oracle.toplink.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:444)+
+ at oracle.toplink.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:873)+
+ at oracle.toplink.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:75)+
+ at oracle.toplink.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:234)+
+ at oracle.toplink.internal.sessions.UnitOfWorkImpl.assignSequenceNumbers(UnitOfWorkImpl.java:419)+
+ at oracle.toplink.internal.sessions.UnitOfWorkImpl.calculateChanges(UnitOfWorkImpl.java:497)+
+ at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1407)+
+ at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitRootUnitOfWork(UnitOfWorkImpl.java:1167)+
+ at oracle.toplink.internal.sessions.UnitOfWorkImpl.commit(UnitOfWorkImpl.java:939)+
+ at oracle.apps.xdo.servlet.scheduler.toplink.ToplinkDataHandler.insertJob(ToplinkDataHandler.java:815)+
+ ... 16 more+
Caused by: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier
+ at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)+
+ 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_rows(T4CStatement.java:561)+
+ at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)+
+ at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1585)+
+ at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:713)+
+ ... 45 more+
Found a thread related to this but there it was explained that the error was occuring when trying to notify regarding output through email. In our case, issue is occuring just during scheduling itslef.
Also I haved checked the following schedular tables in my database.
SQL> select table_name from all_tables where table_name like 'S_NQ%'
+2 /+
TABLE_NAME
S_NQ_ERR_MSG
S_NQ_INSTANCE
S_NQ_JOB_PARAM
S_NQ_JOB
SQL> select SEQ_NAME.CURRVAL FROM DUAL;
select SEQ_NAME.CURRVAL FROM DUAL
*+
ERROR at line 1:
ORA-02289: sequence does not exist
Please help me out in solving this as I have tried almost all possible solutions.
Thanks,
Sri Harsha.
Edited by: user10545574 on Dec 20, 2009 10:24 PMHello,
In the delivery email configuration server page (under BI Publisher Admin Tab), the username / password to enter is the one defined on the email server itself. It is the user that will be user to send the emails when scedhuling a report.
It may not be Administrator/ Administrator (not a user defined with OBI admin tool) but the username/password defined on the email server itself.
Moreover, to properly configure the BI Publisher Scheduler, it is a prerequistes to create bipsched user on Oracle DB and install the schema tables in Oracle DB (by clicking on Install Schema button after defining database connection under Admin / Scheduler Configuration tab)
From the error your are getting 'SEQ_NAME unknown..., it appears that the tables are not created'.
Hope this helps and good luck
Matthieu -
Hi
I am trying insert rows in Oracle database using JDBC receiver adapter setup in PI 7.1. However this receiver adapter is throwing following exception.
Delivering the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'PRADEEP_OTC_ORDERS' (structure 'statement'): java.sql.SQLException: ORA-00904: "BATCH_ID": invalid identifier .
<?xml version="1.0" encoding="UTF-8" ?>
<ns0:mt_sql_writer xmlns:ns0="http://rdbms_poc">
<statement>
<dbtablename action="INSERT">
<table>PRADEEP_OTC_ORDERS</table>
<access>
<order_id>19126</order_id>
<version>1</version>
<batch_id>132</batch_id>
</access>
</dbtablename>
</statement>
</ns0:mt_sql_writer>
PRADEEP_OTC_ORDERS table has just 3 columns as specified the access segment. However I stil get this ORA-00904 error message.
Any idea on what could be wrong.?
Thanks
-PradeepHi All,
Thanks a lot for responding...
I verified the table structure, table just contains those 3 coulms all varchar type.
I modified the column name as well, But was still getting ORA-00904. Then I went directly to the the database and executed below insert statement,
insert into PRADEEP_OTC_ORDERS (mps_order_id, mps_version,mps_batch_id) Values(1,2,3)
I got exact SQL Error: ORA-00904: "MPS_BATCH_ID": invalid identifier.
So ISAP JDBC adapter is not enclosing the string values in quotes.
SAP documentation says it puts quotes for values and treats everything as string(text).
Anybody has any idea, why JDBC receiver adapter not enclosing the values in quotes?
Thanks
-Pradeep -
My datafiles are in ASM file system, however the only one file ACIPEN_DATA is the one, which is not in ASM file system, and this the file which is in concern.
We are getting the following exception in the lxkratgas1.lex1.lexmark.com when connecting to ACIPEN_DATA.
This exception is coming up sometimes and the sometimes the file is getting processed successfully
Caused by: java.sql.SQLException: ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '/oracle/SE/product/10.2.0/db_1/dbs/ACIPEN_DATA'
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1169)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3368)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:278)
at atg.adapter.gsa.SQLStatement.executeUpdate(SQLStatement.java:725)
at atg.adapter.gsa.Table.insert(Table.java:1378)
at atg.adapter.gsa.GSAItemDescriptor.addItem(GSAItemDescriptor.java:6272)
... 61 more
====================================================================
We have checked the datafile, it is absolutely online.
Can some expert jump in and resolve this issue Please.01157, 00000, "cannot identify/lock data file %s - see DBWR trace file"
// *Cause: The background process was either unable to find one of the data
// files or failed to lock it because the file was already in use.
// The database will prohibit access to this file but other files will
// be unaffected. However the first instance to open the database will
// need to access all online data files. Accompanying error from the
// operating system describes why the file could not be identified.
// *Action: Have operating system make file available to database. Then either
// open the database or do ALTER SYSTEM CHECK DATAFILES.is this a RAC database? -
I am deploying my application components on Oracle RAC database, when i install my app component i will run a script which creates a user and tablespace on bot rac-nodes(node1 and node2)
as database is clustered, the user are created on 2 nodes and tablespace is stored in a shared location for two rac nodes
i am able to successfully run my script on rac-node1 and and installed my component and when i started installing the app component on node2 getting error
java.sql.SQLException: ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: '/db/db/db/ora10g/10.2.0/admin/dbadmin_01.dbf'
ORA-06512: at "ADMIN.XL_SP_DBCHECK", line 48
ORA-06512: at line 1
"dbadmin_01.dbf is the custom tablespace which created by me"
i a mgetting error while installing the app component on rac-node2You should not create database files outside of the ASM.
I'm not sure you can move the datafile, I would export the data from the tablespace (if there is data you need there), delete the tablespace and recreate it in the ASM, then import the data back.
If you want to move the datafile, you can try using RMAN (from node1).
First connect to the database with sqlplus and execute:
alter tablespace <tbs_name> offline;Then start RMAN: rman target /
BACKUP AS COPY DATAFILE '<file>' FORMAT '+<ASM_DG>';Then in sqlplus, execute:
alter tablespace <tbs_name> online;I'm not sure it will work, and I hope I got the commands right because I can't check it right now.
Good luck
Liron Amitzi
Senior DBA consultant
[www.dbsnaps.com]
[www.orbiumsoftware.com] -
Hi friends,
Greetings.
i am trying to work with my inventory management system. My code is as follows and i getan error as follows:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few
parameters. Expected 1.
CODING:
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class iteminsert extends HttpServlet
public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
Connection con;
Statement r,s;
ResultSet rs;
int flag1=0;//flag1 is for seeing if itemcode already exists
String str1,str2;
String s0=req.getParameter("itemcode");
String s1=req.getParameter("itemname");
int s2=Integer.parseInt(req.getParameter("unit"));
int s3=Integer.parseInt(req.getParameter("minlevel"));
int s4=Integer.parseInt(req.getParameter("rate"));
int a=1;
int b=0;
res.setContentType("text/HTML");
PrintWriter out=res.getWriter();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:stocks");
r=con.createStatement();
s=con.createStatement();
rs=r.executeQuery("select * from stock where itemcode='"+s0+"'");
while(rs.next())
flag1++;
if(flag1!=0)
out.println("<body><h1 align=\"center\"><font color=\"green\">INVENTORY MANAGEMENT SYSTEM</font></h1><p>ITEM CODE ALREADY EXISTS!!!!</p><p>To insert an item with a different code, <a href=\"http://localhost:8000/stock/insert.html\">Click here</a> .</p><p>To go back to the main menu <a href=\"http://localhost:8000/stock/index.html\">click here</a></p></body>");
else
str1="insert into stock values('"+s0+"','"+s1+"',"+s2+","+s3+","+s4+","+a+")";
str2="insert into stock values('"+s0+"','"+s1+"',"+s2+","+s3+","+s4+","+b+")";
if(s3<=s4)
s.executeUpdate(str2);
out.println("<body><h1 align=\"center\"><font color=\"green\">INVENTORY MANAGEMENT SYSTEM</font></h1><p>ITEM HAS BEEN INSERTED. HOWEVER REORDER LEVEL IS <b><u>MORE THAN</u></b> QUANTITY AT HAND</p><p>To buy more <a href=\"http://localhost:8000/stock/purchase.html\">Click here</a></p><p>To go back to the main menu <a href=\"http://localhost:8000/stock/index.html\">click here</a></p>");
else
s.executeUpdate(str1);
out.println("<body><h1 align=\"center\"><font color=\"green\">INVENTORY MANAGEMENT SYSTEM</font></h1><p>ITEM HAS BEEN INSERTED.</p><p>To buy more <a href=\"http://localhost:8000/stock/purchase.html\">Click here</a></p><p>To go back to the main menu <a href=\"http://localhost:8000/stock/index.html\">click here</a></p></body>");
con.close();
catch(Exception e)
out.println("error"+ e);
Please help. I have to use only Create statement and not PreparedStatement :(
Thank You.
Regards.
Aravindyour code is wrong on so many levels.
you should not be embedding HTML in Java objects this way. wrong, wrong, wrong.
JSPs are what you should be using.
look at this line:
rs=r.executeQuery("select * from stock where itemcode='"s0"'");the SQL query is supposed to be a bloody string. yours won't even compile.
do it this way:
PreparedStatement ps = connection.prepareStatement("select * from stock where itemcode = ?");
ps.setString(1, itemCode);
rs = ps.executeQuery();you don't close resources. you don't use code tags.
too much wrong to fix here.
% -
Java.sql.SQLException: Statement cancelled, probably by transaction timing
Hi all,
I have a problem with transaction handling over 2 applications. I have 2 EAR files (*A.ear* and B.ear) which are deployed on a WLS 12.1. The WLS contains a XA datasource which is connected to a Oracle XE database. Both applications are using the same datasource. The datasource is configured to use the driver oracle.jdbc.xa.client.OracleXADataSource.
EAR A contains a Remote EJB which is is calling a local EJB. The local EJB calls a Remote EJB from EAR B.
Here is an example how the code looks like:
@Remote
@Stateless(mappedName = "AnyRemote", name = "AnyRemote")
public class AnyRemoteBean implements AnyRemote {
@EJB
private AnyLocal anyLocal;
@Override
public void doIt() {
anyLocal.doSomething();
@Local
@Stateless(mappedName = "AnyLocal", name = "AnyLocal")
public class AnyLocalBean implements AnyLocal {
@PersistenceContext(unitName = "A")
private EntityManager entityManager;
@EJB(mappedName = "AnyCompositeService")
private AnyCompositeService anyCompositeService;
@Override
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public boolean doSomething() {
try {
// do some stuff and save to database within another local EJB
anyCompositeService.doSomethingOnEAR_B();
return true;
} catch (final AnyException e) {
LOGGER.error("doSomething failed", e);
return false;
@Override
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public boolean stayOnEar_A() {
// do some stuff and save to database within another local EJB
return true;
}AnyCompositeService located in EAR B looks like this:
@Remote
@Stateless(mappedName = "AnyCompositeService ", name = "AnyCompositeService ")
public class AnyCompositeServiceBean implements AnyCompositeService {
@Override
public boolean doSomethingOnEAR_B() throws AnyException {
// do some calls to some local EJBs and some other remote EJBs and save something to database
return true;
}In this process of EAR B I'm using the entitiy manager:
@PersistenceContext(unitName = "B")
private EntityManager entityManager;persistence.xml for EAR A looks like this
<persistence-unit name="A" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>MyDatasource</jta-data-source>
<!-- some entities -->
<properties>
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.connection.characterEncoding" value="UTF-8" />
<property name="hibernate.connection.charSet" value="UTF-8" />
<property name="hibernate.connection.useUnicode" value="true" />
<property name="hibernate.default_batch_fetch_size" value="20" />
</properties>
</persistence-unit>
</persistence>persistence.xml for EAR B looks like this
<persistence-unit name="B" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>MyDatasource</jta-data-source>
<!-- some entities -->
<properties>
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.connection.characterEncoding" value="UTF-8" />
<property name="hibernate.connection.charSet" value="UTF-8" />
<property name="hibernate.connection.useUnicode" value="true" />
<property name="hibernate.default_batch_fetch_size" value="20" />
</properties>
</persistence-unit>
</persistence>As you can see the method doSomething() defines the transaction attribute TransactionAttributeType.REQUIRES_NEW.
When I execute AnyRemote.doIt() I get the following exception:
Caused By: java.sql.SQLException: Statement cancelled, probably by transaction timing out
at weblogic.jdbc.wrapper.Statement.postInvocationHandler(Statement.java:69)
at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.clearBatch(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
at $Proxy452.clearBatch(Unknown Source)
at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.releaseStatements(AbstractBatchImpl.java:163)
at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.release(AbstractBatchImpl.java:197)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:139)
at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.close(TransactionCoordinatorImpl.java:276)
at org.hibernate.internal.SessionImpl.close(SessionImpl.java:349)
at org.hibernate.ejb.EntityManagerImpl.close(EntityManagerImpl.java:137)
at weblogic.persistence.TransactionalEntityManagerProxyImpl.close(TransactionalEntityManagerProxyImpl.java:117)
at weblogic.persistence.BasePersistenceContextProxyImpl$PersistenceContextCloser.afterCompletion(BasePersistenceContextProxyImpl.java:213)
at weblogic.transaction.internal.ServerSCInfo.doAfterCompletion(ServerSCInfo.java:1068)
at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:1012)
at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:3074)
at weblogic.transaction.internal.ServerTransactionImpl.afterRolledBackStateHousekeeping(ServerTransactionImpl.java:2954)
at weblogic.transaction.internal.ServerTransactionImpl.setRolledBack(ServerTransactionImpl.java:2930)
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryRollback(ServerTransactionImpl.java:3172)
at weblogic.transaction.internal.ServerTransactionImpl.globalRollback(ServerTransactionImpl.java:2920)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:374)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:268)
at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:332)
at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:202)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:44)As long as the process only calls EJBs from EAR A only there is no issue. But if the process calls the method doSomethingOnEAR_B() on EAR B the call fails with above exception. If the process throws AnyException the rollback takes place as expected for transaction in EAR B and EAR A.
Does anybody know what is the issue here? Is there any configuration I have overseen?That is a WLS internal message. The statement did get cancelled,
probably as a part of the process of rolling back the transaction it
was involved in. If you don't find your core problem, open an
Oracle support SR, and we could help debug this further. -
Java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
Hi all,
I am writing a servlet that connects to Oracle 8.0.6 through jdbc for jdk1.2 on NT 4.0
English version and it works fine.
But when the servlet is deployed to a solaris with Oracle 8.0.5 (not a typo, the oracle on
NT is 8.0.6 and oracle on solaris is 8.0.5) and jdbc for jdk1.2 (of course, for Solaris),
the servlet failed with the Exception:
java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
(I am using JRun 3.0 as the application and web server for both NT and Solaris)
(The database in both the NT and solaris platform are using UTF8 charset)
My servlet looks like this: (dbConn is a Connection object proved to be connected to Oracle
in previous segment of the same method):
String strSQL = "SELECT * FROM test";
try { Statement stmt = dbConn.createStatement();
ResultSet rs = stmt.execute(strSQL);
while (rs.next()) {
out.println("id = " + rs.getInt("id"));
System.out.println("id written");
out.println("name = " + rs.getString("name")); // <-- this is the line the
exception is thrown
System.out.println("name written");
} catch (java.sql.SQLException e) {
System.out.println("SQL Exception");
System.out.println(e);
The definition of the "test" table is:
create table test(
id number(10,0),
name varchar2(30));
There are about 10 rows exists in the table "test", in which all rows contains ONLY chinese
characters in the "name" field.
And when I view the System log, the string "id written" is shown EXACTLY ONCE and then there
is:
SQL Exception
java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
That means the resultset is fetch back from the database correctly. The problem arise only
during the getString("name") method.
Again, this problem only happens when the servlet is run on the solaris platform.
At first I would expect there are some strange code shown on the web page rather than having
an exception. I know that I should use getBytes to convert between different encodings, but
that's another story.
One more piece of information: When all the rows contains ascii characters in their "name"
field, the servlet works perfectly even in solaris.
If anyone knows why and how to tackle the problem please let me know. You can feel free to
send email to me at [email protected]
Many thanks,
Ben
nullHi all,
For the problem I previously posted, I found that Oracle had had such bug filed before in Oracle 7.3.2 (something like that) and is classified to be NOT A BUG.
A further research leads me to the document of Oracle that the error message:
"java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv"
is a JDBC driver error message of error number ORA-17037.
I'm still wondering why this behaviour will happen only in Solaris platform. The servlet on an NT machine I am using (which has an Oracle 8.0.6 and jdbc for jdk 1.2 running) is working just fine. I also suspect that this may be some sort of mistakes from jdbc driver.
Nevertheless, I have found a way to work around the problem that I cannot get non-English string from Oracle in Solaris and I would like to share it with you all here.
Before I go on, I found that there are many people out there on the web that encounter the same problem. (Some of which said s/he has been working on this problem for a month). As a result, if you find this way of working around the problem does help you, please tell those who have the same problem but don't know how to tackle. Thanks very much.
Here's the way I work it out. It's kinda simple, but it does work:
Instead of using:
String abc = rs.getString("SomeColumnContainsNonEnglishCharacters");
I used this:
String abc = new String(rs.getBytes("SomeColumnContainsNonEnglishCharacters"));
This will give you a string WITH YOUR DEFAULT CHARSET (or ENCODING) from your system.
If you want to convert the string read to some other encoding type, say Big5, you can do it like this:
String abc = new String(rs.getBytes("SomeColumneContainsNonEnglishCharacters"), "BIG5");
Again, it's simple, but it works.
Finally, if anyone knows why the fail to convert problem happens, please kindly let me know by leaving a word in [email protected]
Again, thanks to those of you who had tried to help me out.
Creambun
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by creambun creambun ([email protected]):
Hi all,
I am writing a servlet that connects to Oracle 8.0.6 through jdbc for jdk1.2 on NT 4.0
English version and it works fine.
But when the servlet is deployed to a solaris with Oracle 8.0.5 (not a typo, the oracle on
NT is 8.0.6 and oracle on solaris is 8.0.5) and jdbc for jdk1.2 (of course, for Solaris),
the servlet failed with the Exception:
java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
(I am using JRun 3.0 as the application and web server for both NT and Solaris)
(The database in both the NT and solaris platform are using UTF8 charset)
My servlet looks like this: (dbConn is a Connection object proved to be connected to Oracle
in previous segment of the same method):
String strSQL = "SELECT * FROM test";
try { Statement stmt = dbConn.createStatement();
ResultSet rs = stmt.execute(strSQL);
while (rs.next()) {
out.println("id = " + rs.getInt("id"));
System.out.println("id written");
out.println("name = " + rs.getString("name")); // <-- this is the line the
exception is thrown
System.out.println("name written");
} catch (java.sql.SQLException e) {
System.out.println("SQL Exception");
System.out.println(e);
The definition of the "test" table is:
create table test(
id number(10,0),
name varchar2(30));
There are about 10 rows exists in the table "test", in which all rows contains ONLY chinese
characters in the "name" field.
And when I view the System log, the string "id written" is shown EXACTLY ONCE and then there
is:
SQL Exception
java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
That means the resultset is fetch back from the database correctly. The problem arise only
during the getString("name") method.
Again, this problem only happens when the servlet is run on the solaris platform.
At first I would expect there are some strange code shown on the web page rather than having
an exception. I know that I should use getBytes to convert between different encodings, but
that's another story.
One more piece of information: When all the rows contains ascii characters in their "name"
field, the servlet works perfectly even in solaris.
If anyone knows why and how to tackle the problem please let me know. You can feel free to
send email to me at [email protected]
Many thanks,
Ben<HR></BLOCKQUOTE>
null -
3010 : 07001 : java.sql.SQLException: [Microsoft][ODBC Excel Driver] Too few parameters. Expected 4.
java.sql.SQLException: [Microsoft][ODBC Excel Driver] Too few parameters. Expected 4.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(Unknown Source)
at com.sunopsis.sql.SnpsQuery.executeQuery(SnpsQuery.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.h.y(h.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)
ANY solutions?thanks to the friends in another forum..i could identify the reason..
http://www.thatsjava.com/jdbc/77269/
regards
B -
All, well after spending a day finding a number of bugs in 5.6.3 (and some fixes thankyou) I have found which I think is another problem. Firstly there is virtually no documentation on XDOREPDB (Tim please point me in the right direction if there is).
I need a 2 step burst to be performed on a Statement (which you have to do). At first I thought the error was related to metalink note: 399349.1 in which the parameters have changed. However could someone look at the following error. I have debuged the OPP and cannot see the problem.
-----------------------------------------------CONC REQ LOG
Oracle XML Publisher 5.6.3
Updating request description
Waiting for XML request
Retrieving XML request information
Preparing parameters
Process template
--XDOException
java.sql.SQLException: No corresponding LOB data found :SELECT L.FILE_DATA FILE_DATA,DBMS_LOB.GETLENGTH(L.FILE_DATA) FILE_LENGTH, L.LANGUAGE LANGUAGE, L.TERRITORY TERRITORY, B.DEFAULT_LANGUAGE DEFAULT_LANGUAGE, B.DEFAULT_TERRITORY DEFAULT_TERRITORY,B.TEMPLATE_TYPE_CODE TEMPLATE_TYPE_CODE, B.USE_ALIAS_TABLE USE_ALIAS_TABLE, B.START_DATE START_DATE, B.END_DATE END_DATE, B.TEMPLATE_STATUS TEMPLATE_STATUS, B.USE_ALIAS_TABLE USE_ALIAS_TABLE, B.DS_APP_SHORT_NAME DS_APP_SHORT_NAME, B.DATA_SOURCE_CODE DATA_SOURCE_CODE, L.LOB_TYPE LOB_TYPE FROM XDO_LOBS L, XDO_TEMPLATES_B B WHERE L.APPLICATION_SHORT_NAME= :1 AND L.LOB_CODE = :2 AND L.APPLICATION_SHORT_NAME = B.APPLICATION_SHORT_NAME AND L.LOB_CODE = B.TEMPLATE_CODE AND (L.LOB_TYPE = 'TEMPLATE' OR L.LOB_TYPE = 'MLS_TEMPLATE') AND ( (L.LANGUAGE = :3 AND L.TERRITORY = :4) OR (L.LANGUAGE= B.DEFAULT_LANGUAGE AND L.TERRITORY= B.DEFAULT_TERRITORY ))
at oracle.apps.xdo.oa.schema.server.TemplateInputStream.initStream(TemplateInputStream.java:402)
at oracle.apps.xdo.oa.schema.server.TemplateInputStream.<init>(TemplateInputStream.java:235)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.getTemplateFile(TemplateHelper.java:1159)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3430)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3527)
at oracle.apps.xdo.oa.cp.JCP4XMLPublisher.runProgram(JCP4XMLPublisher.java:683)
at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
--------------------------------- OPP LOG
[5/18/07 3:30:36 PM] [670511:RT12874813] Completed post-processing actions for request 12874813.
[5/18/07 3:36:57 PM] [OPPServiceThread0] Post-processing request 12874822.
[5/18/07 3:36:57 PM] [670511:RT12874822] Executing post-processing actions for request 12874822.
[5/18/07 3:36:57 PM] [670511:RT12874822] Starting XML Publisher post-processing action.
[5/18/07 3:36:57 PM] [670511:RT12874822]
Template code: XXWEL_UNI_STATEMENT
Template app: WEL
Language: en
Territory: 00
Output type: PDF
[5/18/07 3:36:57 PM] [UNEXPECTED] [670511:RT12874822] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:517)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1657)
at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:967)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5888)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3438)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3527)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:247)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:153)
Caused by: oracle.xdo.parser.v2.XMLParseException: Start of root element expected.
at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:324)
at oracle.xdo.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:319)
at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:281)
at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:266)
... 17 more
Now of course I have run the SQL statement in error and the Template exists: My parameters to the job are as such:
RequestID 12855869
Template XXWEL_UNI_STATEMENT
Report Application ID : WEL
template locale: en
Debug Flag: N
Template Type: RTF
Output Format: PDF
As you can see in the Java trace, the parameters are being picked up successfully. Any clues??java.sql.SQLException: No corresponding LOB data found Please see these docs.
Why Does the 'Concurrent Program Details Report - XML Publisher' Fail with 'No corresponding LOB data found'? [ID 367456.1]
Attempt To Publish FSG Report In One Step After XML Publisher 5.6 Upgrade Fails With No corresponding LOB data found [ID 398905.1]
XML Report Preview : Java.Sql.Sqlexception: No Corresponding Lob Data Found [ID 418374.1]
XML Publisher Report Issues [ID 862644.1]
Thanks,
Hussein -
Java.sql.SQLException: ORA-06502: PL/SQL in EBS R12
Hi everyone,
May you please help me diagnose the problem.
Oracle EBS 12.0.0.6, DB(10.2.0.3) on one machine and App(forms, concurrent manager, etc) on other machine, both AIX 5.3.
I have following failed concurrent request:
*====================================================*
Payables: Version : 12.0.0
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
APPPBR module: AP Prepayment Balance Report
Current system time is 12-MAY-2010 15:33:36
XDO Data Engine Version No: 5.6.3
Resp: 50661
Org ID : 81
Request ID: 449826
All Parameters: ORG_ID_PARAM=81:COA_ID_PARAM=50328:FROM_DATE_PARAM="2010/05/12 00:00:00":TO_DATE_PARAM=:PERIOD_FROM_PARAM=JUL-09:PERIOD_TO_PARAM=MAY-
10:CURR_CODE_PARAM=:ACCOUNT_FROM_PARAM=:ACCOUNT_TO_PARAM=:SUPPLIER_FROM_PARAM=Adel Bin Abdullah Bin Taha Al
Hadad:SUPPLIER_TO_PARAM=:PAID_ONLY_PARAM=:POSTED_ONLY_PARAM=:DUMMY_PARAM=2
Data Template Code: APPPBR
Data Template Application Short Name: SQLAP
Debug Flag: N
{ORG_ID_PARAM=81, PERIOD_FROM_PARAM=JUL-09, CURR_CODE_PARAM=, DUMMY_PARAM=2, PAID_ONLY_PARAM=, PERIOD_TO_PARAM=MAY-10, POSTED_ONLY_PARAM=,
ACCOUNT_FROM_PARAM=, SUPPLIER_FROM_PARAM=Adel Bin Abdullah Bin Taha Al Hadad, SUPPLIER_TO_PARAM=, TO_DATE_PARAM=, ACCOUNT_TO_PARAM=,
FROM_DATE_PARAM=2010/05/12 00:00:00, COA_ID_PARAM=50328}
Calling XDO Data Engine...
[051210_033341921][][STATEMENT] Start process Data
[051210_033341922][][STATEMENT] Process Data ...
[051210_033341924][][STATEMENT] Executing data triggers...
[051210_033341924][][STATEMENT] BEGIN
AP_BAL_PKG.ORG_ID_PARAM := :ORG_ID_PARAM ;
AP_BAL_PKG.COA_ID_PARAM := :COA_ID_PARAM ;
AP_BAL_PKG.FROM_DATE_PARAM := :FROM_DATE_PARAM ;
AP_BAL_PKG.TO_DATE_PARAM := :TO_DATE_PARAM ;
AP_BAL_PKG.PERIOD_FROM_PARAM := :PERIOD_FROM_PARAM ;
AP_BAL_PKG.PERIOD_TO_PARAM := :PERIOD_TO_PARAM ;
AP_BAL_PKG.CURR_CODE_PARAM := :CURR_CODE_PARAM ;
AP_BAL_PKG.ACCOUNT_FROM_PARAM := :ACCOUNT_FROM_PARAM ;
AP_BAL_PKG.ACCOUNT_TO_PARAM := :ACCOUNT_TO_PARAM ;
AP_BAL_PKG.SUPPLIER_FROM_PARAM := :SUPPLIER_FROM_PARAM ;
AP_BAL_PKG.SUPPLIER_TO_PARAM := :SUPPLIER_TO_PARAM ;
AP_BAL_PKG.PAID_ONLY_PARAM := :PAID_ONLY_PARAM ;
AP_BAL_PKG.POSTED_ONLY_PARAM := :POSTED_ONLY_PARAM ;
AP_BAL_PKG.DUMMY_PARAM := :DUMMY_PARAM ;
:XDO_OUT_PARAMETER := 1;
END;
[051210_033341927][][STATEMENT] 1:81 :
[051210_033341928][][STATEMENT] 2:50328 :
[051210_033341928][][STATEMENT] 3:2010/05/12 00:00:00 :
[051210_033341928][][STATEMENT] 4: :
[051210_033341928][][STATEMENT] 5:JUL-09 :
[051210_033341928][][STATEMENT] 6:MAY-10 :
[051210_033341928][][STATEMENT] 7: :
[051210_033341928][][STATEMENT] 8: :
[051210_033341928][][STATEMENT] 9: :
[051210_033341928][][STATEMENT] 10:Adel Bin Abdullah Bin Taha Al Hadad :
[051210_033341928][][STATEMENT] 11: :
[051210_033341928][][STATEMENT] 12: :
[051210_033341929][][STATEMENT] 13: :
[051210_033341929][][STATEMENT] 14:2 :
[051210_033341940][][EXCEPTION] SQLException encounter while executing data trigger....
java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 11
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:965)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3445)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4395)
at oracle.apps.xdo.dataengine.XMLPGEN.executeTriggers(XMLPGEN.java:650)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:262)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)
at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:348)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
Start of log messages from FND_FILE
End of log messages from FND_FILE
Executing request completion options...
------------- 1) PUBLISH -------------
Beginning post-processing of request 449826 on node EBSCL1 at 12-MAY-2010 15:33:42.
Post-processing of request 449826 failed at 12-MAY-2010 15:33:42 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
Finished executing request completion options.
Concurrent request completed
Current system time is 12-MAY-2010 15:33:42
*====================================================*
When I look at OPP Log, following is the info:
*====================================================*
[5/12/10 3:33:42 PM] [OPPServiceThread0] Post-processing request 449826.
[5/12/10 3:33:42 PM] [28164:RT449826] Executing post-processing actions for request 449826.
[5/12/10 3:33:42 PM] [28164:RT449826] Starting XML Publisher post-processing action.
[5/12/10 3:33:42 PM] [28164:RT449826]
Template code: APPPBR
Template app: SQLAP
Language: en
Territory: US
Output type: RTF
[5/12/10 3:33:42 PM] [UNEXPECTED] [28164:RT449826] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:517)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5926)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3458)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3547)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:259)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:172)
Caused by: oracle.xdo.parser.v2.XMLParseException: Start of root element expected.
at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:337)
at oracle.xdo.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:343)
at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:285)
at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
... 17 more
[5/12/10 3:33:42 PM] [28164:RT449826] Completed post-processing actions for request 449826.
*====================================================*
Br,
AnjumHi,
It seems like a bug as per metalink note:
APPPBR : AP Prepayment Balance Report Error Out java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 11 [ID 827325.1]
Anyway, if you have any relevant information, please share.
Br,
Anjum -
AR Open Balances ~java.sql.SQLException: No corresponding LOB data found
Dear all,
Please gudie me to solve this error..
OPP.log file
[10/24/12 12:16:18 PM] [UNEXPECTED] [82244:RT2787964] java.sql.SQLException: No corresponding LOB data found :SELECT L.FILE_DATA FILE_DATA,DBMS_LOB.GETLENGTH(L.FILE_DATA) FILE_LENGTH, L.LANGUAGE LANGUAGE, L.TERRITORY TERRITORY, B.DEFAULT_LANGUAGE DEFAULT_LANGUAGE, B.DEFAULT_TERRITORY DEFAULT_TERRITORY,B.TEMPLATE_TYPE_CODE TEMPLATE_TYPE_CODE, B.USE_ALIAS_TABLE USE_ALIAS_TABLE, B.START_DATE START_DATE, B.END_DATE END_DATE, B.TEMPLATE_STATUS TEMPLATE_STATUS, B.USE_ALIAS_TABLE USE_ALIAS_TABLE, B.DS_APP_SHORT_NAME DS_APP_SHORT_NAME, B.DATA_SOURCE_CODE DATA_SOURCE_CODE, L.LOB_TYPE LOB_TYPE FROM XDO_LOBS L, XDO_TEMPLATES_B B WHERE L.APPLICATION_SHORT_NAME= :1 AND L.LOB_CODE = :2 AND L.APPLICATION_SHORT_NAME = B.APPLICATION_SHORT_NAME AND L.LOB_CODE = B.TEMPLATE_CODE AND (L.LOB_TYPE = 'TEMPLATE' OR L.LOB_TYPE = 'MLS_TEMPLATE') AND ( (L.LANGUAGE = :3 AND L.TERRITORY = :4) OR (L.LANGUAGE = :5 AND L.TERRITORY = :6) OR (L.LANGUAGE= B.DEFAULT_LANGUAGE AND L.TERRITORY= B.DEFAULT_TERRITORY ))
at oracle.apps.xdo.oa.schema.server.TemplateInputStream.initStream(TemplateInputStream.java:403)
at oracle.apps.xdo.oa.schema.server.TemplateInputStream.<init>(TemplateInputStream.java:236)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.getTemplateFile(TemplateHelper.java:1164)
Regards
Dharmawhat you can't understand?
OPP.log tell you what no lob for template (layout as rtf, pdf) in tables XDO_LOBS and XDO_TEMPLATES_B
so you have the query for checking
>
Please gudie me to solve this error..
>
for AR Open Balances get appl_short_name
find template by query from opp.log or by xml publisher resp
check existing of template file -
Java.sql.SQLException: Error while trying to retrieve text for error ORA-12545
Hi,
I am getting the following error when i tried to connect to Oracle database from
a servlet. This exception is coming at the time of getting connection. And the
same code is working when i used in the standalone java program.
Oracle 8i database and WLS 6.0 are on the same UNIX machine.
---------attempting to connect ------
java.sql.SQLException: Error while trying to retrieve text for error ORA-12545
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java, Compiled
Code)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java, Compiled C
ode)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java, Compiled Code)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java, Com
piled Code)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va, Compiled Code)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java, Compiled C
ode)
at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Cod
e)
at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Cod
e)
at ConnectionPoolServlet.doGet(ConnectionPoolServlet.java, Compiled Code
at javax.servlet.http.HttpServlet.service(HttpServlet.java, Compiled Cod
e)
at javax.servlet.http.HttpServlet.service(HttpServlet.java, Compiled Cod
e)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java, Compiled Code)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java, Compiled Code)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java, Compiled Code)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java, Compiled Co
de)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
Can any one help me out.
DurgaThe problem is solved after exprting the parameter ORACLE_SID=<database_name>
in Weblogic startup script.
thank u for the suggestions.
Durga
Joseph Weinstein <[email protected]> wrote:
>
>
Durga wrote:
Hi Joe,
I have checked the ORACLE_HOME parameter. There was a differnce. Ichanged to
/oracle/app/product/8.1.7
Now i am getting different exception. But still the standalone codeis working.
any clues why I am getting this exception. I will send the code andthe weblogic
properties file for reference if u need.Good. No, I don't need it. Now make sure the library path that the OS
uses to find
Oracle libraries, and our driver libraries etc., is in the same order
for the
server as for the shell that is successful on it's own. Make sure your
Oracle
client stuff is ahead of any weblogic libraries.
Joe
java.sql.SQLException: ORA-12547: TNS:lost contact
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java,Compiled
Code)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java,Compiled
C
ode)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java, CompiledCode)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java,Com
piled Code)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java,Compiled
C
ode)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java,Compiled
C
ode)
at java.sql.DriverManager.getConnection(DriverManager.java,Compiled Cod
e)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at ConnectionPoolServlet.doGet(ConnectionPoolServlet.java,Compiled Code
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.getRuntimeName(ServletStubI
mpl.java, Compiled Code)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java, Compiled Code)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1631)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java,Compiled
Co
de)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, CompiledCode)
Joseph Weinstein <[email protected]> wrote:
The environment for the server probably doesn't have the same ORACLE_HOME
setting as your shell when you succeed in a standalone.
Also, you should be using our connection pools, and you should avoid
making DriverManager calls in any multithreaded app such as WebLogic.
Joe
Durga wrote:
Hi,
I am getting the following error when i tried to connect to Oracledatabase from
a servlet. This exception is coming at the time of getting connection.And the
same code is working when i used in the standalone java program.
Oracle 8i database and WLS 6.0 are on the same UNIX machine.
---------attempting to connect ------
java.sql.SQLException: Error while trying to retrieve text for errorORA-12545
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java,
Compiled
Code)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java, CompiledC
ode)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java, Compiled
Code)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java,Com
piled Code)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va, Compiled Code)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java, CompiledC
ode)
at java.sql.DriverManager.getConnection(DriverManager.java, CompiledCod
e)
at java.sql.DriverManager.getConnection(DriverManager.java, CompiledCod
e)
at ConnectionPoolServlet.doGet(ConnectionPoolServlet.java, CompiledCode
at javax.servlet.http.HttpServlet.service(HttpServlet.java, CompiledCod
e)
at javax.servlet.http.HttpServlet.service(HttpServlet.java, CompiledCod
e)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java, Compiled Code)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java, Compiled Code)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java, Compiled Code)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java, CompiledCo
de)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Can any one help me out.
Durga -
My customer has an issue, and error message as below:
<PRE>Oracle error 1403: java.sql.SQLException: ORA-01403: no data found ORA-06512:
at line 1 has been detected in FND_SESSION_MANAGEMENT.CHECK_SESSION. Your
session is no longer valid.</PRE>
Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
And customer’s statement is: Upgrade from EBS 11.5.10 to 12.1.3. Login the EBS, open any forms and put it in idle. Then refresh the form, error happens
Then, I checked ISP, and found two notes:
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid (Doc ID 1284094.1)
Note 1319380.1: Webadi Gl Journal Posting Errors After Atg R12.1.3 (Doc ID 1319380.1)
But these two notes are both WebADI.
Following is the data collection from customer:
1. Run UNIX command to check .class file version:
strings $JAVA_TOP/oracle/apps/bne/utilities/BneViewerUtils.class | grep Header--> S$Header: BneViewerUtils.java 120.33.12010000.17 2010/11/21 22:19:58 amgonzal s$
2. Run SQL to check you patch level:
SELECT * FROM fnd_product_installations WHERE patch_level LIKE '%BNE%';--> R12.BNE.B.3
3. Run SQL to check patch '9940148' applied or not:
SELECT * FROM ad_bugs ad WHERE ad.bug_number = '9940148';--> No Rows returned
4. Run SQL to check patch '9785477' applied or not:
SELECT * FROM ad_bugs WHERE bug_number in ('9785477');-->
BUG_ID APPLICATION_SHORT_NAME BUG_NUMBER CREATION_DATE ARU_RELEASE_NAME CREATED_BY LAST_UPDATE_DATE LAST_UPDATED_BY TRACKABLE_ENTITY_ABBR BASELINE_NAME GENERIC_PATCH LANGUAGE
576982 11839583 2011/8/7 上午 08:20:36 R12 5 2011/8/7 上午 08:20:36 5 pjt B n US
516492 9785477 2011/6/12 上午 11:42:45 R12 5 2011/6/12 上午 11:42:45 5 bne B n US
546109 9785477 2011/6/12 下午 01:17:41 R12 5 2011/6/12 下午 01:17:41 5 bne B n ZHT
5. Run SQL to check the status of object ‘FND_SESSION_MANAGEMENT’
SELECT * FROM dba_objects do WHERE do.object_name = 'FND_SESSION_MANAGEMENT';-->
OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME
APPS FND_SESSION_MANAGEMENT 219425 PACKAGE 2004/10/30 下午 01:52:35 2011/8/7 上午 08:18:39 2011-08-07:08:18:26 VALID N N N 1
APPS FND_SESSION_MANAGEMENT 226815 PACKAGE BODY 2004/10/31 上午 01:05:40 2011/8/7 上午 08:18:54 2011-08-07:08:18:27 VALID N N N 2
So, my question is: Customer’s BneViewerUtils.java version is already 120.33.12010000.17, which greater than 120.33.12010000.14. Is there any others solutions for this issue? Does customer still need to apply patch '9940148' based on action plan of
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid?
Customer's EBS version is 12.1.3; OS is HP-UX PA-RISC (64-bit); DB is 11.2.0.2.
Thanks,
JackieAnd customer’s statement is: Upgrade from EBS 11.5.10 to 12.1.3. Login the EBS, open any forms and put it in idle. Then refresh the form, error happens
Idle for how long? Is the issue with all sessions?
Please see these docs/links
User Sessions Get Timed Out Before Idle Time Parameter Values Are Reached [ID 1306678.1]
https://forums.oracle.com/forums/search.jspa?threadID=&q=Timeout+AND+R12&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Then, I checked ISP, and found two notes:
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid (Doc ID 1284094.1)
Note 1319380.1: Webadi Gl Journal Posting Errors After Atg R12.1.3 (Doc ID 1319380.1)
But these two notes are both WebADI.Can you find any details about the error in Apache log files and in the application.log file?
Any errors in the database log file?
So, my question is: Customer’s BneViewerUtils.java version is already 120.33.12010000.17, which greater than 120.33.12010000.14. Is there any others solutions for this issue? No.
Does customer still need to apply patch '9940148' based on action plan ofIf the issue not with Web ADI, then ignore this patch. However, if you use Web ADI you could query AD_BUGS table and verify if you have the patch applied.
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid?
Customer's EBS version is 12.1.3; OS is HP-UX PA-RISC (64-bit); DB is 11.2.0.2.If you could not find any details in the logs, please enable debug as per (R12, 12.1 - How To Enable and Collect Debug for HTTP, OC4J and OPMN [ID 422419.1]).
Thanks,
Hussein -
Java.sql.SQLException: FATAL ERROR for DB2
Hi
In my scenario IDOC-XI-DB2,
When I am getting following error message in communication channel. I have checked all the field length, they are correctly displayed. Please let me know how to resolve the same.
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'BI5FILMM.BSOMSAPP' (structure 'StatementInsert'): java.sql.SQLException: FATAL ERROR document format in structure 'StatementInsert': expected 'access' tag(s) not found
Payload is as follows
<?xml version="1.0" encoding="UTF-8" ?>
- <I805_Abstr_CustOutlet_MT>
- <StatementInsert>
- <STATUS action="INSERT">
<table>BI5FILMM.BSOMSAPP</table>
<key OUTLET_NO="0001231229" OUTLET_RF="0002122756" OMFUNC="CRT" />
- <access>
<STATUS>N</STATUS>
<IFCEDATE>1080701</IFCEDATE>
<IFCETIME>160849</IFCETIME>
<OUTLETTYPE>Y</OUTLETTYPE>
<NAME>DREW SMITH AGAINXXXXXXXXXXXXXXXXXXX</NAME>
<STREET>E</STREET>
<STATE>NSW</STATE>
<POST_CODE>2000</POST_CODE>
<PHONE_NO>567999</PHONE_NO>
<ALTPHONE>11111</ALTPHONE>
<FAX_NO>111</FAX_NO>
<CNTCT_PERS>Constant</CNTCT_PERS>
<ALTNAME>Constant</ALTNAME>
<EMAIL1>Drew_downunder</EMAIL1>
<EMAIL2>DREW_DOWNUNDER</EMAIL2>
<SFE_CODE>G</SFE_CODE>
<BILL_TO>0001231229</BILL_TO>
<SUPP_DATE>080801</SUPP_DATE>
</access>
</STATUS>
</StatementInsert>
- <StatementProce>
- <STATUS action="EXECUTE">
<table>CC5PTF.BSOMPSAP</table>
<Para1 isInput="true" type="CHAR">BI5FILMM</Para1>
<Para2 isInput="true" type="CHAR">BMIJOBD</Para2>
</STATUS>
</StatementProce>
</I805_Abstr_CustOutlet_MT>Hi Ria,
In your input try to make the access tag in capitals(ACCESS) and try. I am not sure though. I think its case sensitive. Just try and let me know. Also your second action="EXECUTE" does not has any access parameters. Refer to this blog:
JDBC Receiver Adapter -- Synchronous Select Step by Step
It might be useful.
Regards,
Sanjeev.
Maybe you are looking for
-
After starting Creative Cloud just a white Window appears, no Apps or something else Windows 8.1, more uninstallation and re-install didn't bring a solution. I have had installed Photoshop CC Trial Version, but had to re-boot the system, so I lost th
-
My iBook G4 will not allow me to update from 10.1 to 10.7
I can do nothing on it without updatintg from itunes 10.1 to itunes G4 10.7!
-
IMac can be used to get Macbook online?
OK...I am not very good with this stuff, and am a new Mac. I was going to get a router, so that i can get my Macbook online here in the house, but then I got an iMac and read that I should be able to accomplish this without an external router, using
-
View in Datawarehouse environment
Hi there, Need your inputs to decide on the approach to move more than two billion rows from one table to another. The problem statement is: 1. Source and target table structures are different. So can't use Insert into ... Select statement. 2. For ev
-
10g : Edit Offline Table
about JDeveloper 10g preview (build 1375) Using "Edit Offline Table" I uncheck "Cannot be NULL" for a column. If I "Generate SQL Script" for this table and select "Generate SQL to UPDATE the chosen objects", I get: "The following object(s) were found