Implementing java.sql within PersonalJava
I'm writing a simple application to implement within the PersonalJava JVM. The application has to use a number of classes out of the java.sql package. When I try to run my application, I get NoClassDefFoundError messages for any code that references java.sql. This makes sense after reading a number of posts and references on Sun's site about java.sql being an optional package of the PersonalJava Application Environment. However, I have not found anywhere on Sun's site or any other site about where to download such a package. Has anyone come across this before and found a decent solution? Thanks in advance.
Did you check your CLASSPATH variable when you compile. I believe that you need the file classes12.zip. When I installed oracle it came with the class files that I was looking for. I have installed 8.1.7 and in the oracle package, you get this zip files with a bunch of classes. If you are using another database, you might want to get their classes. The zip files has the java.sql that I was looking for.
Hope this helps.
Similar Messages
-
Problems implementing java.sql.ResultSet on AbstractTableModel
Hi java Gurus !!
I have a trouble implementing interface java.sql.ResultSet on javax.swing.table.AbstractTableModel. The AbstractTableModel class defines a method like
this:
int findColumn(String column)
while the java.sql.Resultset defines a method as follows:
int findColumn(String column) throws SQLException.
the compiler gives me the following error:
"Error #: 462 : method findColumn(java.lang.String) in class inducontrol.Untitled1 cannot override method findColumn(java.lang.String) in class javax.swing.table.AbstractTableModel, overridden method does not throw java.sql.SQLException at line 213, column 14
How can I solve it?
thanks a lot !!!!Hassen is correct, it seems that you mix two different things.
Can you show code excerpts so we can give you some tips ? -
Datasource, POJO and java.sql.Blob
Hello,
is "java.sql.Blob" a valid type for a POJO datasource ?
I declared one but I just dit not succeed in rendering its jpg picture.
My java code is quite simple :
ReportClientDocument reportClientDocument = new ReportClientDocument ();
reportClientDocument.setReportAppServer(ReportClientDocument.inprocConnectionString);
reportClientDocument.open (REPORT_NAME, OpenReportOptions._openAsReadOnly);
// lBlob is a class which implements java.sql.Blob interface
LPOJOData [] dataP = {new LPOJOData(new lBlob("Picture.jpg"))};
POJOResultSetFactory factory = new POJOResultSetFactory(LPOJOData.class);
POJOResultSet resultSet = factory.createResultSet(dataP);
reportClientDocument.getDatabaseController().setDataSource(resultSet, "", "");
and my POJO class :
public class LPOJOData {
private java.sql.Blob zimage;
public LPOJOData(java.sql.Blob zp){
this.zimage = zp;
public java.sql.Blob getzimage(){
return zimage;
The field "zimage" on the report is designed through a "field definition only" database, zimage is defined as a Blob field.
Any clues ?
Regards,
SergeI have just found a list of the data types supported by a POJO Class :
# boolean
# byte
# char
# double
# float
# int
# short
# java.lang.Boolean
# java.lang.Byte
# java.lang.Double
# java.lang.Float
# java.lang.Integer
# java.lang.Short
# java.lang.String
# java.SQL.Date
# java.SQL.Time
Well, java.SQL.Blob is not one of them.
Is java.SQL_Blob will be a valid POJO type in the future ?
Is there another way than POJO to feed a report from an in-memory datasource ? -
Java.beans.Statement & java.sql.Statement
My old code from jdk1.3.1 throws the ambiguous class thingie-mo-bob. Why did they implement the new java.beans.Statement, and is there anyway to make it default to the old java.sql.Statement without having to go through all the old code and add import java.sql.Statement. I have like 200 jsp files 'n it will take a loooong time!
PeteThere r two ways to do this.
(i) One is Implement the java.sql.Statement
like
package java.beans;
public interface Statement implements
java.sql.Statement {
}What? Are you suggesting he edit the source code for java.beans.Statement and make it implement java.sql.Statement?? I would most certainly not suggest that solution- beside violating the licensing agreement, it has troubling consequences since you are basically redefining the structure of a class in a way that makes no functional sense- that is, there is no reason for java.beans.Statement to implement methods like getConnection() and the other signatures of java.sql.Statement.
I'm not sure if I'm reading your response correctly or not, but I would definitely not refactor java.beans.Statement just to get this problem solved with out editing files ... ... since java.sql.Statement is used so widely, perhaps they should have considered a different name for java.beans.Statement , although you hate to base a name off of what's going to cause the least problems, rather then what makes the most sense ... ... any way, I guess it doesn't matter now: the name has been selected .... I'd be interested to hear how you solved the problem. -
I am working on SQLJ for EJB-CMP on websphere 5.1. I can successfully run insert methods. But when i run find method to get the objects. I got the runtime exception as follows:
The stacktrace is:
java.sql.SQLException: Invalid column type: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.Accessor.unimpl(Accessor.java:387)
at oracle.jdbc.driver.Accessor.getInt(Accessor.java:497)
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:489)
at oracle.jdbc.driver.UpdatableResultSet.getInt(UpdatableResultSet.java:437)
at com.ibm.ws.rsadapter.cci.WSRdbResultSetImpl.getInt(WSRdbResultSetImpl.java:1831)
at com.ibm.ws.ejbpersistence.dataaccess.RawBeanData.getInt(Unknown Source)
at com.hsbc.fxg.esd.persister.websphere_deploy.ORACLE_V9_1.FXDealPersisterBeanExtractor_6847a04c.extractPrimaryKey(FXDealPersisterBeanExtractor_6847a04c.java:52)
at com.ibm.ws.ejbpersistence.dataaccess.ResultCollectionImpl.processSingleRow(Unknown Source)
at com.ibm.ws.ejbpersistence.dataaccess.ResultCollectionImpl.processRow(Unknown Source)
at com.ibm.ws.ejbpersistence.dataaccess.AbstractResultCollection.get(Unknown Source)
at com.ibm.ws.ejbpersistence.dataaccess.ResultCollectionIteratorImpl.next(Unknown Source)
at com.ibm.ejs.container.finder.FinderResultServerImpl.nextPrimaryKey(FinderResultServerImpl.java:883)
at com.ibm.ejs.container.finder.FinderResultServerImpl.getWrapperBase(FinderResultServerImpl.java:525)
at com.ibm.ejs.container.finder.FinderResultServerImpl.getAllWrapperCollection(FinderResultServerImpl.java:772)
at com.ibm.ejs.container.finder.FinderResultFactory.finderResultCollection_Common(FinderResultFactory.java:192)
at com.ibm.ejs.container.finder.FinderResultFactory.getCMP20FinderResultCollection(FinderResultFactory.java:80)
at com.ibm.ejs.container.EJSHome.getCMP20Collection(EJSHome.java:2851)
at com.hsbc.fxg.esd.persister.EJSCMPFXDealPersisterHomeBean_6847a04c.findByStatus(EJSCMPFXDealPersisterHomeBean_6847a04c.java:196)
at com.hsbc.fxg.esd.persister.EJSRemoteCMPFXDealPersisterHome_6847a04c.findByStatus(EJSRemoteCMPFXDealPersisterHome_6847a04c.java:177)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.CORBA.iiop.ClientDelegate$3.run(ClientDelegate.java:1140)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1138)
at $Proxy0.findByStatus(Unknown Source)
at com.hsbc.fxg.esd.persister._FXDealPersisterHome_Stub.findByStatus(_FXDealPersisterHome_Stub.java:438)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)
at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:352)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:948)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:530)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:610)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:435)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
I am using oracle version 10g. And Jpub 10.2 as the translator. How can i solve this problems? thxLooking at your trace, I assume you're trying to access ROWID or something like that, which is NOT Integer. If it is just ROWID, you should probably get it as string, if it just some NUMBER, you may try to access it as Long or BigDecimal instead. Or, if nothing helps, try to get this field valus as string also.
-
Hi All,
I am using SUN ONE Webserver 6 on AIX with Oracle 8i. Every now and then I get this error
java.sql.SQLException: Io exception: A remote host did not respond within the timeout period.
I am not able to unterstand this. Some one please help...
ThanksAre you able to connect to the database server from the same machine where you are running SJS Web Server using JDBC?
Are the driver and the Database using compatible drivers?
Does it normally work? Is the error accompanied by other symptoms like application failure or unusually slow responses? -
Implementation of java.sql.* abstract methods
Hi to u all,
Can someone tell me where the abstract methods in some interfaces in the java.sql package are implemented?
For example:
-- START CODE --
ResultSet rs = null;
try
ps = db().prepareStatement("select * from aTable where x=?");
ps.setInt(1, aValue);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData();
-- END CODE --
It's about the getMetaData()-call.
It returns information about the column names in the resultset.
If I open the declaration (eclipse) the abstract method getResultSet() in the interface ResultSet in the java.sql-package is shown.
So where is the actual implementation of the method??
As a collegue told me he suspected the implementation is probably somewhere in the driver-software. If this is the case, how does the JVM know to find it there?
Thx in advance for your time and answer(s)The JDBC driver implements the JDBC API.
The JVM how to know that?
1. The Class.forName("jdbc driver name") will load the driver into memory.
2. The DriverManager.registerDriver(Driver driver) will register the driver for later use.
Check the DriverManager.java for more detail. -
Where can I get an implementation of the interface java.sql.Savepoint
My hibernate app fails
BUILD FAILED: java.lang.NoClassDefFoundError: java.sql.Savepoint"
I've no idea why it fails on one machine but passes on another, same JVM version, same hibernate versionsame JVM versionSure? java.sql.Savepoint is Java 1.4+
Check both JRE and JDK, maybe you have a new JRE but an old JDK? -
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. -
ORACLEWEBROWSET :java.sql.SQLException: No valid JAXP parser property
Hi I have a servlet that reqeusts an xml from another servlet this is the code:
URL host = new URL(url);
HttpURLConnection hostconn = (HttpURLConnection)host.openConnection();
hostconn.connect();
BufferedReader xml = new BufferedReader(new InputStreamReader(hostconn.getInputStream()));
OracleWebRowSet wrs = new OracleWebRowSet();
wrs.readXml(xml);
I get the following error when I try to read the xml document (there is a valid xml document being passed):
java.sql.SQLException: No valid JAXP parser property specified
at oracle.jdbc.rowset.OracleWebRowSetXmlReaderImpl.readXML(OracleWebRowSetXmlReaderImpl.java:138)
at oracle.jdbc.rowset.OracleWebRowSet.readXml(OracleWebRowSet.java:83)
at com.startech.xml.WebRowSetClient.executeSearch(WebRowSetClient.java:65)
at com.startech.xml.WebRowSetClient.main(WebRowSetClient.java:81)
Pls could sum1 help thanksHi,
I hope you got rid of this problem by now. I too faced the same problem today while using OracleWebRowSet.readXML. I could able to find a workaround for this problem i.e.
I added the required parser information to System.Properties as below:
Properties p = new Properties(System.getProperties());
p.put("javax.xml.parsers.SAXParserFactory","org.apache.xerces.jaxp.SAXParserFactoryImpl");
System.setProperties(p);
and it worked for me.
Basically what OracleWebRowSet's implementation for ReadXML method does is, it performs a look up for SAXParserFactory implementations within the System properties - it then looks for any DOM implementation defined in System.properties; if none of them is available then it raises the exception
java.sql.SQLException: No valid JAXP parser property specified
- I believe this should work for you too. Please let me know if you got rid of this in any other way.
Thanks & Regards
Dandapani -
All I want to do is create a java.sql.Date subclass which has the Date(String) constructor, some checks for values and a few other additional methods and that avoids deprecation warnings/errors.
I am trying to write a wrapper for the java.sql.Date class that would allow a user to create a Date object using the methods:
Date date1 = new Date(2003, 10, 7);ORDate date2 = new Date("2003-10-07");I am creating classes that mimic MySQL (and eventually other databases) column types in order to allow for data checking since MySQL does not force checks or throw errors as, say, Oracle can be set up to do. All the types EXCEPT the Date, Datetime, Timestamp and Time types for MySQL map nicely to and from java.sql.* objects through wrappers of one sort or another.
Unfortunately, java.sql.Date, java.sql.Timestamp, java.sql.Time are not so friendly and very confusing.
One of my problems is that new java.sql.Date(int,int,int); and new java.util.Date(int,int,int); are both deprecated, so if I use them, I get deprecation warnings (errors) on compile.
Example:
public class Date extends java.sql.Date implements RangedColumn {
public static final String RANGE = "FROM '1000-01-01' to '8099-12-31'";
public static final String TYPE = "DATE";
* Minimum date allowed by <strong>MySQL</strong>. NOTE: This is a MySQL
* limitation. Java allows dates from '0000-01-01' while MySQL only supports
* dates from '1000-01-01'.
public static final Date MIN_DATE = new Date(1000 + 1900,1,1);
* Maximum date allowed by <strong>Java</strong>. NOTE: This is a Java limitation, not a MySQL
* limitation. MySQL allows dates up to '9999-12-31' while Java only supports
* dates to '8099-12-31'.
public static final Date MAX_DATE = new Date(8099 + 1900,12,31);
protected int _precision = 0;
private java.sql.Date _date = null;
public Date(int year, int month, int date) {
// Deprecated, so I get deprecation warnings from the next line:
super(year,month,date);
if(! isWithinRange(this))
throw new ValueOutOfRangeException((RangedColumn)this, "" + this);
public Date(String s) {
super(0l);
// Start Cut-and-paste from java.sql.Date.valueOf(String s)
int year;
int month;
int day;
int firstDash;
int secondDash;
if (s == null) throw new java.lang.IllegalArgumentException();
firstDash = s.indexOf('-');
secondDash = s.indexOf('-', firstDash+1);
if ((firstDash > 0) & (secondDash > 0) & (secondDash < s.length()-1)) {
year = Integer.parseInt(s.substring(0, firstDash)) - 1900;
month = Integer.parseInt(s.substring(firstDash+1, secondDash)) - 1;
day = Integer.parseInt(s.substring(secondDash+1));
} else {
throw new java.lang.IllegalArgumentException();
// End Cut-and-paste from java.sql.Date.valueOf(String s)
// Next three lines are deprecated, causing warnings.
this.setYear(year);
this.setMonth(month);
this.setDate(day);
if(! isWithinRange(this))
throw new ValueOutOfRangeException((RangedColumn)this, "" + this);
public static boolean isWithinRange(Date date) {
if(date.before(MIN_DATE))
return false;
if(date.after(MAX_DATE))
return false;
return true;
public String getRange() { return RANGE; }
public int getPrecision() { return _precision; }
public String getType() { return TYPE; }
}This works well, but it's deprecated. I don't see how I can use a java.util.Calendar object in stead without either essentially re-writing java.sql.Date almost entirely or losing the ability to be able to use java.sql.PreparedStatement.get[set]Date(int pos, java.sql.Date date);
So at this point, I am at a loss.
The deprecation documentation for constructor new Date(int,int,int)says "instead use the constructor Date(long date)", which I can't do unless I do a bunch of expensive String -> [Calendar/Date] -> Milliseconds conversions, and then I can't use "super()", so I'm back to re-writing the class again.
I can't use setters like java.sql.Date.setYear(int) or java.util.setMonth(int) because they are deprecated too: "replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date)". Well GREAT, I can't go from a Date object to a Calendar object, so how am I supposed to use the "Calendar.set(...)" method!?!? From where I'm sitting, this whole Date deprecation thing seems like a step backward not forward, especially in the java.sql.* realm.
To prove my point, the non-deprecated method java.sql.Date.valueOf(String) USES the DEPRECATED constructor java.util.Date(int,int,int).
So, how do I create a java.sql.Date subclass which has the Date(String) constructor that avoids deprecation warnings/errors?
That's all I really want.
HELP!I appreciate your help, but what I was hoping to accomplish was to have two constructors for my java.sql.Date subclass, one that took (int,int,int) and one that took ("yyyy-MM-dd"). From what I gather from your answers, you don't think it's possible. I would have to have a static instantiator method like:public static java.sql.Date createDate (int year, int month, int date) { ... } OR public static java.sql.Date createDate (String dateString) { ... }Is that correct?
If it is, I have to go back to the drawing board since it breaks my constructor paradigm for all of my 20 or so other MySQL column objects and, well, that's not acceptable, so I might just keep my deprecations for now.
-G -
Java.sql.SQLException: No corresponding LOB data found in XML Publisher
Hi
I am getting java.sql.SQLException: No corresponding LOB data found : error when i submit XML Report Publisher request through SRS. I can view the output within the template by pressing the preview button during template creation .When i am submiting the request using SRS and also changing the Option to Excel in the layout format in SRS window and if i see the preview then i found this error ,
"java.sql.SQLException: No corresponding LOB data found : SELECT FILE_DATA, DBMS_LOB.GETLENGTH(FILE_DATA), FILE_NAME, LAST_UPDATE_DATE FROM XDO_LOBS WHERE LOB_TYPE = :1 AND APPLICATION_SHORT_NAME = :2 AND LOB_CODE = :3 AND LANGUAGE = :4 AND TERRITORY = :5 at oracle.apps.xdo.oa.schema.server.XdoLobsInputStream.<init>(XdoLobsInputStream.java:108) at oracle.apps.xdo.oa.schema.server.LobHelper.getLob(LobHelper.java:877) at oracle.apps.xdo.oa.schema.server.LobHelper.getBlobDomain(LobHelper.java:911)"
but for PDF it is working correct But it is not working when i submit XML Report Publisher.
Could some one help me ?
Our XML Publisher version in 5.6.2 for R12
Template type is RTF and Template Output Type excelF aswell.
Thanks
Sureshjava.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 -
Need Info Regarding Implementaion of Interfaces in java.sql package
Hi All,
I am interested in knowing details abt how the Interfaces in the java.sql package are implemented. We all work with the database using the interfaces provided ,but how do they work at the backend ? How can a Interface provide details (work ) with out an implementation class.I Is this taken care by the JVM or some of the Call level interfaces? Please do provide details abt this..hi Sheshadri,
The implementation of the various interfaces in
java.sql package are provided by your jdbc driver,
which also manages the connection and communication of
your java program with the appropriate database.
cheers,
-Jer -
Java.sql.SQLException: Statement cache size has not been set
All,
I am trying to create a light weight SQL Layer.It uses JDBC to connect to the database via weblogic. When my application tries to connect to the database using JDBC alone (outside of weblogic) everything works fine. But when the application tries to go via weblogic I am able to run the Statement objects successfully but when I try to run PreparedStatements I get the following error:
java.sql.SQLException: Statement cache size has not been set
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection_812_WLStub.prepareStatement(Unknown Source)
i have checked the StatementCacheSize and it is 10. Is there any other setting that needs to be implemented for this to work? Has anybody seen this error before? Any help will be greatly appreciated.
Thanks.Pooja Bamba wrote:
I just noticed that I did not copy the jdbc log fully earlier. Here is the log:
JDBC log stream started at Thu Jun 02 14:57:56 EDT 2005
DriverManager.initialize: jdbc.drivers = null
JDBC DriverManager initialized
registerDriver: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
DriverManager.getDriver("jdbc:oracle:oci:@devatl")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
getDriver returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
Oracle Jdbc tracing is not avaliable in a non-debug zip/jar file
DriverManager.getDriver("jdbc:oracle:oci:@devatl")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
getDriver returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
DriverManager.getDriver("jdbc:oracle:oci:@devatl")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
getDriver returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
DriverManager.getDriver("jdbc:oracle:oci:@devatl")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
getDriver returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
DriverManager.getDriver("jdbc:oracle:oci:@devatl")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
getDriver returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@12e0e2f]
registerDriver: driver[className=weblogic.jdbc.jts.Driver,weblogic.jdbc.jts.Driver@c0a150]
registerDriver: driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@17dff15]
SQLException: SQLState(null) vendor code(17095)
java.sql.SQLException: Statement cache size has not been set
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)Hi. Ok. This is an Oracle driver bug/problem. Please show me the pool's definition
in the config.xml file. I'll bet you're defining the pool in an unusual way. Typically
we don't want any driver-level pooling to be involved. It is superfluous to the functionality
we provide, and can also conflict.
Joe
at oracle.jdbc.driver.OracleConnection.prepareCallWithKey(OracleConnection.java:1037)
at weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_OracleConnection.prepareCallWithKey(Unknown Source)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection.prepareCallWithKey(Unknown Source)
at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_oracle_jdbc_driver_OracleConnection_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
SQLException: SQLState(null) vendor code(17095) -
Need help with a Java-SQL connection
My classmates and I created a DesktopFrame. Within it are reports that require a connection to an MS Access Database. When a report in an InternalFrame is opened: the SQL command works, there is a connection, and everything goes well on the first run.
However, when another InternalFrame is opened or when the same InternalFrame is opened the 2nd time, an error occurs. It produces a java.sql.SQLException: General Error.
Can anyone help me? Thanks in advance.Provide more info, maybe even some code segments. (Not all). May be easier to help
Maybe you are looking for
-
CSS Error in running javafx application after move to use jdk8
Hi all, I'm running an javafx app fine with build: jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012 which uses jdk7 perfectly fine on the raspberry pi (which i also keep as backup until newer builds well, are starting to work with my app). I'm getting an exc
-
Logic Express 9.1.8 (which I have) claims to be the most recent update.
-
Battery changes in newer Xperia phones ...
I am currently looking for a new (smart?) phone. Initially I found the newer Xperia models quite interesting ... until ... I found most models do not allow changing the battery by the customer. I see that Apple is crapping down their devices (batteri
-
Real World Battery Life of Macbook Pro (Feb 2012)?
I keep seeing that the Macbook Pro (Feb 2012) has up to 7hrs of battery life. I can't find any real world ACTUAL use results. What have those who bought this model been getting in real world use?
-
Dear, I need the following: I need to make a copy or replication of database update on another server or in it, either in the same instance or another instance. What I need is to have the updated every 15 minutes because that base will integrate with