C++ Call Interface :: Instant Client 11g OCCI In MSVC6++ Windows 7 32-bit
Jun 28, 2012
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 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).
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)...
connecting to an oracle db with the instant client 11.01.06. I can connect to the db via other tools like sqldbx or SqlTools 1.5 which are also using oci. So now I tried it with c++ using Visual Studio 2005 SP1.
where tnsservice-name is the name I specified in the tnsnams.ora, and which I used with the other tools working fine -> same error.My username is only 4 long, so I thought it might have something to do with the string. So I tried:
now it returned the error "TNS:connect descriptor too long". Can't have anything to do with the .ora file, since it worked fine for the other tools. Plus it didn't matter if I renamed the .ora file or removed it from the TNS_ADMIN directory..So I searched a little more for a solution and so an example, where the the last argument is missing. So I tried
It returns: "TNS: protocol Adapter error" which I somehow can understand, since the adapter doesn't know to wich db to connect.I also tried to use some frameworks like soci or otl but was never able to compile them... (link errors, unknown data types etc...).
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.
The version is Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi. for Unix AIX 5
I install the ODBC Driver Manager, Basic Instant Client, ODBC Instant Client packages (libsqora.so, odbc_update_ini.sh).
The error:
[oracle@d4 oracle] $ isql OracleODBC-10g user passtemp -v [01000][unixODBC][Driver Manager]Can't open lib '/home/oracle/instantclient_10_2/libsqora.so' : file not found [ISQL]ERROR: Could not SQLConnect
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
But any of them contains install.exe or something like that...So I don't understand how to install instant client...I've found a doc on the web : " ... copy unzipped files into a folder ( ex.: C:OracleInstantClient ) and add Environment Variables TNS_ADMIN and PATH ) ... "I did it. But while adding ODBC driver with Windows admin tools , only SQL Server is available !!!.
There are three versions of Oracle 10g instant client (10.2.0.2, 10.2.0.3 and 10.2.0.5) on Oracle website. which one works with Window 7? Where I can find the documentation from Oracle website?
I'm writing on behalf of the MacPorts package management system. I am trying to update the MacPorts port of Oracle Instant Client from 10.2.0.4.0 to 11.2.0.3.0 [URL}...and while many of our ports including the PHP oracle module continue to work fine with this version, soci [URL}.... and TOra [URL]...
ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) for architecture x86_64
This is on OS X 10.8.2 compiling with Xcode 4.6's version of clang ("Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)").I suspect this is because soci and TOra are doing something with static libraries, and Oracle Instant Client is only shipped as a dynamic library. But I can't explain why this worked with 10.2.0.4.0, unless something has changed about how Oracle Instant
Client is being built. It's not clear whether this is an intentional change in Oracle Instant Client, and if it is, what developers should do to fix their software.I have not heard back from the developers of TOra, and the developers of soci
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.
"instantclient" already downloaded and configured as below :
dll files like "oci.dll,... etc" are here : C:Oracleinstantclientinstantclient_11_2 Created both tnsnames.ora & listener.ora are here : C:Oracleinstantclient etworkadmin
And did the below in user/system variables :
User Variables : ========= TNS_ADMIN with value "C:Oracleinstantclient etworkadmin"
System Variables : =========== TNS_ADMIN with value "C:Oracleinstantclient etworkadmin" ORACLE_HOME with value "C:Oracleinstantclient" Path edited and added this value "C:Oracleinstantclientinstantclient_11_2"
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
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.
I have installed the Oracle Instant Client* on UNIX(Mac OS X Lion 10.7.5), and I want to use it on localhost because i just want to study and test it.but here, the some error appeared to me. so I was so screwed up.
here is the error messages and the settings
Command:
~ user$ sqlplus scott tiger
ERROR:
ORA-12545: Connect failed because target host or object does not exist
env settings:
$ORACLE_HOME=/usr/local/oracle $ORACLE_SID="Oracle 10g+ASM" // I don't know what ORACLE_SID means $ORACLE_LIBRARY=/usr/local/oracle/instantclient_10_2 $DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$ORACLE_HOME/instantclient_10_2 $SQLPATH=$ORACLE_HOME/instantclient_10_2 $PATH=$PATH:$SQLPATH
We are using oracle10g database. Every time, we need to run the sql query and find answers for them. We are getting lot of request every day. I wanted to develop interface and i want ops team use the interface to pull the data.
Here are my thoughts...
1. using oracle APEX to develop interface.
2. Use the excel to write macro and get the answers for user request.
3. I can write a PLSQL to run the batch job and extract the data into excel and give it to ops team.