C++ Call Interface :: Forward Compatibility Of Occi Application?
Apr 1, 2013
We have a occi application which is linked dynamically to occi lib on Solaris. Now during build we linked it with occi of Oracle 10.2.0.4 client but we want the same build to be able to run under Oracle 10G client as well as Oracle 11G client. But it seems that occi is not forward not backward compatible as name of dynamic occi lib has a version in it.
I wrote a simple OCCI program and ran valgrind with it. I got some memory leak in the program. I tried to search around but couldn't get any answers. I have tried to compile the program using gcc version 4.5, and icpc version 12.0.4 and they both gave the same errors. The OS I am using is RedHat Linux 6.1.
int main() { oracle::occi::Environment *theOCCIEnvPtr = NULL;
[Code] .......
and one of the leaks is :
==9744== 32 bytes in 1 blocks are definitely lost in loss record 61 of 224 ==9744== at 0x4A07279: malloc (vg_replace_malloc.c:263) ==9744== by 0x62D9147: slzsetevar (in /apps/oracle_client/libclntsh.so.11.1)...
I install Oracle instant client 11g in my Windows 7(32bit), and use MSVC6++ to test program occidml.cpp, compile is no problem, but when I run it, it crash on create Connection. I have tried to link with different version of OCCI library ( v8,v9), but all crash on create Connection.
I am completely new to anything with Oracle or OCI,
Also, basic information:
Language: C Oracle DB version: 11g
Trying to use OCI
I am trying to write a client that connects to an Oracle database and gets some information (obviously). On the OCILogon() step, I need the username, password, and db address. However, someone said there will be a tnsnames.ora file, and that should be enough.I've searched online and I have not been able to find anything that relates OCILogon() to tnsnames.ora, so here are my questions:
1) Can OCILogon() use tnsnames.ora at all? 2) Is there any other function that I should use instead of OCILogon() that would work with the tnsnames.ora
Actually i am not using OCI directly. I have a Delphi application in which I would need to clone an open db connection. Not only username, password, and target database (this is easy and i already do that).
What I would need is also inherit context variables and global temporary tables content status at the moment in which the cloning operation takes place. It seems a very difficult, if not impossible, thing to achieve.
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 [URL]..., 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.
We have code that occasionally errors with ORA-12151, with tracing indicating some funk surrounding OCI calls to OCIPing(), OCIBreak(), and OCIReset(). What the code is trying to do here is release a connection from a pool (our implementation, not OCIPool) and before releasing it trying to make sure nothing is actively running on the connection etc. The environment is created in THREADED mode (ie not non-blocking).
Reading the documentation its not really clear to me if OCIBreak() and OCIReset() are really intended to be called while in THREADED mode.
Is it a bad idea to call break/reset as part of a general connection-reset routine?
The basic control flow (minus error handling etc) is:
I am trying to fetch the data from system table "FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$" in Oracle Express edition 10.2.0.3 database, using the OCI library on Windows with C++
This table has a TIMESTAMP column of date type.
I've the following query as below:
select TIME_STAMP from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > to_date('31/OCT/12 23:59:59', 'DD-MON-YY HH24:MI:SS') order by TIME_STAMP asc;
For this, first I am preparing the query as below:
select TIME_STAMP from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > :PKVAL order by TIME_STAMP asc;
Before calling OCIExecute(), I am setting the PKVAL buffer to following value:
I want to monitor the stream activity with strmmon tool. How to compile the strmmon.mk? I was seeing with visual studio command prompt but it does not work properly.
In Oracle 10.2 installation there are OCI headers in rdbms/public directory: 10.2.0/rdbms/public/ocidem.h 10.2.0/rdbms/public/ocidfn.h 10.2.0/rdbms/public/ocikpr.h 10.2.0/rdbms/public/oci.h 10.2.0/rdbms/public/oci1.h ...
What should be installed additionally to have OCI headers in rdbms/public in Oracle 9.2.0?
I am having an issue to connect my C++ application to my Oracle DB. When my code calls
oracle::occi::Environment::createEnvironment(),
I get an error "ORA-01804: failure to initialize timezone information".
The application works on other people's Windows machine with their Oracle DB. But it doesn't work from my machine connecting to their Oracle instance. So I guess the issue does not come from my instance but rather from my Oracle dlls maybe?
I am in the process of converting my skill in oracle and this time PRO*C from Windows to Linux. I have oracle 11g R2 installed on a UBUNTU (12.04) server and have installed the instant client as described in
[URL]
This has a query which will run in SQLPLUS but fails with PRO*C
:~/Projects/proc/proctest1$ proc INAME=proctest.pc SQLCHECK=NONE ONAME=proctest.c LNAME=proctest.lis LTYPE=long Pro*C/C++: Release 11.2.0.3.0 - Production on Mon Apr 22 21:00:18 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /home/neill.rutherford/instantclient_11_2/precomp/admin/pcscfg.cfg PCC-W-02109, SQLCHECK=NONE is no longer supported.. using SYNTAX
I work with oracle 10g, on windows 7. sometime when i try to start my sqlplus in prompt command this message display.
C:UsersSony>sqlplus SP2-1503: Unable to initialize Oracle call interface SP2-0152: ORACLE may not be functioning properly
But the solution people have proposed into the forum are:
1 - check the environment variable Oracle_home and modify if it ending by ""
2 - or try tho run my promt command as Administrator.
I try the both, but only the second works. while now i don't understand why it works when i start the promt command as Administrator and why it no works when i don't run it like administrator. Another thing is i am the only user of my computer, i have only one session (administor session).
In my application, when I passed a Type Array as parameter to the stored procedure and when the Type Array is large enough(normally 3000 type objects, each objects has about 15 attributes), the OCIObjectSetAttr performance deteriorates large enough from below 1 millisecond to 1~3 miliseconds.
when i try to connect with sqlplus or toad then i get an error
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:Users>sqlplus SP2-1503: Unable to initialize Oracle call interface SP2-0152: ORACLE may not be functioning properly C:Users>
and i want to tell what i do before it-my all files were be converted in .FLT then i shorted out this problem after that when i tried to connect with sqlplus or toad then i get above error.and i have restarted my system but throwing same error.
I have a number of pages that use the page template "*One Level Tabs - Content Frame*".End users that use Internet Explorer (versions 8 and 9), when they first visit the application their browser displays it in Compatibility View.They cannot see the side bar on the right-hand side, meaning that often they cannot see a lot of necessary buttons and info!
Their page displays as below: URL....
I am not sure it is possible, nor good practice, to force the app to display in non-compatibility mode.Is there a way to enhance their experience? Or another workaround?
At the moment I am waiting until they log an issue and then informing them to turn compatibility view off, or to use Chrome or Firefox. I'd like to make it better from my end!
I'm using an existing stored procedure in my C code. The stored procedure in question has been compiled and is proven to work without any errors. However, when I use the same in my C code, its failing with the above error.
The Store procedure definition looks like :
CREATE OR REPLACE FUNCTION SP( srq_id integer , unid IN SPkg.arr_parmid, parm_typ IN SPkg.arr_parm_typ,
[code].....
Type definitions
TYPE arr_parm_typ IS TABLE OF char INDEX BY BINARY_INTEGER; TYPE arr_parmid IS TABLE OF tbl_parm.UNID%TYPE INDEX BY BINARY_INTEGER; TYPE arr_parm_lbl IS TABLE OF tbl_parm.PARM_LBL%TYPE INDEX BY BINARY_INTEGER; TYPE arr_parm_vlu IS TABLE OF tbl_parm.PARM_VLU%TYPE INDEX BY BINARY_INTEGER; TYPE arr_vlu_hint IS TABLE OF tbl_parm.VLU_HINT%TYPE INDEX BY BINARY_INTEGER;
If i have Oracle Wallet installed for a Oracle 10.2 Client, i am able to connect to the database. But , while generations a report , when my oracle report server tries to connect to the DB using Oracle Wallet
(i.e. sqlplus /@<dbname> ) , I am not able to establish a connection.
I called an application from Oracle forms using: Client_Host('cmd /c START "" "\localPathmyApplication.exe"'); This works fine on local as well as server.
But when I use the same command to call the application directly from the MENU ITEM, it gives error alert: "WebUtil Error: oracle.forms.webutil.host.Host bean not found. WEBUTIL_HOST.Execute will not work."
I even tried using DDE.App_Begin(). This gives error: ORA-106561. How can I call any application (.exe) directly from the menu item on the server?