JDBC OCI和JDBC Thin有什么区别?

JDBC OCI和JDBC Thin有什么区别?
效果有什么区别?(都是通过weblogic连db的)

一般来说
OCI效率应该高一些
不过使用的时候一般使用jdbc直接连接
因为OCI不是纯java实现

Similar Messages

  • Session Timezone differences between JDBC OCI and Thin drivers

    Hi,
    I was having a problem with a default on a DATE column of CURRENT_DATE with my Websphere/Oracle web application, when I discovered that the Thin JDBC driver behaves differently from the OCI JDBC driver in regards to the session timezone.
    The Thin driver defaults the sesssion timezone to GMT (+0.00), but the OCI driver defaults to whatever the local OS timezone is (in my case GMT+12.00).
    Can anyone tell me how why this difference is there how to correct the behaviour of the Thin driver?
    I'm using the standard JDBC Connection class, not the OracleConnection object, and therefore cannot use the setSessionTimeZone method.
    The only solution I can currently think of is to move the application over to the OCI driver, however, I'm wondering what else is different (ie we'll have to regression test the whole web app again!).
    Any ideas?
    Cheers,
    Dunc

    Well, regarding the time zone thing, it appears the following code will solve a lot of headaches...
    ((OracleConnection)conn).setSessionTimeZone
    (TimeZone.getDefault().getID());
    Still unknown why the OCI driver appears to do this automatically, while the thin driver does not.
    If anyone knows the status of the memory leaks in the Linux OCI, please let me know.
    Thanks,
    m@

  • JDBC OCI to JDBC Thin Migration

    Hi
    A customer currently uses the OCI JDBC driver to connect to the database and we are currently investigating a move to the JDBC Thin driver.
    One particular problem seems to be that a feature is used to find out whether a password is about to expire, and it is said this is not supported by the Thin Driver:
    Connection conn;
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    try {
    Properties props = new Properties();
    props.put("user",us);
    props.put("password",pw);
    conn = DriverManager.getConnection(cs,props);
    SQLWarning sqlw = conn.getWarnings();
    if ( sqlw != null && sqlw.getErrorCode() == 28002 )
    Properties props = new Properties();
    props.put("user",us);
    props.put("password",pw);
    props.put("OCINewPassword",pw1);
    Connection newconn = DriverManager.getConnection(cs,props);
    conn = newconn;
    pw = pw1;
    catch (java.sql.SQLException e) {
    Is something like this possible using the Thin Driver?
    Bye
    Tim

    Not in the thin driver. The OCI driver is making use of a specialized OCI API for that. I imagine you could do it in SQL:
    SQL> desc user_users
    Name Null? Type
    USERNAME NOT NULL VARCHAR2(30)
    USER_ID NOT NULL NUMBER
    ACCOUNT_STATUS NOT NULL VARCHAR2(32)
    LOCK_DATE DATE
    EXPIRY_DATE DATE
    DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
    TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
    CREATED NOT NULL DATE
    INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
    EXTERNAL_NAME VARCHAR2(4000)
    It seems as though the EXPIRY_DATE column may have what you are after.

  • Error while creating a report that uses Oracle OCI JDBC connectivity

    Please let me know why my CR and LF characters are removed from my forum posting *****
    Hi,
    I was trying to create a report that uses Oracle OCI JDBC connectivity. I am using Eclipse3.4 download from "cr4e-all-in-one-win_2.0.2.zip".  I have successfully created a JDBC OCI connection.
    The connection parameters are given below:
    URL: jdbc:oracle:oci8:@xe
    Database: xe
    username: <userName>
    password: <password>
    I have tested the above connection in Data source Explorer and it works fine!!!
    But I am getting the following error when I drag-and-drop a table from the list of tables. Not sure what I am missing here?  Any help is highly appreciated.
    com.businessobjects.reports.jdbinterface.common.DBException: InvalidURLOrClassName
         at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCConnection.Open(Unknown Source)
         at com.crystaldecisions.reports.queryengine.JDBConnectionWrapper.Open(SourceFile:123)
         at com.crystaldecisions.reports.queryengine.Connection.br(SourceFile:1771)
         at com.crystaldecisions.reports.queryengine.Connection.bs(SourceFile:491)
         at com.crystaldecisions.reports.queryengine.Connection.t1(SourceFile:2979)
         at com.crystaldecisions.reports.queryengine.Table.u7(SourceFile:2408)
         at com.crystaldecisions.reports.dataengine.datafoundation.AddDatabaseTableCommand.new(SourceFile:529)
         at com.crystaldecisions.reports.common.CommandManager.a(SourceFile:71)
         at com.crystaldecisions.reports.common.Document.a(SourceFile:203)
         at com.businessobjects.reports.sdk.requesthandler.f.a(SourceFile:175)
         at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.byte(SourceFile:1079)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1163)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:657)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:163)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:525)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:523)
         at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
         at java.util.concurrent.FutureTask.run(Unknown Source)
         at com.businessobjects.crystalreports.designer.core.util.thread.ExecutorWithIdleProcessing$3.doWork(ExecutorWithIdleProcessing.java:182)
         at com.businessobjects.crystalreports.designer.core.util.thread.AbstractCancellableRunnable.run(AbstractCancellableRunnable.java:69)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityTask.run(PriorityTask.java:75)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityCompoundCancellableRunnable.runSubtask(PriorityCompoundCancellableRunnable.java:187)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityProgressAwareRunnable.runSubtask(PriorityProgressAwareRunnable.java:90)
         at com.businessobjects.crystalreports.designer.core.util.thread.PriorityCompoundCancellableRunnable.doWork(PriorityCompoundCancellableRunnable.java:144)
         at com.businessobjects.crystalreports.designer.core.util.thread.AbstractCancellableRunnable.run(AbstractCancellableRunnable.java:69)
         at com.businessobjects.crystalreports.designer.core.util.thread.ExecutorWithIdleProcessing$IdleTask.run(ExecutorWithIdleProcessing.java:320)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Thanks
    Karthik
    Edited by: KARTHIK1 on Oct 14, 2009 9:38 PM

    Hi Ted,
    Thanks for the feedback. I was able to create a report in Creystal Reports Designer 2008 using OCI.  It is not allowing only in the Eclipse plugin. In our environment we are not allowed to user Oracle thin connections and ONLY OCI is allowed.
    1) Can you please let me know if there is a way to do this? 
    2) Will it allow data sources using native database driver?
    3) If so, can I use JRC to create these reports from a desktop java program?
    Thanks & Regards
    Karthik
    Edited by: KARTHIK1 on Oct 15, 2009 4:38 PM

  • Oracle 8.1.5 and JDBC OCI connection problem

    We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
    When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    After we downloaded 8.1.6sdk driver from technet and install it, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at java.lang.LinkageError.<init>(LinkageError.java:43)
    at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
    at java.lang.ClassLoader.loadLibrary(Compiled Code)
    at java.lang.Runtime.loadLibrary0(Runtime.java:471)
    at java.lang.System.loadLibrary(System.java:745)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
    I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
    null

    Please this is not simple as simple as checking the classpath and LD_LIBRARY_PATH.
    I tried the sample program and the result is the same. As pointed out first by Won, putting the libocijdbc8.so from SDK8.1.6 in the LD_LIBRARY_PATH has no effect at all. It gives the unsatisfied linker error. The sample program fails. However the sample program works fine with the libocijdbc8.so from sdk8.1.5. The library gets loaded. But at the time of creating the connection it gives make_c_state error.
    Here is my CLASSPATH, PATH and LD_LIBARY_PATH variables
    ORACLE_HOME=/opt/oracle/product/8.1.5
    LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/opt/oracle/product/8.1.5/lib
    PATH=/usr/openwin/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/opt/oracle/product/8.1.5/lib
    Hope you are able to provide better answer then check your environment variables.
    THE libocijdbc8.so FROM SDK8.1.6 DOES NOT GET LOADED AT ALL.
    Waiting for the reply.
    Please Help.
    Regards,
    Vipul Modi.
    Novell Inc.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Won, Taewoong([email protected]):
    We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
    When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    After we downloaded 8.1.6sdk driver from technet and install it, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at java.lang.LinkageError.<init>(LinkageError.java:43)
    at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
    at java.lang.ClassLoader.loadLibrary(Compiled Code)
    at java.lang.Runtime.loadLibrary0(Runtime.java:471)
    at java.lang.System.loadLibrary(System.java:745)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
    I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
    <HR></BLOCKQUOTE>
    null

  • Memory Leak in 8.1.6.0.1 JDBC/OCI for Solaris

    Hello,
    there is a memory leak in the 8.1.6.0.1 JDBC-OCI driver for solaris.
    The leak causes your jvm to eat up all memory
    if you reuse callable statements
    (calling one statement multiple times with
    different values).
    The thin driver has no such problem. Is
    there any fix available ?

    Ok. The code spans multiple classes and
    most of it comes from a customized version
    of the Enhydra Java Application server.
    I have a class called "StandardDBConnection"
    which caches CallableStatements and is a
    wrapperclass for java.sql.DBConnection. The
    interesting method here is "prepareCall":
    * Get a callable statement given an SQL string. If the statement is
    * cached, return that statement, otherwise prepare and save in the
    * cache.
    * @param sql The SQL statement to be called.
    * @return a new CallableStatement object containing the
    * pre-compiled SQL statement.
    * @exception java.sql.SQLException If a database access error occurs
    * statement.
    public synchronized CallableStatement prepareCall(String sql)
    throws SQLException {
    PreparedStatement preparedStmt;
    logDebug ("Prepare call: " + sql);
    validate();
    preparedStmt = (PreparedStatement)preparedStmtCache.get(sql);
    // Check if the object returned by the cache really is a
    // callable statement. if it is not, someone did call first
    // prepareStatement() and now prepareCall() with the same
    // sql. Silently replace the existing cache entry by a
    // callable statement in this case.
    if (preparedStmt instanceof CallableStatement) {
    preparedStmt.clearParameters();
    else {
    // Need to close the old PreparedStatement in case we have to
    // replace it with a CallableStatement
    if (preparedStmt != null) {
    preparedStmt.close();
    else if (preparedStmtCache.size() >= maxPreparedStmts) {
    String key = (String)preparedStmtCache.keys().nextElement();
    ((PreparedStatement) preparedStmtCache.remove(key)).close();
    preparedStmt = connection.prepareCall(sql);
    preparedStmtCache.put(sql, preparedStmt);
    return (CallableStatement)preparedStmt;
    The statements get closed when I close the
    connection:
    boolean closeStmts = true;
    // Close the prepared statements.
    Enumeration e = preparedStmtCache.keys();
    while (e.hasMoreElements() && closeStmts) {
    String key = (String)e.nextElement();
    try {
    ((PreparedStatement)
    preparedStmtCache.remove(key)).close();
    } catch (SQLException except) {
    // Ignore errors, we maybe handling one.
    closeStmts = false;
    log.write(Logger.NOTICE,
    "DBConnection[" + id + "]: " + url +
    "\nUnable to close statements. Continuing....\n");
    In my classes using database queries I just
    use the prepareCall method of DBConnection
    and do not have to care about anything.
    Works perfectly with the thin driver, but
    as soon as I switch to oci... :-|
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JDBC Dev Team:
    Soda, Rupper,
    Do you mind posting some code that shows us what your code was doing when you notice this leak?
    Thanks.<HR></BLOCKQUOTE>
    null

  • SetString/executeBatch fails in Oracle 10g OCI JDBC driver

    Hi,
    I am using Oracle 10g OCI jdbc driver for batch updates.
    Following is the the code that I am using
    import java.sql.*;
    import oracle.jdbc.*;
    import oracle.jdbc.pool.OracleDataSource;
    public class BatchUpdates
    public static void main(String[] args)
    Connection conn = null;
    Statement stmt = null;
    PreparedStatement pstmt = null;
    ResultSet rset = null;
    int i = 0;
    try
    String url = "jdbc:oracle:oci:@kctutf8";
    try {
    String url1 = System.getProperty("JDBC_URL");
    if (url1 != null)
    url = url1;
    } catch (Exception e) {
    OracleDataSource ods = new OracleDataSource();
    ods.setUser("kctuser");
    ods.setPassword("kana");
    ods.setURL(url);
    conn = ods.getConnection ();
    stmt = conn.createStatement();
    try { stmt.execute(
    "create table mytest_table (col1 number, col2 varchar2(20))");
    } catch (Exception e1) {}
    pstmt = conn.prepareStatement("insert into mytest_table values (?, ?)");
    pstmt.setInt(1, 1);
    pstmt.setString(2, "row 1");
    pstmt.addBatch();
    pstmt.setInt(1, 2);
    pstmt.setString(2, "row 2");
    pstmt.addBatch();
    pstmt.setInt(1, 3);
    pstmt.setString(2, "row 3");
    pstmt.addBatch();
    pstmt.setInt(1, 4);
    pstmt.setString(2, "row 4");
    pstmt.addBatch();
    pstmt.setInt(1, 5);
    pstmt.setString(2, "row 5");
    pstmt.addBatch();
    pstmt.executeBatch();
    rset = stmt.executeQuery("select * from mytest_table");
    while (rset.next())
    System.out.println(rset.getInt(1) + ", " + rset.getString(2));
    catch (Exception e)
    e.printStackTrace();
    finally
    if (stmt != null)
    try { stmt.execute("drop table mytest_table"); } catch (Exception e) {}
    try { stmt.close(); } catch (Exception e) {}
    if (pstmt != null)
    try { pstmt.close(); } catch (Exception e) {}
    if (conn != null)
    try { conn.close(); } catch (Exception e) {}
    When I run this class I get the following output
    1, row 1
    2, row 3
    3, row 5
    4, null
    5,
    But It should have been
    1, row 1
    2, row 2
    3, row 3
    4, row 4
    5, row 5
    The same class runs fine if I use Thin driver.
    Can anyone please help me solve this issue.
    Note: This happens only in case we use setString with Varchar2 in the DB. This works fine if I have two number columns
    Thanks,
    Raja.S

    Please post this question to the Java forum. It is located under "Technologies".

  • Oracle JDBC OCI doesn't work on Linux

    Hi,
    I'm using Oracle on Linux(RH6, kernel 2.2.13)
    Oracle works fine.
    JDBC Thin driver -OK!
    But java receives SIGSEV when I'm using JDBC OCI. More specific, it seems to be a problem with the so library associated to this driver, cause this SIGSEV happens in a native method.
    Help?

    Have you posted this question to the JDBC/SQLJ Users group on Technet.
    This is a JSP users group.

  • JDBC-OCI (8.1.6) - Weblogic

    Hi,
    I am trying to get weblogic 4.5 to connect to an Oracle 8i database.
    The database and listener are operating fine, but so far I cannot connect from weblogic.
    1) What type is the JDBC-OCI driver for 8.1.6 (supporting JDK 1.2)?
    2) Do I need to install the OCI driver as well as the JDBC driver on the weblogic server? If so, where do I get the OCI driver?
    Regards,
    Ultan
    [email protected]

    Your questions are confusing. You seem to consider OCI Driver and JDBC Driver as 2 versions of drivers, but in reality the former is a type of the latter.
    Oracle supplies 2 types of JDBC drivers, i.e., Type II, or the OCI driver, and Type IV, the Thin driver. They are both contained in the classes111 or classes12.zip file. To use the OCI driver, you need to install the Oracle Client Library (OCI library).
    To use these drivers with WebLogic, you need to include the path to the classes111.zip file in your weblogic.class.path variable in the startWebLogic.bat or .sh script file, or set it in the Windows Registry.
    Eric Ma

  • Oci-jdbc on window, missing a file k???10.dll

    downloaded, installed the light version, set the path and classpath,
    compiled a java program, and ran :
    it ran. but on database part, an dialog box poped up -- couldn't locate file k???10.dll for an entry point from oci.dll. the file start with k, end with 10.dll, I don't remember the exact file name. this file is not included in the downloaded INSTANT CLIENT files.
    I checked the 10g Express Edition Home/bin, there is no this file either.
    If I change "oci" back to "thin", and reset my classpath to point to thin JDBC,
    recompile and run, it works.
    What is wrong with my OCI-JDBC?
    J.

    That sounds strange. businesscircle_logosgray.pdf is the spiral image above the word "Company" in the template. I assume you deleted it, when you made your own templates. It is supposed to be a place holder to replace with another image.
    I would probably try recreating your new template and keep the image just in case. You could also try creating a new blank template and paste everything from the business template except that image. Hope you manage to sort it out.

  • JDBC/OCI driver for JDK1.2

    Hi,
    I have an evaluation copy of Oracle8 version 8.0.3.0 and
    downloaded the JDBC/OCI driver for JDK1.1 (classe111.zip). The
    example I used was also taken from this site, which connects to
    the database and lists ename from emp, using scott/tiger.
    Everything worked fine under JDK1.1 but I can't get the code to
    work with JDK 1.2
    Does Oracle provide a JDBC/OCI driver that will work with JAVA
    1.2 or am I missing something. Please note that I am not using
    Oracle8i.
    Any assistance would be greatly appreciated.
    Karim
    null

    Karim,
    Openlink Software (http://www.openlinksw.com) provides JDBC 2.0
    drivers in version 3.2. This version will be hitting our public
    web site next week, but you can get pre-release components from
    ftp://ftp.openlinksw.com/pre-3.2/index.html
    The JDK 1.2 drivers are all the way at the bottom under the
    Windows section.
    HTH,
    Stephen
    Karim (guest) wrote:
    : Hi,
    : I have an evaluation copy of Oracle8 version 8.0.3.0 and
    : downloaded the JDBC/OCI driver for JDK1.1 (classe111.zip). The
    : example I used was also taken from this site, which connects
    to
    : the database and lists ename from emp, using scott/tiger.
    : Everything worked fine under JDK1.1 but I can't get the code
    to
    : work with JDK 1.2
    : Does Oracle provide a JDBC/OCI driver that will work with JAVA
    : 1.2 or am I missing something. Please note that I am not using
    : Oracle8i.
    : Any assistance would be greatly appreciated.
    : Karim
    null

  • AIX JDBC OCI Driver

    I'm using IBM's WebSphere JDBC connection pool to manage oracle
    connections. While the code worked normally on Sun Solaris, I
    get ORA-03123, ORA-03127 etc errors on AIX. I'm closing the
    resultsets, the statement handles and releasing the connection
    after each SQL execution. Is this an AIX JDBC OCI driver problem
    or am I missing something.
    Thanks,
    Ravi
    null

    I found problem like you but on DIGITAL UNIX 4.0D It's an
    AIO Consistency Error.. did you know some thing about this??
    and For your question OCI7 driver to connect to ORACLE7.3.4 are
    in liboci73.so or another extension depend on your OS (I don't
    know what's one on AIX) but it must come with Oracle
    Installation Package you can install on AIX :>
    Prashant (guest) wrote:
    : Hi:
    : Does any one know where I could find JDBC/OCI level 2 driver
    : for AIX (4.2) running Oracle (7.3.4). All I have been able to
    : locate is the NT and Solaris. Both contains classes and shared
    : libraries for that machine. I saw someone posted this question
    : before, however, suggestions was to use dynamic library
    generated
    : for Solaris, this will not work. Does anyone have other
    : suggestions.
    : Any and all help is appreciated.
    : Many Thanks
    : Prashant.
    null

  • Jdbc oci interface and xdb API for oracle 9.2.0.7

    I have a Java application that uses the jdbc oci interface to connect to an Oracle database and insert some XML into an XMLType column using the XDB APIs provided in xdb.jar.
    OS : IBM AIX version 5.1
    JVM : IBM 32-bit SDK pour AIX, Java 2 Technology Edition, version 1.4.2
    libraries used :
    ojdbc14.jar
    nls_charset12.jar
    xdb.jar
    xmlparserv2.jar
    libocijdbc9.so
    with Oracle 9.2.0.1 the application worked correctly. However we have just upgraded from Oracle 9.2.0.1 to Oracle 9.2.0.7 and now the JVM crashes when the XMLType.createXML(java.sql.Connection, java.lang.String) API is called. The error message is :
    JVMDG217: Dump Handler is Processing Signal 11 - Please Wait.
    JVMDG303: JVM Requesting Java core file
    JVMDG304: Java core file written to /<snip>/javacore2375690.1152115549.txt
    JVMDG215: Dump Handler has Processed Exception Signal 11.
    start.shl: 2375690 Segmentation fault(coredump)
    In the javacore file we find the lines :
    1XHSIGRECV SIGSEGV received at 0xdd7b7d6c in /<snip>/libocijdbc9.so. Processing terminated.
    ... <snip> ...
    "Thread-2" (TID:0x3030B4D8, sys_thread_t:0x75A8B128, state:R, native ID:0xA0C) prio=5
    4XESTACKTRACE at oracle.xdb.XMLType.createXMLTypeFromStringNative(Native Method)
    4XESTACKTRACE at oracle.xdb.XMLType.<init>(XMLType.java:518)
    4XESTACKTRACE at oracle.xdb.XMLType.createXML(XMLType.java:593)
    Does anyone have any ideas? Changing the version from 9.2.0.7 is not an option.
    Thanks,
    Dave Gosling.

    The 9.2.0.5 patchset, and all patchsets, are available for download from Metalink.
    There should be a rather large variety of JDBC drivers that will connect to an 9.2.0.5 database if that's what you're asking about.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • How do you install the JDBC-OCI patch for a Windows NT4 IFS Installation?

    I am about to install IFS on a Windows NT4 Server. I dont understand the instructions for installing the JDBC-OCI patch.
    How do you install the JDBC-OCI drivers?
    Do I install them after installing Oracle 8.1.6? and before installing IFS?
    Is it necessary to install them?
    I would be grateful for as much help as possible, I have never done anything like this before.
    [email protected]

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jaikishan Tada, Oracle Support:
    Before installing iFS, you need to install
    Oracle8i Client (with Administrator option).
    This installs JDBC-OCI driver and other
    common Oracle components such as Net8,
    OEM ....
    The JDBC-OCI driver patch is available from
    technet to download. Go to the url - http://technet.oracle.com/software/tech/java/sqlj_jdbc/software_index.htm
    and download Oracle8i 8.1.6.0.1 JDBC Drivers for use with JDK 1.1.x.
    Apply the patch and carry out iFS installation/configuration.
    Go through the iFS installation guide.
    Good Luck,<HR></BLOCKQUOTE>
    null

  • How to involve time in a date column in JDBC OCI 8.0.5.2.

    Hi,
    I need to involve time in a date column in JDBC OCI 8.0.5.2.
    The default date format is like "09-Sep-1999". I could use it
    but just need time involved too, like "09-Sep-1999 10:11:12".
    I tried to use JDBC's Timestamp whose format is like
    1999-9-9 12:00:00.000, just same as the dates selected from my
    table,
    but got an error message "literal doesn't match format string".
    The JDBC document said Oracle's date could be JDBC date,
    timestamp and char.
    Thanks a lot!
    -Ninon
    null

    : The only oracle driver that vcan run with JDK 1.2.x is in the
    OTN
    : download area and is named "816SDK for JDK 1.2"
    : it will work with the JDK 1.2.X using the JDBC 1.22 spec from
    JDK
    : 1.1.X.
    : IT DOES NOT PROVIDE THE FULL JDBC 2.0 FEATURES/ FUNCTIONALITY
    : THAT ARE INCLUDED IN THE JDK 1.2.X CLASSES.
    Does anyone know which versions of Oracle this driver will work
    with? I'm trying to use JDK 1.2 and Oracle 8.04 with the above
    mentioned driver, but it's misbehaving on prepared statements:
    I'm getting a 'ORA-8001 not all variables bound' error even
    though I'm correctly specifying binary data (using
    PreparedStatement.setBytes(..)) for a LONG RAW column...
    Please don't tell me I have to upgrade my Oracle installation in
    order to use JDBC with JDK 1.2.x
    Feedback is greatly appreciated!
    thanks!
    // Tor Kleiberg
    null

Maybe you are looking for