Using OCI to read geometries

Is anyone using OCI to read/write Oracle8i Spatial geometries? I need help!!!!

Hi Martin,
If you have oracle spatial installed, check out the examples is:
$ORACLE_HOME/md/demo/examples - there are examples of reading and writing geometries.

Similar Messages

  • How to bind arrays to PL/SQL stored procedure using OCI?

    Hi,
    We are having problems trying to bind arrays to PL/SQL stored procedure using OCI. Here is the situation:
    - We have a stored procedure called "GetVEPFindTasks" with the following interface:
    PROCEDURE GetVEPFindTasks (
    p_ErrorCode OUT NUMBER,
    p_ErrorMsg OUT VARCHAR2,
    p_RowCount OUT NUMBER,
    p_VEPFindTasks OUT t_VEPFindTaskRecordTable,
    p_MaxTask IN NUMBER);
    t_VEPFindTaskRecordTable is a record with the following entries:
    TYPE t_VEPFindTaskRecord IS RECORD (
    RTCID NUMBER,
    TransNum NUMBER,
    TransTimestamp VARCHAR2(20),
    Pathname1 image_data.pathname%TYPE,
    Pathname2 image_data.pathname%TYPE,
    Pathname3 image_data.pathname%TYPE,
    OperatorID operator.id%TYPE);
    - Now, we are trying to call the stored procedure from C++ using OCI (in UNIX). The call that we use are: OCIBindByName and OCIBindArrayOfStruct to bind the parameters to the corresponding buffers. We bind all parameters in the interface by name. Now, we do bind the record's individual item by name (RTCID, TransNum, etc.), and not as a record. I don't know if this is going to work. Then, we use the bind handles of the binded record items (only record items such as RTCID, TransNum, and NOT error_code which is not part of the record) to bind the arrays (using OCIBindArrayOfStruct).
    All of the parameters that are binded as arrays are OUTPUT parameters. The rest are either INPUT or INPUT/OUTPUT parameters. Now, when we try to execute, OCI returns with an error "Invalid number or types of arguments" (or something to that sort... the number was something like ORA-06550). Please help...
    Is there any sample on how to use the OCIBindArrayOfStruct with PL/SQL stored procedures? The sample provided from Oracle is only for a straight SQL statement.
    Thank's for all your help.
    ** Dannil Chan **

    As you said:
    You have to pass in an array for every field and deconstruct/construct the record in the procedure. There is no support for record type or an array of records. Can you give me a example? I'am very urgently need it.
    thanks
    email: [email protected]

  • Oracle database Connectivity using OCI driver

    I am getting the error only when ever I am using oci driver
    oracle.url=jdbc:oracle:oci:@(description=(address=(host=url.name.com)(protocol=tcp)(port=1521))(connect_data=(sid=user)))
    04:52:55,093 ERROR [STDERR] java.sql.SQLException: ???S???Y??x??
    04:52:55,094 ERROR [STDERR] at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    04:52:55,094 ERROR [STDERR] at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
    04:52:55,095 ERROR [STDERR] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:204)
    04:52:55,095 ERROR [STDERR] at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:650)
    04:52:55,095 ERROR [STDERR] at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:338)
    04:52:55,095 ERROR [STDERR] at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
    04:52:55,095 ERROR [STDERR] at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:133)
    04:52:55,096 ERROR [STDERR] at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53)
    04:52:55,096 ERROR [STDERR] at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
    04:52:55,096 ERROR [STDERR] at java.sql.DriverManager.getConnection(DriverManager.java:582)
    04:52:55,096 ERROR [STDERR] at java.sql.DriverManager.getConnection(DriverManager.java:185)
    04:52:55,097 ERROR [STDERR] at org.apache.jsp.index_jsp._jspService(index_jsp.java:68)
    04:52:55,097 ERROR [STDERR] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    04:52:55,097 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    04:52:55,097 ERROR [STDERR] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    04:52:55,097 ERROR [STDERR] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
    04:52:55,098 ERROR [STDERR] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
    04:52:55,098 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    04:52:55,098 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
    04:52:55,098 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
    04:52:55,099 ERROR [STDERR] at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:63)
    04:52:55,099 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
    04:52:55,099 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
    04:52:55,099 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
    04:52:55,099 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    04:52:55,100 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
    04:52:55,100 ERROR [STDERR] at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
    04:52:55,100 ERROR [STDERR] at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
    04:52:55,100 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
    04:52:55,101 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
    04:52:55,101 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    04:52:55,101 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    04:52:55,101 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    04:52:55,101 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    04:52:55,102 ERROR [STDERR] at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
    04:52:55,102 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
    04:52:55,102 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
    04:52:55,102 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
    04:52:55,102 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
    04:52:55,103 ERROR [STDERR] at java.lang.Thread.run(Thread.java:619)
    04:52:55,105 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[Test].[jsp]] Servlet.service() for servlet jsp threw exception: java.sql.SQLException: ???S???Y??x??
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:204) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:650) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:338) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:133) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510) [ojdbc5.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at java.sql.DriverManager.getConnection(DriverManager.java:582) [:1.6.0_13]
    at java.sql.DriverManager.getConnection(DriverManager.java:185) [:1.6.0_13]
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:68)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [:6.0.0.20100911-M5]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Beta2]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [:6.0.0.20100911-M5]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.0.0.20100911-M5]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.0.0.20100911-M5]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Beta2]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.20100911-M5]
    at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:63) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.20100911-M5]
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.20100911-M5]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.CR3]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.CR3]
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.20100911-M5]
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.20100911-M5]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.20100911-M5]
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.20100911-M5]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.20100911-M5]
    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.20100911-M5]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.20100911-M5]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.20100911-M5]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [:6.0.0.20100911-M5]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.20100911-M5]
    at java.lang.Thread.run(Thread.java:619) [:1.6.0_13]
    When I am using thin driver, I am successful in connecting to the database
    oracle.url=jdbc:oracle:thin:@(description=(address=(host=url.name.com)(protocol=tcp)(port=1521))(connect_data=(sid=user)))
    I am using JBOSS 1.6 with oracle 11.1.0 and jdk 1.6
    Please help me resolve the problem
    Thanks,
    Kumar

    You should confirm that you can connect to the DB with a simple Java class using the url that the code you posted is using.
    This will show that the OCI client is installed and executing properly. If you can't connect externally you will need to fix that first.
    Is the Oracle client installed on the same machine the JDBC code is running on?

  • Steps to Connect remote Oracle Server using OCi C in Linux

    Hi !
    I am trying to connect oracle server through my application using OCI C in linux, it works fine in my oracle server machine.
    I want to connect oracle server through my C application from Oracle Client Machine
    can anyone help me in this issue ?
    regards
    Balaji.C

    Sounds like you did not specify your database name. Or you database name is hard-coded.
    Can you show us the code?
    Is your TNSNAMES.ORA set up correctly?
    Also, you did not specify any error messages or anything. Are you checking the result codes after any functions?

  • ORA-12504 error when connecting to Oracle 11G DB using OCI and instantclient-basic-nt-11.2.0.3.0.zip

    Dear Friends,
    I am using OCI and instant_client (11.2.0.3.0)  in my C++ program (on Windows 7) to connect remotely to 11G database.
    While doing a connection using server name as well as servername:port/service_name as connection strings, I am getting error of ORA-12504 TNS:listener was not given the SERVICE_NAME in CONNECT_DATA.
    According to instant client FAQ & white paper at http://www.oracle.com/technetwork/database/features/instant-client/index.html, no tnsnames.ora is required for instant client. Then why could I be getting this error?
    I ensured that only the instant client directory is in Path environment variable. There was a ODBC driver installed on this same host. Could that be modifying the behavior of instant client?
    Kindly guide.
    Many thanks in advance for your help and time.
    Best Regards,
    - ganesh

    >>what is the exact connect string you are using?
    For connection, I am using the plain hostname on which the DB server is running.
    >>are you calling OCIServerAttach before OCISessionBegin?
    I am not using OCISessionBegin. For connecting to DB server, I am using the following sequence of OCI calls (in this same order):
    1) g_OCIEnvNlsCreate
    2) g_OCIHandleAlloc //-- error handle: OCI_HTYPE_ERROR
    3) g_OCIHandleAlloc // --- sevice context: OCI_HTYPE_SVCCTX
    4) Setting driver name and application name for the session:
        OCISession* usersession = 0;
        ret = g_OCIAttrGet(m_pSvcCtx, OCI_HTYPE_SVCCTX, &usersession, NULL,
                                 OCI_ATTR_SESSION, m_pErrHdl);
        if (ret == OCI_SUCCESS)
            ret = g_OCIAttrSet(usersession, OCI_HTYPE_SESSION, (void*)"OCI_DRV", 2,OCI_ATTR_DRIVER_NAME, m_pErrHdl);
            ret = g_OCIAttrSet(usersession, OCI_HTYPE_SESSION, (void*)"ClientApplication", <ub4>(strlen("DataReconScanning")), OCI_ATTR_CLIENT_IDENTIFIER, m_pErrHdl);
    5) g_OCILogon() using the user, password and host name, as below:
    g_OCILogon(m_pDbCon, m_pErrHdl, &m_pSvcCtx,
                                   (text*)user.c_str(), static_cast<ub4>(user.length()),
                                   (text*)pass.c_str(), static_cast<ub4>(pass.length()),
                                   (text*)host.c_str(), static_cast<ub4>(host.length()));
    Thanks.

  • PHP and OCI-Lob::read from oracle clob

    I'm having a weird problem with PHP and the OCI-Lob::read method.
    We have a page that connects to the database and pulls all the other fields out with no problems. However, it when it comes to the clobs, only a small portion of the actual data is retrieved.
    The code uses:
    $content= $features[14]->read(2000); echo $content;
    And we're getting a tiny section of the field returned (only about 185 out of a total 553 chars). The really strange thing is that no matter what the length specified is - it still only returns a small section - and the cut off seems to actually be 549 bytes/chars - anything below the read(length) specified as 549 shortens the returned string (even though what is returned is far less the 549 chars) but anything over 549 makes no difference.
    Additionally, we've used the OCI-Lob::load method with exactly the same results where only a portion of the actual contents of the clob field is returned.
    Any ideas what could be causing this?
    PHP version is 5.1.6
    RDBMS is 11.2.0.4.2
    Following shows OCI config via phpinfo()
    oci8
    OCI8 Support
    enabled
    Revision
    $Revision: 1.269.2.18 $
    Active Persistent Connections
    1
    Active Connections
    1
    Oracle Instant Client Version
    10.2
    Temporary Lob support
    enabled
    Collections support
    enabled
    Directive
    Local Value
    Master Value
    oci8.default_prefetch
    10
    10
    oci8.max_persistent
    -1
    -1
    oci8.old_oci_close_semantics
    0
    0
    oci8.persistent_timeout
    60
    60
    oci8.ping_interval
    60
    60
    oci8.privileged_connect
    Off
    Off
    oci8.statement_cache_size
    20
    20

    Your version of OCI8 corresponds to PECL OCI8 1.2.1, which is very old.  You can see the subsequent fixes in the changelog PECL :: oci8 Changelog In particular there have been a number of LOB changes.
    I would start by upgrading. Ideally you would use PHP 5.5 with PECL OCI8 2.0.8 and Instant Client 11.2.0.4.  Otherwise just upgrade to PECL OCI8 1.4.10 and Instant Client to 11.2.0.4.  The following instructions should help: Installing PHP and the Oracle 11g Instant Client for Linux and Windows
    I am suggesting using PECL OCI8 because it is more recent than the OCI8 in the PHP 5.1.x - 5.5.x bundles.  PHP 5.6 natively has OCI8 2.0 but you may not want to upgrade an existing site to PHP 5.6 until this branch of PHP has matured.

  • Core dump using OCI HP 32 bit package

    Does any one successfully run OCI application on HP using 32 bit libraries?
    I got core dump at the end of running application, around desctruction part. Following are the statement I got from GDB:
    #0 0xc005db14 in pthread_mutex_destroy+0x18 () from /usr/lib/libpthread.1
    #1 0xc021efd8 in __thread_mutex_free+0x40 () from /usr/lib/libc.2
    #2 0xc0abb4b8 in HPMutexWrapper::~HPMutexWrapper+0x48 () from /usr/lib/libstd_v2.2
    #3 0x613c in std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_C_unlink (this=0x7bff153c) at /opt/aCC/include_std/string:1002
    #4 0xccd0 in ociWrapper::cursor::~cursor (this=0x7bff1538, #free=2) at /vobs/Guru2/IDCE/ociWrapper/ociWrapper.cpp:220
    #5 0x65a8 in main () at /vobs/Guru2/Oracle/HP-UX/sdk/demo/oci_wrapper_insert.cpp:73
    If I build my application in 64 bit using OCI 64 bit package, no problem at all. But I have to make my application work in 32 bit so that I can not simply switch to 64 bit.
    Please give me some help. Thanks.

    I got the problem solved myself. The core dump happens when use OCI 32 bit libraries with STL string. It cores at destroying the STL string.
    Add the option "-mt" to the compile command, the problem will go away.

  • SQL Developer 3.2 crashes with java error when using OCI/Thick Driver

    I just installed SQL Developer 3.2 on my linux desktop. SQL Developer crashes with a java error when I select a database from the object tree.
    When I check Use OCI/Thick driver the application will crash when I navigate to the tree and open a database.
    The app does not crash then I have Use OCI/Thick driver unchecked.
    Here are some details of my environment:
    Desktop OS: Fedora 17 Linux
    $ uname -a
    Linux 3.5.1-1.fc17.x86_64 #1 SMP Thu Aug 9 17:50:43 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
    Java:
    $ java -version
    java version "1.6.0_34"
    Java(TM) SE Runtime Environment (build 1.6.0_34-b04)
    Java HotSpot(TM) 64-Bit Server VM (build 20.9-b04, mixed mode)
    Oracle instant client:
    $ sqlplus -V
    SQL*Plus: Release 11.2.0.3.0 Production
    Here are the error messages:
    $ sqldeveloper
    Oracle SQL Developer
    Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
    # A fatal error has been detected by the Java Runtime Environment:
    # SIGSEGV (0xb) at pc=0x00007f6de7157664, pid=3049, tid=140109371119360
    # JRE version: 6.0_34-b04
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.9-b04 mixed mode linux-amd64 compressed oops)
    # Problematic frame:
    # V [libjvm.so+0x516664] unsigned+0xd4
    # An error report file with more information is saved as:
    # /tmp/hs_err_pid3049.log
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    /opt/sqldeveloper/sqldeveloper/bin/../../ide/bin/launcher.sh: line 544: 3049 Aborted (core dumped) ${JAVA} "${APP_VM_OPTS[@]}" ${APP_ENV_VARS} -classpath ${APP_CLASSPATH} ${APP_MAIN_CLASS} "${APP_APP_OPTS[@]}"

    I also had the problem of SQL Developer crashing when using OCI/Thick driver but I've managed to solve it. My configuration is:
    - Windows 64-bit
    - Java 64-bit (1.6.0.34)
    - SQL Developer 3.2.09 64-bit
    - OCI Instant client 11.2.0.3 64-bit (without installation).
    The thing that solved the problem was copying two files, ojdbc5.jar and ojdbc6.jar, from Instant client installation folder to JAVA_HOME/lib/ext folder+.
    After that, I haven't had a single crash or error message.
    The same trick that solved the problem on 64-bit installation also solved the problem on another windows computer with 32-bit SQL Developer installation.

  • How do you call a function within a package using OCI in C

    I am trying to call a user-defined function in Oracle 8.1.7 using OCI in C. I am getting a ORA-06550 PLS-00221, <function name> is not a procedure or is undefined. Can anyone tell me how I would call a function using OCI?
    Thanks.

    I think I figured it out, but I am now getting a ORA-06512 error; numeric or value error: character string buffer too small.

  • Unable to Connect to Oracle 10gR1 database from JDeveloper 11g using OCI

    We are migrating our application from OC4J to Weblogic server. As a part, I am trying to create a database connection in JDeveloper 11g (11.1.1.3.0 - Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660) to Oracle 10gR1 database. Previously I had Oracle 10g Client installed in the machine. Created a database connection using OCI driver and when I try to test connect, I got "Test Failed: no ocijdbc11 in java.library.path". I searched through Metalink and forums and one suggestion was to install Oracle 11g Client on the machine where Jdeveloper 11g is installed. I installed 11g R1 client and tried the same test connection using OCI driver. Now I am getting "Test failed: ORA-12705: Cannot access NLS data files or invalid environment specified" error.
    The same database connection works good with Thin driver with both Oracle 10g client and 11gR1 client.
    Previously I had Jdeveloper 10.1.3.2 and Oracle 10g Client and I was able to connect to database without any errors.
    Could you provide me the steps for this or if I missed any steps?
    Steps to Replicate:
    For the error: no ocijdbc11 in java.library.path
    1) Install JDeveloper 11g (With embedded Weblogic Server)
    2) Install Oracle 10g Client on the same machine
    3) Create a database connection in the "Application Resources --> Connection"
    4) Use OCI driver. Enter the host details about the Oracle 10g R1 database
    5) Test connect to the database.
    ORA-12705: Cannot access NLS data files or invalid environment specified
    1) Install JDeveloper 11g (With embedded Weblogic Server)
    2) Install Oracle 11gR1 Client on the same machine
    3) Create a database connection in the "Application Resources --> Connection"
    4) Use OCI driver. Enter the host details about the Oracle 10g R1 database
    5) Test connect to the database.
    Note: Tried the same scenarios with Oracle 11gR2 client as well. It was not working at all.
    Any ideas and pointers would be great.

    1. will my problem get solved after i install oracle 11g client on my machine.Yes, your problem should get solved. The version of the Oracle 11g Client must match the version of the JDev's JDBC drivers. Alternatively you may install an Oracle 11g Client and replace JDev's Oracle JDBC drivers with these from the installed client. Please, read carefully my 1st posting above in this thread.
    2. can i patch JDeveloper 11g on my machine to work with 10g client, or can i do the same with 10g client.You might succeed if you replace JDev's built-in JDBC drivers (which are 11g versions) with 10g versions, but I do not recommend you to try that because JDeveloper 11g and ADF 11g may be using some 11g features that do not exist in 10g drivers, so you may have problems.
    I also have PLSql developer installed on my machine and it works well.PL/SQL Developer does not use JDBC drivers, so it is not an relevant example in this case.
    My generall recommendation is to use Oracle JDBC Thin drivers. Oracle claimed that OCI drivers had better performance, but this was really true about earlier releases. Current Oracle 11g JDBC Thin drivers offer excellent performance and they offer all the features of the OCI versions (which was not true about earlier releases). In my opinion, the most important disadvantage of Oracle JDBC OCI drivers is that most versions have native memory leaks so all the RAM would get consumed after long application execution. The fact that WebLogic Server does not offer Oracle JDBC OCI drivers by default anymore says that Oracle discourages the usage of the OCI driver in favour of Thin driver.
    Dimitar

  • Unable to Connect to Oracle 10gR1 database from JDeveloper 11g using OCI JD

    We are migrating our application from OC4J to Weblogic server. As a part, I am trying to create a database connection in JDeveloper 11g (11.1.1.3.0 - Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660) to Oracle 10gR1 database. Previously I had Oracle 10g Client installed in the machine. Created a database connection using OCI driver and when I try to test connect, I got "Test Failed: no ocijdbc11 in java.library.path". I searched through Metalink and forums and one suggestion was to install Oracle 11g Client on the machine where Jdeveloper 11g is installed. I installed 11g R1 client and tried the same test connection using OCI driver. Now I am getting "Test failed: ORA-12705: Cannot access NLS data files or invalid environment specified" error.
    The same database connection works good with Thin driver with both Oracle 10g client and 11gR1 client.
    Previously I had Jdeveloper 10.1.3.2 and Oracle 10g Client and I was able to connect to database without any errors.
    Could you provide me the steps for this or if I missed any steps?
    Steps to Replicate:
    For the error: no ocijdbc11 in java.library.path
    1) Install JDeveloper 11g (With embedded Weblogic Server)
    2) Install Oracle 10g Client on the same machine
    3) Create a database connection in the "Application Resources --> Connection"
    4) Use OCI driver. Enter the host details about the Oracle 10g R1 database
    5) Test connect to the database.
    ORA-12705: Cannot access NLS data files or invalid environment specified
    1) Install JDeveloper 11g (With embedded Weblogic Server)
    2) Install Oracle 11gR1 Client on the same machine
    3) Create a database connection in the "Application Resources --> Connection"
    4) Use OCI driver. Enter the host details about the Oracle 10g R1 database
    5) Test connect to the database.
    Note: Tried the same scenarios with Oracle 11gR2 client as well. It was not working at all.
    Any ideas and pointers would be great.

    1. will my problem get solved after i install oracle 11g client on my machine.Yes, your problem should get solved. The version of the Oracle 11g Client must match the version of the JDev's JDBC drivers. Alternatively you may install an Oracle 11g Client and replace JDev's Oracle JDBC drivers with these from the installed client. Please, read carefully my 1st posting above in this thread.
    2. can i patch JDeveloper 11g on my machine to work with 10g client, or can i do the same with 10g client.You might succeed if you replace JDev's built-in JDBC drivers (which are 11g versions) with 10g versions, but I do not recommend you to try that because JDeveloper 11g and ADF 11g may be using some 11g features that do not exist in 10g drivers, so you may have problems.
    I also have PLSql developer installed on my machine and it works well.PL/SQL Developer does not use JDBC drivers, so it is not an relevant example in this case.
    My generall recommendation is to use Oracle JDBC Thin drivers. Oracle claimed that OCI drivers had better performance, but this was really true about earlier releases. Current Oracle 11g JDBC Thin drivers offer excellent performance and they offer all the features of the OCI versions (which was not true about earlier releases). In my opinion, the most important disadvantage of Oracle JDBC OCI drivers is that most versions have native memory leaks so all the RAM would get consumed after long application execution. The fact that WebLogic Server does not offer Oracle JDBC OCI drivers by default anymore says that Oracle discourages the usage of the OCI driver in favour of Thin driver.
    Dimitar

  • How to use "OCI Statement Cache - OCIStmtPrepare2" with XA ? Tuxedo ?

    Hi All
    Is there is a way to use "OCI Statement Cache - OCIStmtPrepare2" with tuxedo and XA ?
    We have found out that a lot of the "CPU time" is spent by OCIStmtPrepare. We have 8 frequent statements (with bind) that we would like to cache .
    Based on the following ORACLE paper, our interpenetration is that it is not allowed to cache statements when using XA.
    *"Oracle® Database Advanced Application Developer's Guide 11g Release 1 (11.1)" - "Developing Applications with Oracle XA"*
    Highlights from the ORACLE paper.
    "When used in an Oracle XA application, cursors are valid only for the duration of the transaction. Explicit cursors must be opened after the transaction begins, and closed before the commit or rollback."
    "Ensure that the application resets the fetch state before ending a transaction. In general, use release_cursor=no. Use release_cursor=yes only when you are certain that a statement will execute only once."
    Regards
    TechSgin

    confirmed by ORACLE.
    XA connections don't support OCIStmtPrepare2 (statement caching)

  • Audit to Database using OCI conenction!

    I need to audit to the database. Since my OAM servers are based on Linux I was using OCI connection. I was following http://download.oracle.com/docs/cd/B28196_01/idmanage.1014/b25343/audit.htm#Auditing
    And was trying to create a RDBMS profile and add an instance to the same when I get a DATABASE VALIDATION FAILED error. When I check back the logs it says Got a Clinet!
    Client not Authenticated!!
    My Database is on a different server made sure the listener is on. And the tnsnames.ora file on the OAM server reflects the one on Database server.
    How do I make sure my configurations are correct so that I can resolve te issue adn audit to database.

    I also see that there is a missing /nls/data where all *.nlb files are stored.
    Do I need to set the ORA_NLS10 env variable??

  • Extracting into Flat Files Using OCI or Pro*C Programs

    Data Extraction into Flat Files from a database Using OCI or Pro*C Programs - please provide me a sample code. It is urgent. Thank you in advance.

    This problem is very simple to solve. Simply use Pro*C, issue an SQL select into a host variable, then use unix "printf" to output the result. An alternative is to use the provided sqlplus utility to grab the data in a script, disabling headers, etc.
    Sadly, this area is a huge, basic hole in the Oracle product offering. While they have an import utility, there is no export utility, except for one that makes binary files not usable outside Oracle. Every other RDBMS I've seen has this. In Informix, you can say something like "export to <filename> select * from <table>", but that syntax is not offered by Oracle Corporation.

  • Sysdba connectivity using OCI

    Hi guys,
    I have a problem With Oracle sysdba connectivity using OCI.
    Can you any one please forward the Source code to connect SYSDBA using OCI.
    My server is Oracle 10g
    I am using VC++ as interface.
    Please respond,
    Regards,
    kishore

    You should confirm that you can connect to the DB with a simple Java class using the url that the code you posted is using.
    This will show that the OCI client is installed and executing properly. If you can't connect externally you will need to fix that first.
    Is the Oracle client installed on the same machine the JDBC code is running on?

Maybe you are looking for