[gdal-dev] Help with GDAL/OGR Python API and OCI

Alejandro Saucedo alejandro.saucedo.b at gmail.com
Mon Mar 25 16:26:17 PDT 2019


Hello,
Please, your help with the following problem.
I am not able to see the Oracle OCI driver from python using the GDAL/OGR
bindings.
The following code prints always None:
    from osgeo import ogr
    print(ogr.GetDriverByName( 'OCI' ))
 Also, the driver is never listed here:
    drivers = [ogr.GetDriver(i).GetDescription() for i in
range(ogr.GetDriverCount())]
    drivers.sort()
    print(drivers)
['ARCGEN', 'AVCBin', 'AVCE00', 'AeronavFAA', 'AmigoCloud', 'BNA', 'CAD',
'CSV', 'CSW', 'Carto', 'Cloudant', 'CouchDB', 'DGN', 'DXF', 'EDIGEO', 'ESRI
Shapefile', 'ESRIJSON', 'ElasticSearch', 'GFT', 'GML', 'GMLAS', 'GPKG',
'GPSBabel', 'GPSTrackMaker', 'GPX', 'GeoJSON', 'GeoRSS', 'Geoconcept',
'HTF', 'HTTP', 'Idrisi', 'Interlis 1', 'Interlis 2', 'JML', 'JP2OpenJPEG',
'KML', 'LIBKML', 'MBTiles', 'MVT', 'MapInfo File', 'Memory', 'NAS', 'ODS',
'OGR_DODS', 'OGR_GMT', 'OGR_PDS', 'OGR_SDTS', 'OGR_VRT', 'OSM', 'OpenAir',
'OpenFileGDB', 'PCIDSK', 'PDF', 'PGDUMP', 'PLSCENES', 'PostgreSQL', 'REC',
'S57', 'SEGUKOOA', 'SEGY', 'SQLite', 'SUA', 'SVG', 'SXF', 'Selafin',
'TIGER', 'TopoJSON', 'UK .NTF', 'VDV', 'VFK', 'WAsP', 'WFS', 'WFS3', 'XLS',
'XLSX', 'XPlane', 'netCDF']

However, OCI can be used in command line with ogr2ogr and it is listed when
executing ogrinfo --formats:
  OCI -vector- (rw+): Oracle Spatial

My environment is as follows:
RHOL 7, GDAL 2.3.3, Python 3.6 (with Numpy 1.16.1), Oracle Instant Client
18.5

I have tried building the python bindings using the following alternatives:
1) Building the python bindings with the GDAL source tree:
./configure --prefix=<GDAL_PREFIX> --with-curl=/usr/bin/curl-config
--with-python=<PYTHON3.6_BIN>/python
--with-oci-include=$ORACLE_HOME/sdk/include --with-oci=$ORACLE_HOME
2) Downloading the python bindings from
https://pypi.org/project/GDAL/2.3.3/#files and running setup.py
build/install process
3) Using pip install GDAL==2.3.3

The result is the same always, I can use the GDAL/OGR python API but cannot
see or use the OCI driver (the same for GeoRaster).

As suggested at
https://trac.osgeo.org/gdal/wiki/BuildingOnUnix#OCIwithoutinstallingOracle,
I have my ORACLE_HOME variable pointing to the instantclient folder,
ORACLE_HOME is also present at the PATH and LD_LIBRARY_PATH env vars as it
is GDAL/bin and GDAL/lib respectively.

I wonder if I'm missing something.

Any help is appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20190325/ee320628/attachment.html>


More information about the gdal-dev mailing list