I have a simple application that I wrote under Linux Debian, all it does is inserting couple of rows to a table. It's linked using libocci.so, libclntsh.so, libnnz11.so, runs on a server where an Oracle XE database is located and is installed, application connects to db using IP address of the server, even though it runs on the same server. With this setup everything works great and application inserts the rows without a problem. Just to note I have libocci.so, libclntsh.so, libnnz11.so under /usr/lib to make the application work on the DB server.
Until today I never tried to run this application from my development box, It's where I build this application, Dev box is on the same network, theoretically application should work there without a problem, because connection string is same. So I gave it a go, but it doesn't work, more surprisingly network problem is not the culprit here, I can ping the db server, I can telnet the ip and port from my dev box. Looks like it is failing before I try to connect because Environment::createEnvironment() method throws exception every time it is called. I have libocci.so, libclntsh.so, libnnz11.so under /usr/lib in both machines, but createEnvironment method fails every time it is called.
Only difference between my development box and DB server is DB server has oracle installed the dev box does not have... Do I need to install oracle-xe on my development box as well to make the program work? If not can it be that I need another oracle related shared lib under my /usr/lib folder. Maybe installing oracle copies something under /usr/lib therefore my development box may be missing it? Am I missing something obvious here? Any help will be appreciated, even though I can live without running the app from my box, I would like to understand why it is throwing that exception.