Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Installing an ODBC for 11g on Win 7 64 Bit Nearly Impossible

user9334236Nov 17 2015 — edited Nov 19 2015

Does anyone know how to do this in less than 30 steps, after uninstalling and reinstalling all the software and DB several times?

It basically just cost me a job, because lacking an ODBC, working from home, I can't run ADO, OLEDB, even link tables in Access so I can run ADO or DAO into THAT.

Seriously, I've pulled data from a mainframe OS2 into Excel with less trouble. If Oracle can't handle a simple ODBC like IBM, something is very wrong.

They are the most common, universal connection objects in the world. Why does this have to be like pulling teeth?

Comments

390020
I would say there's something defined in your environment that's not available at cron time. For example, LD_LIBRARY_PATH, it might be defined in your ~/.bashrc
You could try modify the os environ before importing cx_Oracle.
E.g:

import os
os.environ['LD_LIBRARY_PATH'] = ':~/oracle/product/10.2.0/client/lib'
import cx_Oracle
..
700084
Mariano wrote:
I would say there's something defined in your environment that's not available at cron time. For example, LD_LIBRARY_PATH, it might be defined in your ~/.bashrc
This is precisely what turned out to the be problem. I had a number of environment variables set in my .bashrc, including ORACLE_HOME, LD_LIBRARY_PATH and TNS_NAME.
You could try modify the os environ before importing cx_Oracle.
E.g:

import os
os.environ['LD_LIBRARY_PATH'] = ':~/oracle/product/10.2.0/client/lib'
import cx_Oracle
..
The above approach did not work in my case. Instead, I had to copy all of the variables mentioned above from my .bashrc into the top of my crontab, so that it appeared like this:
MAILTO=user@mail.com
SHELL=/bin/bash
PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/oracle/11.1/client/lib/
ORACLE_HOME='/usr/lib/oracle/11.1/client'
LD_LIBRARY_PATH ='/usr/lib/oracle/11.1/client/lib'
TNS_ADMIN  =  '/home/username'  # where my tnsnames.ora file lives

# m h  dom mon dow   command
<<snipped>>
Now everything's working like a charm. Thanks so much for the help Mariano. You rock!

Regards,
Serdar
390020
Glad to know it help you to debug the problem.
It seems I made a mistake in my suggestion (os.environ is a dict, actually it seems I don't really know who to publish in this forum):
import os
os.environ\['LD_LIBRARY_PATH'\] = ':~/oracle/product/10.2.0/client/lib'

anyway... if it works, don't fix it!
1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 17 2015
Added on Nov 17 2015
12 comments
4,094 views