Precompilers, OCI & OCCI :: Connecting To Oracle Database With Instant Client 11.01.06
Mar 19, 2009
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.
First I tried this
Environment* env=Environment::createEnvironment(Environment::DEFAULT);
Connection* con=NULL;
try{
con=env->createConnection("user","pwd","//servername:ip/mydb");
}
and got following error: "the attribute OCI_ATTR_USERNAME is greater than the maximum allowable length of 255".
So I tried:
Environment* env=Environment::createEnvironment(Environment::DEFAULT);
Connection* con=NULL;
try{
con=env->createConnection("user","pwd","tnsservice-name");
}
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:
Environment* env=Environment::createEnvironment(Environment::DEFAULT);
Connection* con=NULL;
string user="user";
string passwd="pwd";
string db="tnsservice-name";
try{
con=env->createConnection(user,passwd,db);
AfxMessageBox("sucess");
}
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
string user="user";
string pwd="pwd";
Environment* env=Environment::createEnvironment(Environment::DEFAULT);
Connection* con=NULL;
try{
con=env->createConnection(user,pwd);
}
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...).
View 1 Replies
ADVERTISEMENT
May 5, 2013
trying to connect to DB remotely through Toad..
"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"
But i am still facing the below error :
ORA-12541: TNS:no listener
View 21 Replies
View Related
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.
View 0 Replies
View Related
Mar 28, 2006
I want write a program using oci to login into oracle database.Advance security option for the oracle server is set to kerberos authentication. Is it possible to login to the oracle database through olog() function.
Initial ticket is required in kerberos authentication. So is it also needed durinfg the login from my programme.
View 1 Replies
View Related
Feb 22, 2013
Previously we had 32 bit C++. Now, we have migrated it to 64 bit. And our C++ programs interact with Oracle 10g DB.Our C++ program was working fine with 32 bit. But once after we migrate to 64 bit we are facing problem with one program which does FETCH(EXEC SQL FETCH SUBP1 INTO :new TabRec;) from Oracle DB. ie, We exit from a for loop in the C++ program when we get NOT FOUND(sqlca.sqlcode=1403) on executing the FETCH statement.
The sqlcode generated for NOT FOUND scenario is 1403. But, once after moving to 64 bit C++, we do not see the sqlcode 1403 instead we are seeing a different code 7124089117159473.
As the sqlcode is not 1403, our program does not exit from the for loop and goes on an infinite loop.Am I missing anything that makes me to not get the exact sqlcode?
View 9 Replies
View Related
Feb 7, 2011
I am trying to understand on how ORACLE Continuous Query Notification works. I used the sample code from the ORACLE site:
//download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci10new.htm#LNOCI13111
created employees and departments table under my schema.When I executed the sample code. I received an error
"ORA-24912: Listener thread failed. Failed to get IP address of host." that was generated from OCISubscriptionRegister.
Upon setting the client IP address through calling OCIAttrSet, the client can register successfully. I can see the registration entry in USER_ CHANGE_ NOTIFICATION_REGS.
I tried to trigger the notification by updating employee table as recommended. However, the client never received the notification.Is there a way to check if the server created notification and tried to send it out to the client?
View 3 Replies
View Related
Jun 28, 2010
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
Configuration
odbcinst.ini
[Oracle10gODBCdriver]
Description = Oracle ODBC driver for Oracle 10g
Driver = /u01/app/oracle/product/10.2.0/db_1/lib/libsqora.so
Setup =
FileUsage =
CPTimeout =
CPReuse =
The documentation explic with exists the file libsqora.so.10.1 but not exists in the ODBC Instant Client packages.
I applied ln -s libsqora.so.10.1 libsqora.so but the connection not function
odbc.ini
[oradns]
Application Attributes=T
Attributes=W
BatchAutocommitMode=IfAllSuccessful
CloseCursor=T
[code].......
View 1 Replies
View Related
Dec 18, 2012
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?
View 1 Replies
View Related
Nov 30, 2008
i used example in demo directory to connect Database.I used "ansidyn1" example. But i can connect to my DB.I have just modified oracle_connect in sample code(in ansidyn1.pc),follow it:
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[128];
VARCHAR password[32];
char DB_NAME[30] = "servertest";
char db_string[20]= "vitcendb";
EXEC SQL END DECLARE SECTION;
[code]....
i compiled in in VC6++(using ansidyn.dsp) but cant connect to DB.
View 1 Replies
View Related
Aug 12, 2008
Is it possible to connect with Oracle using C?
View 2 Replies
View Related
Jan 30, 2009
How to report an Oracle bug? Is there webpage or email?
View 4 Replies
View Related
Sep 17, 2008
My OS is Linux and I installed Oracle 10.2. Everything is fine.I can use sqlplus, exp, imp etc with no problem.Now I have created another linux user test in /home/test. I unzipped basic-10.2xxxxxx.zip (/home/test/instantclient_10_2) and exported LD_LIBRARY_PATH.I guess I have installed instant client in this way.
My testOra.cpp:
#include <occi.h>
int main()
{
return 0;
}
This test.cpp would not compile. It cannot find occi.
View 8 Replies
View Related
Apr 26, 2010
I have Multi-threaded application using pro*c to connect to oracle.
I am using the following piece of code to create a connection to oracle database and preserver the context of created connection.
struct sqlca * tempSqlca = new sqlca;
struct sqlca & sqlca = * tempSqlca;
EXEC SQL BEGIN DECLARE SECTION;
SQL_CONTEXT localContext;
[code].....
I am using the following piece of code to close the connection to the oracle database, I am using the context created in the previous step and passing it to the below code(connection.context)to release the connection.
if (connection.context == 0 || connection.ca == 0)
return true;
// Multithreading: get the communication area of the context
struct sqlca & sqlca = *(connection.ca);
EXEC SQL BEGIN DECLARE SECTION;
[code].....
When the above code is executed there is no exception thrown but the connection is not getting close. I am using the V$SESSION system views to monitor the connection created.
I there anything I am missing in my code for the connection closing to fail.
View 1 Replies
View Related
Apr 28, 2010
I looked for a Precompiler for Fortran, could not find one. Does a precompiler for Fortran exist for Oracle 10i ? If no, would the precompiler for prior versions of Oracle work with Version 10i ?
View 2 Replies
View Related
Jun 26, 2008
I am using Pro*C/C++ Release 10.2.0.2 in HP-UX. But Pro*C/C++ application was written long back during oracle release 8. Now we are facing a problem like EXEC SELECT query is not fetching the records even though record is present in DATABASE.
This is not happening every time. This problem starts happening only after heavy use of the unix process.
For every request, unix process will fetch the record and updates the same at the end and process goes to wait mode to get the request again. Let say after 50 request, process is returned with no rows found error.
It started working fine only after restarting the process and problem starts again after 50th or 60th request. This problem we are facing only after upgrade to 10g.
View 1 Replies
View Related
Feb 27, 2012
I'm a beginner in the PRO*C and I have this issue/I have to maintain a multithreaded C++ PRO*C application and has the following structure
1) Application runs waiting for requirements
2) When detects a requirement it creates a Thread to work
3) The thread connects to Oracle with a EXEC SQL CONNECT :uid IDENTIFIED BY :pwd; instruction
4) Calls some anonymous calls to execute a stored procedure
EXEC SQL EXECUTE
BEGIN
commit;
:Status:=stored_procedure(:param1, :param2);
commit;
END;
END-EXEC;
5) If anything went wrong then issues a EXEC SQL ROLLBACK WORK RELEASE; then reconnects and the thread die
6) If everything was OK then the thread dies, but never called a EXEC SQL COMMIT WORK RELEASE; to disconnect from Oracle
I don't know why never the application disconnects from Oracle, maybe is for performance. Sometimes the application crashes and I believe that maybe the error is for never freeing the connections, the PROC compile line is this
proc parse=full sqlcheck=full user=system/manager cpp_suffix=cpp iname=source.pc include="..Hdr" include="C:ORACLEORA81ociinclude" include="C:ORACLEORA81precomppublic"
Which is the way to implement the connections?, connect and disconnect when done? or just keep the connection alive? Which way has better performance, connect and disconnect or just keep the opened connection?
View 1 Replies
View Related
Dec 14, 2011
We are considering upgrading our current system from Oracle 9i to 11g. The current operating system is SUSE Enterprise 9.
The 11g requirements say an update to SUSE Enterprise 10 is required to support the Oracle 11g installation.
Will I need to recompile my existing application programs which use pro C precompiler to create code that accesses the Oracle database when I upgrade the operating system and database?
View 1 Replies
View Related
Jul 15, 2008
I am running a job that is using Pro C code. I am running it on an Oracle 10g database with an Oracle 9 client on a UNIX platform. The code compiled fine. The job runs fine sometimes but other times it fails with a Segmentation Fault error.
I have the same job running in an Oracle 8i environment with no problems.
View 1 Replies
View Related
Oct 15, 2010
I was asked to find the C struct that Oracle uses to create a logFile, or at least the C struct of a reg in that file,I've read a lot of material from many "know-at-all" who don't know anything.
View 9 Replies
View Related
Jul 15, 2010
I am trying to compile a .pc file. I am working with Oracle 11gR1 and windows env. I am able to create .c file from .pc file. I am able to produce .o file from .obj file. But i am not able to link it and produce .exe. My installation does not contain / precomp /demo folder.
View 7 Replies
View Related
May 13, 2005
my Multithread-Program hangs in an oracle library while passing a prepare statement (also if i try an EXEC SQL SELECT statement...). Something seems to be wrong in the Program, but i cant's find the Error.The Program is build with:
proc parse=none code=cpp mode=oracle hold_cursor=yes maxopencursors=20 THREADS=YES sqlcheck=full iname=Precomp_all.pc oname=Precomp_all.h
problem: a first thread creates the connection to oracle with one global context (type sql_context) in the connection object:
connect()
{
EXEC SQL WHENEVER SQLERROR DO ORASQL_ERROR();
EXEC SQL WHENEVER SQLWARNING DO ORASQL_WARNING();
EXEC SQL WHENEVER NOTFOUND DO ORASQL_NOP();
[code]....
View 3 Replies
View Related
Apr 29, 2010
I created a table and some type definitions in oracle 10.2.0.3 DB as follows. There is also a procedure that I defined and is shown below.
SQL> create table test_proc
(
test_name varchar2(10),
test_ver number (3,3),
active_flag number(2)
);
Table created.
SQL> select * from test_proc;
TEST_NAME TEST_VER ACTIVE_FLAG
---------- ---------- -----------
AFP 1.5 2
PSA 11.89 0
EHIV 99.5 3
aHAVM 1.45 9
[code]....
Now from Pro*C function I want to pass a similar array of structure to this procedure and return it via the out parameter of the procedure back to Pro*C. How do I do it?
I am using the attached program but its giving me compiler error as follows..
Error at line 31, column 1 in file sample.pc
proc_modify_tdefs (:in_tdefs,:out_tdefs);
1
PLS-S-00306, wrong number or types of arguments in call to 'PROC_MODIFY_TDEFS'
Error at line 31, column 1 in file sample.pc
proc_modify_tdefs (:in_tdefs,:out_tdefs);
[code]....
View 2 Replies
View Related
Feb 17, 2012
we have a production database 'X'. Now i have created a test database 'T' and did'nt configured another listener to it! The issue is when i cam connecting to oracle through sqlplus i am directly connecting to Test database 'T' but not the production database 'X'----ofcourse i can login to production DB afterwards. but initially i want to access the production database 'X'.
View 15 Replies
View Related
Dec 13, 2010
We are migrating a proc application as described below.
Old Env: UNIX
Old DB: Oracle 8i
New Env: Linux
New DB: Oracle 11g
New modules are successfully compiled in Linux environment. But we are facing issues in writing the output of VARCHAR datatype to a file.
find below the extract of code.
EXEC SQL BEGIN DECLARE SECTION;
varchar mcolmnvarchar[4];
EXEC SQL END DECLARE SECTION;
EXEC SQL DECLARE crs CURSOR FOR
SELECT NVL(colmn,' ') FROM table1
memset(mcolmnvarchar.arr,'�',4); //Was added for only Linux migration. Not present in unix env.
EXEC SQL FETCH c1 INTO :mcolmnvarchar;
cout << "Data at Stage one"<< mcolmnvarchar << endl;
mcolmnvarchar.arr[mcolmnvarchar.len]='�';
cout << "Data at Stage two"<< mcolmnvarchar << endl;
fprintf(fptr,"%-4s",mcolmnvarchar.arr);
Above code works absolutely fine in Unix env with Oracle 8i. But with Linux env & Oracle 11g it is not working. No compilation or run time errors. Data at Stage one prints the output of database properly. But after null terminator code, Data at Stage two statement prints without any value. Value is lost after null terminator code.
View 7 Replies
View Related
Oct 15, 2010
We are planning to upgrade a database from 9.2.0.8.0 to 10.2.0.4.0.We have a lot a PRO*C programs pre compiled using 9.2.0.8.0 (and most likely even 9.2.0.7.0) compiler.
if we could upgrade the database without having to re-compile all the programs.We have tested this approach against some of our programs. Most of them executed fine - but in 2 cases we are getting "ORA-01001 invalid cursor". I suspect, that the case is that Pre compiler version 9 is not supported against 10g databases - but I am not sure.
Would it be a better option to upgrade Pre compiler/client as the first step and the db as the second step (and would that be supported) ? We definitely don't want to upgrade both Pre compiler/Client and the Database in one goal - that would be too risky.
View 3 Replies
View Related
Aug 15, 2010
Im trying to connect a benchmarking application (benchmark factory) from my windows 32bit laptop to Oracle on my linux desktop.
When connecting I am supplying the following details: (im getting the error: ORA 12170 : TNS connect timeout occurred)
User/Schema : matt
Password: ****
Host: 192.168.1.9
Port: 1521
SID: orcl
Connect as : SysDBA
Connect Using: Instant Client (selected from a drop down)
----------------------------------------------------
when i use the following command:
tail -100 /home/matt/app/matt/diag/tnslsnr/localhost/listener/alert/log.xml
i get these results:
[matt@localhost ~]$ tail -100 /home/matt/app/matt/diag/tnslsnr/localhost/listener/alert/log.xml
host_addr='127.0.0.1'>
<txt>15-AUG-2010 23:26:29 * service_update * orcl * 0
</txt>
</msg>
<msg time='2010-08-15T23:26:36.708+01:00' org_id='oracle' comp_id='tnslsnr'
[code]....
I have been told client is not getting to the listener because listener is only listening on 127.0.0.1.
unless & until DB server is configured with a routable IP#, no remote client will succeed.
View 7 Replies
View Related
Jan 22, 2011
I have installed Oracle 10g in Windows XP which is in 'VMware' as guest OS. share the procedure if we can connect to the oracle installed in Guest OS from the main operating system.
Main OS is Windows 7
Guest OS is Windows XP
View 2 Replies
View Related
Dec 17, 2012
I've to install ODBC drivers required by a Windows application ( Windesign ).I've downloaded on Oracle website :
- instantclient-basic-windows.x64-11.2.0.3.0.zip
- instantclient-odbc-windows.x64-11.2.0.3.0.zip
- ODBC driver - Oracle 10.1.exe
- ODBC driver - Oracle 10.2.exe
- ODBC driver - Oracle 9.01.exe
- ODBC driver - Oracle 9.02.exe
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 !!!.
View 2 Replies
View Related
Mar 2, 2013
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
View 3 Replies
View Related
Aug 29, 2012
Is it possible to have a VB.NET aplication using Oracle ODBC driver without running/installing odbc_install.exe?
I want to deploy my application without having to run anything on the client so I guessed that instant client would work but I can't make it work.
View 0 Replies
View Related