Re: [gdal-dev] Oracle OCI connection in Python OGR
Ivan Lucena
ivan.lucena at pmldnet.com
Mon Feb 15 23:42:10 EST 2010
Eric,
Sorry for my typo. I mean, "it was a good clue".
I did a quit test using GDAL 1.8dev, the trunk version. I build the python wrapper myself by running "setup.py bdist_wininst" with Python 2.5.4. That generates "GDAL-1.7.0.win32-py2.5.exe".
That is how it goes:
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from osgeo import ogr
>>> ds = ogr.Open("OCI:scott/tiger at orcl")
>>> ly = ds.GetLayer(0)
>>> ly.GetName()
'ROADS'
>>>
No problem here.
I believe that you should use a GDAL/Python wrapper compatible (UNICODE) with the Python you have.
By the way, what is the character set of your database?
select * from NLS_DATABASE_PARAMETERS;
There is also the NLS_LANG. NLS_LANG is set as a local environment variable on UNIX and is set in the registry on Windows.
I just following that clue, but can you use ogr.Open() with a local file, like a shape file?
Best regards,
Ivan
> -------Original Message-------
> From: Eric Wolf <ebwolf at gmail.com>
> To: gdal-dev <gdal-dev at lists.osgeo.org>
> Subject: Re: [gdal-dev] Oracle OCI connection in Python OGR
> Sent: Feb 15 '10 17:47
>
> I'm beginning to think something is wrong at my end. I just installed
> Python 2.5, GDAL 1.5 and cx_Oracle for Python 2.5. I'm still getting
> the same behavior. cx_Oracle works, OGR doesn't.
>
>
> Is the clue in my last email? I mean, the Unicode version of cx_Oracle
> didn't work but the non-Unicode version did work. Is the OGR OCI driver
> compiled for Unicode?
>
>
> -Eric
>
> -=--=---=----=----=---=--=-=--=---=----=---=--=-=-
> Eric B. Wolf New! 720-334-7734
> USGS Geographer
> Center of Excellence in GIScience
> PhD Student
> CU-Boulder - Geography
>
> GPG Public Key: [LINK: http://www.h4h.net/ebwolf.public.key.txt]
> http://www.h4h.net/ebwolf.public.key.txt
>
>
> On Mon, Feb 15, 2010 at 3:33 PM, Ivan <[LINK:
> mailto:ivan.lucena at pmldnet.com] ivan.lucena at pmldnet.com> wrote:
> Eric,
>
>
> Eric Wolf wrote:
> I'm running Oracle 11g on the same machine as the Python script.
>
> I did test cx_Oracle and found that it wasn't working. I was using the
> Unicode cx_Oracle 5.0.3. Switching to the non-Unicode cx_Oracle got it
> working. But OGR is still not connecting.
>
> Does OGR rely on cx_Oracle?
>
> No it doesn't but I was a good to clue.
>
>
> I think I'll try regressing to an older version of GDAL and see if it
> works.
>
> I running GDAL/OGR/Python/OCI on OpenSUSE and it works just fine. I am
> going to test on Windows.
>
> Regards,
>
> Ivan
>
>
> -Eric
>
> -=--=---=----=----=---=--=-=--=---=----=---=--=-=-
> Eric B. Wolf New! 720-334-7734
> USGS Geographer
> Center of Excellence in GIScience
> PhD Student
> CU-Boulder - Geography
>
> GPG Public Key: [LINK: http://www.h4h.net/ebwolf.public.key.txt]
> http://www.h4h.net/ebwolf.public.key.txt
>
>
> On Sun, Feb 14, 2010 at 12:45 PM, Abhay <[LINK:
> mailto:abhay.menon at gmail.com] abhay.menon at gmail.com <mailto:[LINK:
> mailto:abhay.menon at gmail.com] abhay.menon at gmail.com>> wrote:
>
>
> On Fri, Feb 12, 2010 at 11:32 PM, Eric Wolf <[LINK:
> mailto:ebwolf at gmail.com] ebwolf at gmail.com
>
> <mailto:[LINK: mailto:ebwolf at gmail.com] ebwolf at gmail.com>> wrote:
>
> Thanks for the replies. Sorry I didn't give more details
> on the
> environment.
>
> I am running on Windows, at the command line, both ogr2ogr and
> the python script.
>
> Created an environment variable for ORACLE_SID=ORCL
>
> I double-checked my OCI string by using sqlplus to connect:
>
> sqlplus scott/tiger at orcl
>
> This works fine. I changed the script to use that in the call
> to
> ogr.Open(). No luck.
>
> I imported gdal and sprinkled print 'Error:',
> gdal.GetLastErrorMsg() in my exception handlers. I got:
>
> Unable to open Oracle connection None
> Error:
>
> Still no dice. If I take the same script and modify the
> GetDriverByName and Open to use a shapefile, it works
> perfectly.
>
> -Eric
>
>
> -=--=---=----=----=---=--=-=--=---=----=---=--=-=-
> Eric B. Wolf New! 720-334-7734
> USGS Geographer
> Center of Excellence in GIScience
> PhD Student
> CU-Boulder - Geography
>
> GPG Public Key: [LINK:
> http://www.h4h.net/ebwolf.public.key.txt]
> http://www.h4h.net/ebwolf.public.key.txt
>
>
> On Fri, Feb 12, 2010 at 6:56 AM, Abhay <[LINK:
> mailto:abhay.menon at gmail.com] abhay.menon at gmail.com
>
> <mailto:[LINK: mailto:abhay.menon at gmail.com]
> abhay.menon at gmail.com>> wrote:
>
>
> On Fri, Feb 12, 2010 at 2:48 PM, Eric Wolf <[LINK:
> mailto:ebwolf at gmail.com] ebwolf at gmail.com
>
>
> <mailto:[LINK: mailto:ebwolf at gmail.com]
> ebwolf at gmail.com>> wrote:
>
> I'm using GDAL/OGR 1.6.1 with ActivePython
> 2.6.4-10 and
> cx_Oracle-5.0.3-11g. I am trying to connect to an
> Oracle
> 11g instance.
>
> This works:
>
> ogr2ogr -f "KML" emp.kml OCI:scott/tiger
> "EMP"
>
> What am I doing wrong. This fails, ds is None:
>
> from osgeo import ogr
>
> try:
> d = ogr.GetDriverByName('OCI')
> except:
> print "Unable to GetDriverByName"
> quit()
>
> ds = None
>
> try:
> ds = ogr.Open('OCI:scott/tiger')
> except:
> print "Unable to open OCI connection"
> quit()
>
> if ds is None:
> print "Unable to open Oracle connection", ds
> quit()
>
> lyr = ds.GetLayerByName('EMP')
> number = lyr.GetFeatureCount()
>
> print "Features: " + str(number)
>
>
> -=--=---=----=----=---=--=-=--=---=----=---=--=-=-
> Eric B. Wolf New!
> 720-334-7734
> USGS Geographer
> Center of Excellence in GIScience
> PhD Student
> CU-Boulder - Geography
>
> GPG Public Key: [LINK:
> http://www.h4h.net/ebwolf.public.key.txt]
> http://www.h4h.net/ebwolf.public.key.txt
>
> _______________________________________________
> gdal-dev mailing list
> [LINK: mailto:gdal-dev at lists.osgeo.org]
> gdal-dev at lists.osgeo.org <mailto:[LINK: mailto:gdal-dev at lists.osgeo.org]
> gdal-dev at lists.osgeo.org>
>
> [LINK:
> http://lists.osgeo.org/mailman/listinfo/gdal-dev]
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
> Hi Eric,
>
> Form your mail it not clear what is cause of the
> problem.
>
> There 2 scenario here
> 1) you are on a remote machine form where your trying to
> connect oracle server machine:
>
> a) Have you installed any Oracle Client in your system.
> Considering that you a
More information about the gdal-dev
mailing list