Hello all, an updated JDBC driver can be found at:
ftp://ftp.sap.com/pub/sapdb/bin/java/sapdb-jdbc-bin-7.4.04.00c.jar It solves the following issues: --------------------------------------------------------------------------------------------- Error messages in diagnostic files: diagnostic file: none Error message: none (illegal content in long values) Appearance: A long columns contains illegal content in some special circumstances (see next point). The illegal content may be a JDBC cursor name ("JDBC_CURSOR_<number>") or the string "DROP PARSEID". Preconditions and circumstances The error occures in PreparedStatement.executeBatch() when the kernel sends a "-8 Parse Again" and an internal JDBC cache is filled with old cursors that must be closed. This is inside the JDBC driver and cannot be checked from an application. So, you don't know that you run into this problem. Probability that the error occurs The probability is not very high, because a "-8 Parse Again" in conjunction whith a full cursor cache is very seldom. Workaround none, update of the JDBC driver needed. Further documentation none --------------------------------------------------------------------------------------------- Error messages in diagnostic files: diagnostic file: none Error message: none (memory leak) Appearance: Garbage Collection of unclosed resultset objects in conjunction with closing a connection leads to a memory leak inside the database kernel. Preconditions and circumstances The garbage collection of the java virtual machine runs the finalize method of unclosed resultset objects. At the same time the application closes the corresponding connection. Then the jdbc driver will send a combined "commit work release" and "close cursor <cursorname>"-order to the database kernel. If the kernel process closing the cursor after closing the connection a memory leak inside the database kernel will occur. Probability that the error occurs The probability of this memory leak is high in applications which opens/closes connections very often and using the garbage collector for closing resultsets. It is low in applications which uses the resultset.close() method. Workaround Decrease the number of opening/closing a connection. U sing ResultSet.close() for closing your resltsets. Further documentation none --------------------------------------------------------------------------------------------- Preconditions and circumstances: The method moveToCurrentRow was not implemented and always throws an exception. Also the navigational methods throw exceptions after an insert has taken place. Solution to the problem: A software update is necessary. Probability that the error occurs: Always when this method is used. Workaround none. --------------------------------------------------------------------------------------------- Preconditions and circumstances: In result set meta data, the column class name for INTEGER columns returned is java.lang.Integer, where the returned class of getObject is java.math.BigDecimal Solution to the problem: A software update is necessary. Now the getObject method returns a java.lang.Integer in this case. Probability that the error occurs: Always when this method is used. Workaround: none --------------------------------------------------------------------------------------------- Preconditions and circumstances: The method setTimestamp(int, java.sql.Timestamp) of a prepared statement may truncate milliseconds on JDKs with a version less than 1.4.1. Solution to the problem: A software update is necessary. Now the milliseconds are transferred to the database. Probability that the error occurs: Always when this method is used. Workaround: Use the setTimestamp(int, Timestamp, Calendar) method with a Calendar of null. --------------------------------------------------------------------------------------------- Preconditions and circumstances: The ConnectionEventListener.connectionErrorOccurred() method is called for simple SQL errors. A connection pool thus would kill the connection at a wrong point in time. Solution to the problem: A software update is necessary. Only errors releasing the session, and rolling back the work are valid culprits for calling this method. These errors are: -904 Space for result tables exhausted 700 Session inactivity timeout (work rolled back) 710 Session terminated by shutdown (work rolled back) 750 Too many SQL statements (work rolled back) and their synonyms (-70, -71, -75). Probability that the error occurs: On all SQL errors that use a pooled connection. Workaround: none. --------------------------------------------------------------------------------------------- Feature: The class com.sap.dbtech.jdbcext.DataSourceSapDBFactory can now be used as javax.naming.spi.ObjectFactory implementtaion to retrieve the DataSource, ConnectionPoolDataSource and XADataSource. --------------------------------------------------------------------------------------------- Regarding the nameing of the links and files: The link to 'sapdbc.jar' will always point to the lastest version we consider stable. There may be more files named sapdb-jdbc-bin-X.X.XX.XXX.jar, but the sapdbc.jar should be identical to the topmost or an older version. The situation that was found was not intended The 7.3 code base of the driver has been obsoleted, thus this version is valid for all released (and the links are pointing according to this). You may get the build number of the driver by calling it at the command line: java -jar sapdbc.jar -V A higher number in the last 12 digits means a newer version. Internally, only this number is the interesting one to us when checking versions. > -----Original Message----- > From: Sven Köhler [mailto:[EMAIL PROTECTED]] > Sent: Thursday, January 09, 2003 2:07 AM > To: [EMAIL PROTECTED] > Subject: ftp file naming (jdbc) > > > hi, > > in ftp://ftp.sap.com/pub/sapdb/bin/java/ i found a > sapdb-jdbc-bin-7.4.04.00c.jar (330k) and sapdbc.jar (332k). > > sapdbc.jar seems newer than 7.4.4.0c, so what version is this? > 7.4.4.0d? > > why didn't you include the full version in the file-name? > > thx > Sven > > > _______________________________________________ > sapdb.general mailing list > [EMAIL PROTECTED] > http://listserv.sap.com/mailman/listinfo/sapdb.general > _______________________________________________ sapdb.general mailing list [EMAIL PROTECTED] http://listserv.sap.com/mailman/listinfo/sapdb.general
