[Zope-DB] problem in Connecting remote oracle server to zope

cnk+zope at caltech.edu cnk+zope at caltech.edu
Sat Feb 5 23:23:24 EST 2005

Quoting prabuddha  ray <buddha_2001 at rediffmail.com>:
> I've already downloaded the DBOracle2 and tried copying it in the 
> zope products directory.but when zope restarts it cudnt find the 
> Oracle_home var n some error in python lib files.if i remove the 
> DBoracle folder from products its goin fine.
> the main prob is; the oracle server is in other machine in lan 
> running on redhat 9. i've zope installed in my SuSE mac.
> I can access the SQL prompt only through telnet.
> So how do i set the ORACLE_HOME env variable which is needed to 
> intall the data adapter for zope.

This is really an Oracle DBA question. You need to be able to connect
to the Oracle database from the shell before you can connect via the
DCOracle driver. 

Become the user who runs the zope instance on your SuSE machine. Can
you connect to Oracle as the user you want to? For example:

$ sqlplus dbuser/dbpassword at dbinstance

If this does not work, you need to check the following:

1. Do you have the Oracle client installed? 
2. Is that client in your path? 
3. Does your TNSNAMES.ORA file contain the information that is needed
to translate "@dbinstance" to a network connection to the database? 

Here is an example of a case that works. 

  [08:15pm] (holden:/ora/product/8.1.7) $ sqlplus main/password at dev

  SQL*Plus: Release - Production on Sat Feb 5 20:15:29 2005

  (c) Copyright 2000 Oracle Corporation.  All rights reserved.

  Connected to:
  Oracle8i Enterprise Edition Release - Production
  JServer Release - Production

  SQL> select sysdate from dual;

If you can't get this far, it is pointless to do anything with the
DCOracle2 driver. Get some help from the person who set up your
database to install the Oracle client or configure Oracle networking. 

If you can connect to the database from the shell, then, again as the
user who runs zope, check your environment variables and then try to
compile the driver. Again, a working example: 

 # env | grep ORA 
 (holden:/usr/lib/plone/Products/DCOracle2) # make 
    (cd src; \ 
    ./testora python) 
    Checking ORACLE_HOME...passed. 
    Checking for Oracle version...Oracle 8i found.  
  ... more output from make ending with
  cp src/dco2.so DCOracle2 

If this works, then you need to create a symlink from ZOracleDA to
DCOracle2 like this: 

  (holden:/usr/lib/plone/Products/DCOracle2) # cd ..
  (holden:/usr/lib/plone/Products) # ln -s DCOracle2 ZOracleDA 

Cynthia Kiser

More information about the Zope-DB mailing list