Oracle JDBC Packages

I'm trying to write a Java program that will access data in an Oracle 10g Express Edition database, but it needs 2 JDBC packages, oracle.sql and oracle.jdbc. I had been using Eclipse for my development, but I just downloaded JDeveloper, thinking that JDeveloper would include these packages. It apparently doesn't. Where can I find these packages so that I can include them in one of my (3) IDEs? This is very frustrating, to say the least... Thanks for any help that anyone can give me. My e-mail address is [email protected]

import java.sql.*;
class Conn {
  public static void main (String args []) throws SQLException
       try {
             Class.forName ("oracle.jdbc.driver.OracleDriver");
       } catch (ClassNotFoundException e) {
             e.printStackTrace();
        Connection conn = DriverManager.getConnection
            ("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
                            // @machineName:port:SID,   userid,  password
        Statement stmt = conn.createStatement();
        ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
        while (rset.next())
              System.out.println (rset.getString(1));   // Print col 1
        stmt.close();
}

Similar Messages

  • Package oracle.jdbc does not exist

    I am trying to connect oracle 8.1.7 from jdk1.4 using jdbc. but when i am trying to compile the java file an error with message"package oracle.jdbc does not exist" is experienced.
    error generation code:
    DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
    please try to help.
    GOOD LUCK
    Mahmood

    Hi Mahmood,
    Oracle.jdbc package will be present in classes12.zip file in <oracle_home>/jdbc/lib directory where <oracle_home> is the directory where Oracle is installed. Place this zip file in classpath and check again.
    Regards,
    Anupama

  • Package oracle.jdbc.driver does not exist!!

    hi there..
    am writing a JBDC application and i got the following error:
    "package oracle.jdbc.driver does not exist"
    what am i supposed to do??
    well, am not sure, but i guess the above means that i dont have a JDBC driver for oracle; f i am right, where to get that from and how to install it (in terms of code and maybe enviroment variable)???
    one more question: if i want connect to another DB engine than oracle, for example sql server or DB2, do i have to get a different driver??
    Appreaciating ur cooperation
    MOurad

    Actually, if you're using JDK 1.4 or higher you should be using ojdbc14.jar from Oracle. classes12.zip is JDK 1.2 technology.
    If you connect to another relational database you should always get the JDBC driver JAR from that vendor. They don't work across different databases. - MOD

  • Package (import oracle.jdbc.driver.*) not found -----URGENT--------

    Hi All,
    i've been using oracle thin driver for oracle 9i server since a long. but now it gives error like
    package import oracle.jdbc.driver.* not found
    it seems some problem in classpath.
    but i've inludeed classes111.zip/classes12.zip to classpath and with this was working fine. dunno what's the problem . kindly mail me at the earliest to:[email protected]
    also i'm working with Tomcat server.
    to run the servlet i don't want to type the absolute url like
    http://localhost:8080/servlet/test rather http://localhost/test .so how to config it . can ne one tell me asap.
    with thanx abd rgds
    Sayed
    so can u tell me

    1. Copy classes12.zip to %TOMCAT_HOME\common\lib
    2. Go to %TOMCAT_HOME\common\lib dir, rename classes12.zip to classes12.jar
    I think someone else has reply same problem before, next time you can do a search before post your problem.

  • Unable to import oracle.jdbc.oracleresultset package

    hai
    I had a problem importing oracle.jdbc.oracleresultset package to my jsp page.
    I am using oracle 10g, and tomcat 5 as web server.
    I did set the classpath
    to these
    C:\Documents and Settings\MULLAPUDI>set CLASSPATH=C:\oracle\product\10.2.0\db_1\
    jdbc\lib\ojdbc14.jar;C:\oracle\product\10.2.0\db_1\ord\jlib\ordim.jar;C:\oracle\
    product\10.2.0\db_1\sqlj\lib\runtime12.jar;
    when i am executing it is saying that package not available.

    1) If you are using a "thin" connection ("thin" is in your DD URL), then you probably only need ojdbc14.jar
    2) J2EE applications don't respect the external CLASSPATH, and aren't supposed to; instead, you normally copy the jar to the right location.
    http://tomcat.apache.org/tomcat-5.0-doc/appdev/deployment.html

  • Use of oracle.jdbc.driver now deprecated.

    Hi all,
    Just thought of sharing this note with us.,(if its new ..)
    http://otn.oracle.com/docs/products/oracle9i/doc_library/901_doc/java.901/a90211/overvw.htm#1008871
    Extract ...,
    Beginning in Oracle9i, the Oracle extensions to JDBC are captured in the package oracle.jdbc. This package contains classes and interfaces that specify the
    Oracle extensions in a manner similar to the way the classes and interfaces in java.sql specify the public JDBC API.
    Your code should use the package oracle.jdbc instead of the package oracle.jdbc.driver used in earlier versions of Oracle. Use of the package
    oracle.jdbc.driver is now deprecated, but will continue to be supported for backwards compatibility.
    All that is required to covert your code is to replace "oracle.jdbc.driver" with "oracle.jdbc" in the source and recompile. This cannot be done piece-wise.
    You must convert all classes and interfaces that are referenced by an application. Conversion is not required, but is highly recommended. Future releases of Oracle
    may have features that are incompatible with use of the package oracle.jdbc.driver.
    The purpose of this change is to enable the Oracle JDBC drivers to have multiple implementations. In all releases up to and including Oracle9i, all of the Oracle
    JDBC drivers have used the same top level implementation classes, the classes in the package oracle.jdbc.driver. By converting your code to use
    oracle.jdbc, you will be able to take advantage of future enhancements that use different implementation classes. There are no such enhancements in Oracle9i, but
    there are plans for such enhancements in the future.
    Regards
    Elango.

    The two main things that would have to change
    - driver : com.microsoft.sqlserver.jdbc.SQLServerDriver
    - url: jdbc:microsoft:sqlserver://localhost:1433
    It may be that this page will help you
    http://msdn.microsoft.com/data/learning/jdbc/
    You also need to make sure that the files Msbase.jar , Msutil.jar and Mssqlserver.jar are all available in the "classpath"
    For a web app, that means these files should be in the WEB-INF/lib directory.
    Good luck,
    evnafets

  • Exception "not implemented for class oracle.jdbc.driver.T4CNumberAccessor"

    Hello I'm having some troubles dealing with 'java.sql.Date' I'm working with express edition database and I have three classes(different packages)
    1.Mapper
    2.Objects Class
    3.ConsoleTest
    I need to get an arraylist of objects, some of which contain dates, but when try to do it I get this exception
    "java.sql.SQLException: Invalid column type: getDate not implemented for class oracle.jdbc.driver.T4CNumberAccessor"
    Do you have any idea how I can implement the getDate method for this T4CNumberAccessor
    Here are the methods that I'm using
    1.Mapper
    public ArrayList<Object> getAllTaskAuctions(Connection con)
              ArrayList<Object> l1 = new ArrayList<Object>();
              String SQLString1 = "select * from taskauction natural join tasks";
    PreparedStatement statement=null;
    try
    //=== get taskauctions natural join tasks
    statement = con.prepareStatement(SQLString1);
    ResultSet rs = statement.executeQuery();
    while(rs.next())
    l1.add(new TaskAuction(rs.getInt(1), rs.getInt(2), rs.getInt(3),
    rs.getDate(4), rs.getDate(5), rs.getInt(6)));
    l1.add(new Task(rs.getInt(1), rs.getInt(2), rs.getString(3),
    rs.getString(4), rs.getString(5), rs.getString(6), rs.getInt(7)));
    catch (Exception exc)
    System.out.println("Fail in TaskAuctionMapper - getAllTaskAuctions");
    System.out.println(exc);
    return l1;
    2.ConsoleTest class
    Connection con;
         public Connection getConnection(){
              try{ 
         Class.forName("oracle.jdbc.driver.OracleDriver");
         con = DriverManager.getConnection(
         "jdbc:oracle:thin:@localhost:1521:XE", "Project", "123" );
         //username/password@[/]host[:port][service_name]
         catch (Exception e)
         {   System.out.println("fail in getConnection()");
         System.out.println(e); }
              return con;
         public static void main(String[] args) {
              ConsoleTest ct = new ConsoleTest();
              TaskAuctionMapper tam1 = new TaskAuctionMapper();
    ArrayList<Object> alt1 = tam1.getAllTaskAuctions(ct.getConnection());
    Iterator<Object> itr1 = alt1.iterator();
    while (itr1.hasNext())
    TaskAuction taskauct = (TaskAuction) itr1.next();
    //Problem, exception traced to TaskAuctionMapper
    System.out.println(
              "Task ID: " + taskauct.getTaskid()+ ", "+
              "StartDate: "+ taskauct.getStartdate()+", "+
              "User ID: " + taskauct.getUserid());
         }

    Found the answer, I shouldn't use integers as parameters of column index in the result set, but instead use String to mark the fields :)

  • Problems when using absolute() on Oracle JDBC driver

    Hi all,
    I wrote some codes using JDBC to access a remote Oracle server. After got the resultset, I attempted to use absolute() method to move to a specific row index and got an error. Could anyone please help me to find out the cause and the solution?
    Thanks in advanced,
    ** We have used driver package jdbc/lib/classes.zip in ORACLE 8.1.7
    ** The total of records in HEFKE000 table > 1000;
    ** The coding is following:
    String url = null;
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    String query = "select * from HEFKE000";
    String dbName = "HE_MI";
    String hostName = "NTTD";
    String userName = "HOKEN";
    String passWord = "manager";
    String dbDriver = "oracle.jdbc.driver.OracleDriver";
    //Load the Driver
    Class.forName(dbDriver);
    //get connection
    url = "jdbc:oracle:oci8:@NTTD";     
    //url = "jdbc:oracle:thin:@" + hostName + ":1521:" + dbName;
    conn = DriverManager.getConnection (url, userName, passWord);
    // It's faster when you don't commit automatically
    conn.setAutoCommit (false);
    // Create a Statement object so we can submit
    // SQL statements to the driver
    stmt = conn.createStatement();
    // Submit a query, creating a ResultSet object
    rs = stmt.executeQuery(query);
    // Get the ResultSetMetaData. This will be used for the column headings
    ResultSetMetaData rsmd = rs.getMetaData ();
    // Get the number of columns in the result set
    int numCols = rsmd.getColumnCount ();
    int i;
    if (rs.next() == rs.isFirst()) {
    rs.absolute(100);
    boolean more = rs.next ();
    while (more) {
    // Loop through each column, getting the
    // column data and displaying
    for (i=1; i<=numCols; i++) {
    if (i > 1) {
    System.out.print("|");
    if (rs.getString(i) == null)
    System.out.print("");
    else
         System.out.print(rs.getString(i));
    output.println();
    // Fetch the next result set row
    more = rs.next ();
    ** The error:
    Exception in thread "main" java.sql.SQLException: Invalid operation for forward
    only resultset : absolute

    Thanks. However, after changed the codes as your suggestion and ran again, I got the following error:
    Exception:
    java.lang.OutOfMemoryError
    <<no stack trace available>>
    A note is that, the 'select * from HEFKE000' statement would get around 1,5 millions of records. So, the 'out of memory' above is for client side or for server side?
    Thanks,

  • Re : Error java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDrive

    Hello All,
    I am writing this simple program which connects to Oracle DB ( 10.2 ). The Java version I have is 1.5.0_13 . I do have oracle client installed. When I run the below code ...I get error
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at OraThin.main(OraThin.java:13)The code I have is :
    import java.io.*;
    import java.sql.*;
    public class OraThin {
      public static void main(String[] args) {
        try {
    System.out.println(System.getProperty ("java.class.path") );
          Connection con=null;
          Class.forName("oracle.jdbc.driver.OracleDriver");
          con=DriverManager.getConnection(
            "jdbc:oracle:thin:@hostname:15282:ServiceName",
            "scott",
            "tiger");
          Statement s=con.createStatement();
          s.execute("SELECT SYSDATE FROM DUAL");
          s.close();
          con.close();
      } catch(Exception e){e.printStackTrace();}
    } Please suggest as to what am I missing, I am not that well versed with Java.
    Thanks in advance,
    Sam

    Hello Paul,
    Thanks for you suggestion. Based on it , I did add the exact jar file in the PATH environmental variable in XP.
    Path=C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar;C:\oraclexe\a
    pp\oracle\product\10.2.0\server\bin;C:\oracle\product\10.2.0\client_1\bin;C:\Ora
    cle\product\10.1.0\Client_1\bin;C:\Oracle\product\10.1.0\Client_1\jre\1.4.2\bin\
    client;C:\j2sdk1.4.2_06\bin;Even after adding the specific jar file *("C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar")* ..I am getting the exact same error. moreover, to verify this I also tried to import import oracle.jdbc.driver.*.....and now my code would not even complie and I get error *(c:\Program Files\Java\jdk1.5.0_13\bin\OraThin.java:3: package oracle.jdbc.driver*
    does not exist ) . I also rebooted my machine just to make sure ...that didnt work either. Also, I changed these jar to be first in the PATH varibale ..to avoid conflict with any later .jar's classes. The code is :
    import java.io.*;
    import java.sql.*;
    import oracle.jdbc.driver.*;
    public class OraThin {
      public static void main(String[] args) {
        try {
    System.out.println(System.getProperty ("java.class.path") );
          Connection con=null;
          Class.forName("oracle.jdbc.driver.OracleDriver");
          con=DriverManager.getConnection(
            "jdbc:oracle:thin:@hostname:15282:ServiceName",
            "scott",
            "tiger");
          Statement s=con.createStatement();
          s.execute("SELECT SYSDATE FROM DUAL");
          s.close();
          con.close();
      } catch(Exception e){e.printStackTrace();}
    }What am I missing here!! ?
    Thanks again,
    Sam

  • Import oracle.jdbc.driver.* problem.

    I've got classes111b.zip from this site, and put it into my $ORACLE_HOME/jdbc/lib; add this: "$ORACLE_HOME/jdbc/lib/classes111b.zip" to my CLASSPATH; use env command, I can see it, but when I visit my jsp page, there occured an error:
    Error: 500
    Location: /tmp/connectdb.jsp
    Internal Servlet Error:
    org.apache.jasper.JasperException: Unable to compile class for JSP/jakarta-tomcat/work/localhost_8080/_0002ftmp_0002fconnectdb_0002ejspconnectdb_jsp_7.java:20: Package oracle.jdbc.driver not found in import.
    import oracle.jdbc.driver.*;
    And jdbc readme file says:
    The Oracle installer installs the JDBC Drivers in the
    [ORACLE_HOME]/jdbc directory.
    Where is the Oracle installer? How could I do?
    Thanks in advance.

    Hello
    here is the modified code
    import java.sql.*;
    import oracle.jdbc.driver.*;
    public class Oracle_Test
    public static void main(String args[])
    String sql = "";
    String strdisp = "";
    Connection con = null;
    //Statement cs = null;
    CallableStatement cs = null;
    ResultSet rs = null;
    try
    Class.forName("oracle.jdbc.driver.OracleDriver");
    System.out.println("Hello 1");
    //con = DriverManager.getConnection("jdbc:oracle:thin:@192.1.1.70:1521:epatra","kamna_local","kamna");
    con = DriverManager.getConnection("jdbc:oracle:thin:@10.8.51.182:1521:DEVPG","RINGERS","RINGERS");
    System.out.println("Hello 2");
    try
    CallableStatement proc = con.prepareCall("{ call PHONEGEN.HOME_MDN_SEARCH_RINGER(?, ?, ?, ?, ?, ?) }");
    proc.setString(1, "2231015897");
    proc.setString(2, "1071706417");
    proc.registerOutParameter(3, OracleTypes.VARCHAR);
    proc.registerOutParameter(4, OracleTypes.VARCHAR);
    proc.registerOutParameter(5, OracleTypes.VARCHAR);
    proc.registerOutParameter(6, OracleTypes.VARCHAR);
    System.out.println("Hello 3");
    boolean x = cs.execute();
    String homemin = proc.getString(3);
    String homemdn = proc.getString(4);
    String phoneType = proc.getString(5);
    String outStatus= proc.getString(6);
    System.out.println("Hello 3");
    proc = null;
    con.close();
    con = null;
    catch(NullPointerException sqle)
    sqle.printStackTrace();
    catch(Exception ex)
    ex.printStackTrace();
    System.out.println("error in finding class "+ex);
    The Exception comes at this
    CallableStatement proc = con.prepareCall("{ call PHONEGEN.HOME_MDN_SEARCH_RINGER(?, ?, ?, ?, ?, ?) }");
    And here is the output when the rpogram runs....
    Hello 1
    Hello 2
    Hello 3
    java.lang.NullPointerException
    at Oracle_Test.main(Oracle_Test.java:31)
    Thanks for your help.....
    Looking for a solution soon
    Regards
    Abhinav

  • Java.lang.AbstractMethodError: oracle.jdbc.driver.OracleDatabaseMetaData.lo

    I am evaluating the sun RI of javax.sql package . I downloaded the jdbc_rowset_tiger-1_0_1-mrel-jwsdp.zip package and installed in my machine.
    I tried the JdbcRowSet implmenation and it worked pretty smooth. I wanted to try the disconnected Rowset implementation. I tried CachedRowSet Implementation with thin driver. I get the following error message.
    Exception in thread "main" java.lang.AbstractMethodError: oracle.jdbc.driver.OracleDatabaseMetaData.locatorsUpdateCopy()Z
    at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
    at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
    at CachedRowSetSampl.main(CachedRowSetSampl.java:79)
    I am using thin driver with Oracle8i db.
    Appreciate any early responses

    I had the same problem initially.
    I fixed it by downloading an updated ojdbc14.jar (1).
    It may be because I downloaded the ocrs12.jar from there a bit earlier and the versions of ojdbc14.jar and ocrs12.jar need to match (that is, come from the Oracle10g suite of jars).
    Here is the class I used:
    import java.sql.*;
    import javax.sql.*;
    import com.sun.rowset.WebRowSetImpl;
    import com.sun.rowset.providers.RIXMLProvider;
    public class test {
      public static void main(String[] args) {
        try {
          Class.forName("oracle.jdbc.driver.OracleDriver");
          WebRowSetImpl wrs = new WebRowSetImpl();
          wrs.setCommand("select table_name from user_tables");
          wrs.setUsername("scott");
          wrs.setPassword("tiger");
          wrs.setUrl("jdbc:oracle:thin:@paramount.com:1521:ORCL");
          wrs.execute();
          wrs.writeXml(System.out);
        } catch (Exception e) {
          System.out.println("Exception:"+e);
    Dale(1) http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101020.html (Oracle Database 10g JDBC Drivers)

  • Error message when using "import oracle.jdbc.pool.OracleDataSource;" stmt

    hello Guys I have Written a Servlet program. It contains Some JDBC Code. When I try to import a Package "import oracle.jdbc.pool.OracleDataSource;" It was showing an error message saying that that particuler package does not exist.Could you please tell me what shall I do to import that package?

    Add classes12.jar in your classpath S
    --Balaji S                                                                                                                                                                                                               

  • Oracle JDBC Thin Driver

    I am using CLOBS with the Oracle thin driver and am experiencing horrible performance. We need datavalues more than a VARCHAR2 and have used CLOB but the method Oracle uses to get the data in and out is super slow.
    MS SQL Server JDBC with text is awesome and fast. But Oracle is slow and very cumbersome.
    Help

    We are using 9.0.2.
    So what you are saying is although the column is CLOB
    in Oracle 10 g we can use a normal result set
    rset.getString( 1 ) no special oracle stuff just the
    e Oracle thin driver for 10g?
    Also this will retrieve a String greater than 4000
    bytes?Exactly. Not only you can retieve a clob as string, you can also insert clob
    as a string too. Here is the code I referred in last post in case you do not
    have access to oracle ten network:
    * @author Savitha
    * @version 1.0
    * Development Environment : Oracle JDeveloper 10g
    * Name of the Application : ClobManipulationIn10g.java
    * Creation/Modification History :
    * Savitha 17-Mar-2004 Created.
    package oracle.otnsamples.jdbc;
    // Java SQL classes
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    // Oracle JDBC driver class
    import oracle.jdbc.OracleDriver;
    // Java IO classes
    import java.io.IOException;
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    //Java Util classes
    import java.util.Properties;
    * This class demonstrates the Oracle JDBC 10g enhanced features for inserting
    * and retrieving CLOB data from the database. Using the new features, large
    * data of more than 32765 bytes can be inserted into the database using the
    * existing PreparedStatement.setString() and PreparedStatement.getString()
    * methods.
    public class ClobManipulationIn10g {
    /* Database Connection object */
    private Connection conn = null;
    /* Variables to hold database details */
    private String url = null;
    private String user = null;
    private String password = null;
    // Create a property object to hold the username, password and
    // the new property SetBigStringTryClob.
    private Properties props = new Properties();
    /* String to hold file name */
    private String fileName = null;
    * Default Constructor to instantiate and get a handle to class methods
    * and variables.
    public ClobManipulationIn10g(String fileName) {
    this.fileName = fileName;
    * Main runnable class.
    public static void main(String[] args) throws SQLException {
    // Instantiate the main class.
    ClobManipulationIn10g clobManipulationIn10g =
    new ClobManipulationIn10g(args[0]);
    // Load the Oracle JDBC driver class.
    DriverManager.registerDriver(new OracleDriver());
    // Load the database details into the variables.
    String dbUrl = "jdbc:oracle:thin:@<database host machine>:<port>:<SID>";
    clobManipulationIn10g.url = dbUrl;
    // Replace the username where the table 'clob_tab' was created.
    clobManipulationIn10g.user = "scott";
    // Replace the password of the username.
    clobManipulationIn10g.password = "tiger";
    // Populate the property object to hold the username, password and
    // the new property 'SetBigStringTryClob' which is set to true. Setting
    // this property allows inserting of large data using the existing
    // setString() method, to a CLOB column in the database.
    clobManipulationIn10g.props.put("user", clobManipulationIn10g.user );
    clobManipulationIn10g.props.put("password", clobManipulationIn10g.password);
    clobManipulationIn10g.props.put("SetBigStringTryClob", "true");
    // Check if the table 'CLOB_TAB' is present in the database.
    clobManipulationIn10g.checkTables();
    // Call the methods to insert and select CLOB from the database.
    clobManipulationIn10g.insertClob();
    clobManipulationIn10g.selectClob();
    * This method will insert the data into a CLOB column in the database.
    * Oracle JDBC 10g has enhanced the existing PreparedStatement.setString()
    * method for setting the data more than 32765 bytes. So, using setString(),
    * it is now easy to insert CLOB data into the database directly.
    private void insertClob() throws SQLException {
    // Create a PreparedStatement object.
    PreparedStatement pstmt = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create SQL query to insert data into the CLOB column in the database.
    String sql = "INSERT INTO clob_tab VALUES(?)";
    // Read a big file(larger than 32765 bytes)
    String str = this.readFile();
    // Create the OraclePreparedStatement object
    pstmt = conn.prepareStatement(sql);
    // Use the same setString() method which is enhanced to insert
    // the CLOB data. The string data is automatically transformed into a
    // clob and inserted into the database column. Make sure that the
    // Connection property - 'SetBigStringTryClob' is set to true for
    // the insert to happen.
    pstmt.setString(1,str);
    // Execute the PreparedStatement
    pstmt.executeUpdate();
    } catch (SQLException sqlex) {
    // Catch Exceptions and display messages accordingly.
    System.out.println("SQLException while connecting and inserting into " +
    "the database table: " + sqlex.toString());
    } catch (Exception ex) {
    System.out.println("Exception while connecting and inserting into the" +
    " database table: " + ex.toString());
    } finally {
    // Close the Statement and the connection objects.
    if (pstmt!=null) pstmt.close();
    if (conn!=null) conn.close();
    * This method reads the CLOB data from the database by using getString()
    * method.
    private void selectClob() throws SQLException {
    // Create a PreparedStatement object
    PreparedStatement pstmt = null;
    // Create a ResultSet to hold the records retrieved.
    ResultSet rset = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create SQL query statement to retrieve records having CLOB data from
    // the database.
    String sqlCall = "SELECT clob_col FROM clob_tab";
    pstmt= conn.prepareStatement(sqlCall);
    // Execute the PrepareStatement
    rset = pstmt.executeQuery();
    String clobVal = null;
    // Get the CLOB value from the resultset
    while (rset.next()) {
    clobVal = rset.getString(1);
    System.out.println("CLOB length: "+clobVal.length());
    } catch (SQLException sqlex) {
    // Catch Exceptions and display messages accordingly.
    System.out.println("SQLException while connecting and querying the " +
    "database table: " + sqlex.toString());
    } catch (Exception ex) {
    System.out.println("Exception while connecting and querying the " +
    "database table: " + ex.toString());
    } finally {
    // Close the resultset, statement and the connection objects.
    if (rset !=null) rset.close();
    if (pstmt!=null) pstmt.close();
    if (conn!=null) conn.close();
    * Method to check if the table ('CLOB_TAB') exists in the database; if not
    * then it is created.
    * Table Name: CLOB_TAB
    * Column Name Type
    * col_col CLOB
    private void checkTables() {
    Statement stmt = null;
    ResultSet rset = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create Statement object
    stmt = conn.createStatement();
    // Check if the table is present
    rset = stmt.executeQuery(" SELECT table_name FROM user_tables "+
    " WHERE table_name = 'CLOB_TAB' ");
    // If the table is not present, then create the table.
    if (!rset.next()) {
    // Table does not exist, create it
    stmt.executeUpdate(" CREATE TABLE clob_tab(clob_col CLOB)");
    } catch (SQLException sqlEx) {
    System.out.println("Could not create table clob_tab : "
    +sqlEx.toString());
    } finally {
    try {
    if( rset != null ) rset.close();
    if( stmt != null ) stmt.close();
    if (conn!=null) conn.close();
    } catch(SQLException ex) {
    System.out.println("Could not close objects in checkTables method : "
    +ex.toString());
    * This method reads the specified text file and, returns the content
    * as a string.
    private String readFile()
    throws FileNotFoundException, IOException{
    // Read the file whose content has to be passed as String
    BufferedReader br = new BufferedReader(new FileReader(fileName));
    String nextLine = "";
    StringBuffer sb = new StringBuffer();
    while ((nextLine = br.readLine()) != null) {
    sb.append(nextLine);
    // Convert the content into to a string
    String clobData = sb.toString();
    // Return the data.
    return clobData;
    }

  • Oracle JDBC Driver Compile Errors

    I'd like to try out this new Preview Edition but I get the following errors:
    Error(22,8): class oracle.jdbc.driver.OracleCallableStatement is not public; cannot be accessed from outside of package oracle.jdbc.driver
    Error(23,8): class oracle.jdbc.driver.OracleTypes is not public; cannot be accessed from outside of package oracle.jdbc.driver
    These erors occur at the import statements:
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    when I attempt to compile a JDev 10.1.3 project in the 11g Technology Preview Edition. Any idea why?
    TIA,
    Jeff

    We don't support project migration from 10.1.3 to the
    technology preview.
    Does the problem reproduce if you create a new
    project in 11tp?Shay,
    Thanks for the quick response. I created a new application in 11tp from scratch. I created a View Object and pasted the offending code into it and got the same compile errors. I actually got the code about a year ago from Steve's Not Yet Documented Applications. He has since removed the App from the page, changed the code and added it to the Dev Guide. The sample app showed how to bind a View object to a REF Cursor returned from a stored procedure and it looked something like this:
    CallableStatement cs = conn.prepareCall("{?=call package.name(P_CODIGO => ?)}");
    cs.rgisterOutParameter(1,OracleTypes.CURSOR);
    cs.setInt(2,16782);
    cs.executeQuery();
    ResultSet result = ((OracleCallableStatement)cs).getCursor(1);
    Changing the code to look more like what is now in the DEV GUIDE will more than likely work because he eliminates the need for the OracleCallableStatement.
    This brings me to my next point. If migration is not currently supported, will it be when the production release of JDEV 11g is available? Shame on me for just quickly skimming the release notes but when the import wizard ran on my project it did not warn me that the feature is not supported or that problems are likely. Upon resolving the issues with the callable statement, I had significant other compile errors in my jspx pages that will probably not be as trivial to fix. If project upgrades are not performed "easily" it will certainly push the 11g adoption date out considerably.
    Thanks again, your comments are always encouraged.
    Jeff

  • Oracle jdbc driver: sort order between letters and numbers

    Hello,
    I am facing a very strange problem with sortering of data between letters and numbers.
    I'am executing the following SQL request:
    SELECT nummsg FROM CWD01 where nummsg = '00000001' or nummsg = 'AAAA0001' order by nummsg
    When this request is executed with sqlplus or SQuirreL, I receive the expected result:
    NUMMSG
    00000001
    AAAA0001
    When I execute the following java code:
    try {     String className = "oracle.jdbc.driver.OracleDriver";     Class driverObject = Class.forName(className);     Connection con = DriverManager.getConnection("myurl", "user", "pass");     Statement stmt = con.createStatement();     ResultSet rs = stmt.executeQuery(           "SELECT nummsg FROM CWD01 where nummsg = '00000001' or nummsg = 'AAAA0001' order by nummsg");     while (rs.next()) {           String x = rs.getString("nummsg");           System.out.println("nummsg " +x);     } } catch (Exception e) {     System.out.println("Failed: Driver Error: "+ e.getMessage()); }
    I receive the unexpected result:
    nummsg AAAA0001
    nummsg 00000001
    We are using the following version of Oracle:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
    and the following jdbc driver:
    Oracle Database 10g Release 2 (10.2.0.1.0) JDBC Drivers (ojdbc14.jar (1,536,979 bytes) - classes for use with JDK 1.4 and 1.5)
    Any suggestion?

    I checked, I'am sure of the problem:
    package test;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    public class Test {
         public static void main(String[] args) {
              try {
                   String className = "oracle.jdbc.driver.OracleDriver";
                   Class driverObject = Class.forName(className);
                   Connection con = DriverManager.getConnection("jdbc:oracle:thin:@<server>[:<1521>]:<database_name>", "user", "password");
                   Statement stmt = con.createStatement();
                   ResultSet rs = stmt.executeQuery(
                      "SELECT nummsg  FROM CWD01 where nummsg = '00000001' or nummsg = 'AAAA0001' order by nummsg");
                   while (rs.next()) {
                        String x = rs.getString("nummsg");
                        System.out.println("nummsg " + x);
              } catch (Exception e) {
                   System.out.println("Failed: Driver Error: " + e.getMessage());
    }The table CWD01 defines the column NUMMSG as VARCHAR2(8).
    The output gives:
    nummsg AAAA0001
    nummsg 00000001

Maybe you are looking for

  • My ipod touch wont let me download free games

    my ipod touch wont download free games

  • IDOC2FILE

    Hi All, Now i am working IDOC2FILE scenario. All design time & configuration time objects are created and activated successfully. And ALE settings also done in both R/3 side and XI side. Now i am trying to send the idoc in we19, but i got the error l

  • Process and java classes

    Hi... My Bpel process accesses some java objects..To keep classes and projects separate I am keepin these classes in a war/ear and deploying it on oc4j...do u think the process can access the java classes in .war file.. I know i can have the java cla

  • Boot CD doesn't work Satellite 5105-S501. What should I do?

    I do have some major problems with my 5105-S501 The computer is totally screwed up, with a little help of some evil virus. Well, anyway; I thought this would be a good time to format the HD and install the OS again. Did like the manual said, put the

  • Repository Creation to SQL Server

    I am trying to evaluate the ODI software by using a SQL Server database for the repository. I am getting an error when I try to test the connection which does not make sense since it appears I am following the syntax for a JDBC connection. Here are t