Some exceptions in Oracle

Gotchas With Oracle Jdbc Driver

1 - java.sql.SQLException: Preferences ケ ッ Suites 読 み か ら ー タ yu む video game, こ れ は あ Ri ma せ ん above (java.sql.SQLException: No more data to read from socket)
Driver Version: 9i .* or 10g .*

The exception is usually caused by using a connection pool, as obtained from the connection pool when the connection failure or timeout, use this connection to carry out database operations will be over thrown exception.
The solution is to make the database connection pool in the connection before you return to check whether the connnection timeout or failure, if it is, then evict the connection, and returns an available connection.
To DBCP, for example, make the following configuration can solve the problem:
<bean destroy-method="close">
<property name="url">
<value> $ (jdbc.url) </ value>
</ Property>
<property name="driverClassName">
<value> $ (jdbc.driver) </ value>
</ Property>
<property name="username">
<value> $ (jdbc.username) </ value>
</ Property>
<property name="password">
<value> $ (jdbc.password) </ value>
</ Property>
<property name="testOnBorrow">
<value> true </ value>
</ Property>
<property name="testOnReturn">
<value> true </ value>
</ Property>
<property name="testWhileIdle">
<value> true </ value>
</ Property>
<property name="minEvictableIdleTimeMillis">
<value> 180000 </ value>
</ Property>
<property name="timeBetweenEvictionRunsMillis">
<value> 360000 </ value>
</ Property>
<property name="validationQuery">
<value> SELECT 1 FROM SYS.DUAL </ value>
</ Property>
<property name="maxActive">
<value> 100 </ value>
</ Property>
</ Bean>
In addition, you can look at here: http://www.websina.com/bugzero/errors/oracle-SQLException.html
Reposted elsewhere: Oracle SQLException: No more data to read from socket
java.sql.SQLException: No more data to read from socket at oracle.jdbc.dbaccess.DBError.throwSqlException (DBError.java: 134)
at oracle.jdbc.dbaccess.DBError.throwSqlException (DBError.java: 179)
at oracle.jdbc.dbaccess.DBError.check_error (DBError.java: 1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1 (MAREngine.java: 963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1 (MAREngine.java: 893)
at oracle.jdbc.ttc7.Oall7.receive (Oall7.java: 375)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7 (TTC7Protocol.java: 1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch (TTC7Protocol.java: 1094)
at oracle.jdbc.driver.OracleStatement.executeNonQuery (OracleStatement.java: 2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther (OracleStatement.java: 2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout (OracleStatement.java: 2877)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate (OraclePreparedStatement.java: 608)

This error most likely occurs in applications that use a database connections pool. When the application checked out a connection that has been timed out or has been staled, and used it to connect to the database, this error occurs.
You may need start your Oracle database server as well as your Java application. In a better designed system, however, the staled connection should be cleared out and a new connection should be establised automatically.
--------------------------------------------------
2-ORA-17004: Invalid column type (java.sql.SQLException: Invalid column の で type ga desu.) Driver Version: 9i .*

The anomaly first appears in the use of spring + iBatis the program, then an error by checking the fields and SQLMAP reference documents, only to find the problem lies.
If you are using iBatis, that from his SqlMap reference documentation should find the following words, when you see them, you will find the door key to success, Oh
Note! Most drivers only need the type specified for nullable columns. Therefore, for such drivers you only
need to specify the type for the columns that are nullable.
Note! When using an Oracle driver, you will get an "Invalid column type" error if you attempt to set a null
value to a column without specifying its type.
That is, when a column allows null, and you should pass the parameter for null column values when the driver for oracle, this exception is indispensable.

Solution through iBatis the parameterMap, designated parameter elements jdbcType and nullValue to solve; If you do not use iBatis, you can check the parameters of the corresponding as if he can be empty, but the current value is empty when exactly for him to set a value is not empty can.
--------------------------------------------------
3-java.sql.SQLException: OALL8 contradictory state に あ Ri し ta ma si; (java.sql.SQLException: OALL8 is in an inconsistent state.)

The exception in our program that usually occurs after the first exception occurs, but not entirely, the exception searched Wang Shang could not find a satisfactory explanation, Only the following information may be used Yi Xie (from http://forums.oracle .com / forums / thread.jspa? messageID = 1275383):
This is known to occur under when you are using too big an array size. How big your array can be depends on the length of each record and the Driver / Database combination. If you exceed the maximum size you will get the "OALL8" SQLException and your connection object may become unusable.

This message is also created if you are using the following:

9.0.1 Database
10.1.0 JDBC Driver
Generated Code that passes in an ARRAY or VARRAY of VARCHAR2 as a Parameter

Or (from http://opensource.atlassian.com/projects/spring/browse/SPR-1545?decorator=none&view=rss):
[SPR-1545] Oracle error 17447 should result in a DataAccessResourceFailureException
Oracle error 17447 is currently an unmapped exception but it should be a DataAccessResourceFailureException. This error occurs when a JDBC connection has become corrupted, usually because of failure to properly close a connection before returning the connection to the connection pool. Here is the error message:

SQL state [null]; error code [17447]; OALL8 is in an inconsistent state; nested exception is java.sql.SQLException: OALL8 is in an inconsistent state
java.sql.SQLException: OALL8 is in an inconsistent state

This is a kind of "oh crap, something bad happened and it's not really your fault" exception in Oracle. A few causes of this message are suggested in my searches on Google, including (see http://forums.oracle.com/ forums / thread.jspa? threadID = 274018 & tstart = 0):
- Use of Oracle 10g JDBC drivers to connect to Oracle 9 databases
- Using too big an array size (9.0.1 Database, 10.1.0 JDBC Driver and Generated Code that passes in an ARRAY or VARRAY of VARCHAR2 as a Parameter)

In any case, after this exception is thrown the connection is corrupted and unusable, hence why I advocate this exception be mapped to a DataAccessResourceFailureException

Solution, I do not know, huh, huh, anyway, after adjusting the first question, this exception no longer occurs in our program.
--------------------------------------------------
  • del.icio.us
  • StumbleUpon
  • Digg
  • TwitThis
  • Mixx
  • Technorati
  • Facebook
  • NewsVine
  • Reddit
  • Google
  • LinkedIn
  • YahooMyWeb

Related Posts of Some exceptions in Oracle

  • Hibernate connection pool configuration

    Hibernate connection pool configuration <! - Jdbc -> <property name="connection.driver_class"> oracle.jdbc.driver.OracleDriver </ property> <property name="connection.url"> jdbc: oracle: thin: @ 10.203.14.132:15

  • In the servlet use Bean

    According to Sun's definition, JavaBean is a reusable software components. In fact JavaBean is a Java class, through the package into a property and methods of treatment of a function or a business object, referred to as bean. Because JavaBean is ...

  • The EJB3 Persistence

    EJB3 persistence with Hibernate is very similar to the mechanism: Environment: Server: JBOSS5.0 Database: MySQL5.0 1. Set up a data source First of all, in jboss-5.0.0.GA \ server \ default \ deploy, the establishment of a database used to connect the dat

  • hibernate to use the principle of

    The use of hibernate, implementation of data persistence. Has the following several processes. One configuration database connection information. Hibernate.config 2 configuration mapping. 3 use: the use of the process are the following steps: 3.1: Ge ...

  • can not be represented as java.sql.Timestamp

    Development of procedures for the use of hibernate when, some time there is no need to fill in the fields, but after the hibernate query time reported "Java.sql.SQLException: Value'0000-00-00 'can not be represented as java.sql.Timestamp ...

  • spring struts2.0 hibernate environmental structures .. despair carried out more than one hour only with good.

    http://www.qqread.com/java/2008/06/f413762.html Look here. . Note added myeclipse support spring when necessary add the commons-dbcp database connection pool package. And to add hibernate support. . Finally add struts2 support. . Oh the lazy point. . . fu

  • Spring2.0 + hibernate3.1 + log4j + mysql demo

    applicationContext.xml Non-attachment jar package, necessary friends can send an email to todd.liangt @ gmail.com

  • Hibernate annotation using notebook

    These are the basic common @Entity --Declared an entity bean @Table(name="promotion_info") --For the entity bean mapping for the specified table (Table name ="promotion_info) @Id --Declare that the identifying attribute of the entity bean @GeneratedValue

blog comments powered by Disqus
Recent
Recent Entries
Tag Cloud
Random Entries