6 votos

Error al exportar datos de Oracle a shp usando ogr2ogr

Tengo una tabla de oracle que me gustaría consulta/hacer una selección. Entonces me gustaría exportar la selección a un archivo shp.

Estoy usando gdal y ogr2ogr.

Siguiendo las directrices aquí y aquí he llegado a la siguiente:

ogr2ogr -f "ESRI Shapefile" c:/Testing/Scratch/GDAL/symbol.shp OCI:dbusername/db_password@tns_name -sql "SELECT* FROM tablename where VERSION_DATE >= CURRENT_DATE -8" -progress

Luego me sale el siguiente error: "no se puede abrir origen de datos 'OCI:dbusername/db_password@tns_name" con los siguientes controladores"

Luego hay una larga lista de pilotos, incluyendo "Shapefile".

Ahora he añadido " después de la OCI como se sugiere.

ogr2ogr -f "ESRI Shapefile" c:/Testing/Scratch/GDAL/symbol.shp OCI:"dbusername/db_password@tns_name -sql "SELECT* FROM tablename where VERSION_DATE >= CURRENT_DATE -8" -progress

Ya no tengo los errores acerca de lo que no puede abrir el origen de datos con los controladores. Ahora me acaba de llegar un "Acceso en la denegado".

Tengo una conexión a la base de datos en ArcGIS utilizando el mismo nombre de usuario y contraseña. ¿Gdal generar su propio usuario?

4voto

Ian P Puntos 443

No, gdal no genera ningún usuario.

Debería encontrar "->" OCI "(lectura / escritura)" en la lista de Formatos soportados si el "controlador OCI" está instalado / configurado correctamente. En este punto, la siguiente sintaxis (debe personalizar un poco) debería funcionar:

 ogr2ogr <srs> -f "ESRI Shapefile" /favourite/path/test.shp OCI:"<oracle user>/<oracle password>@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname>)(PORT = <port number>)))(CONNECT_DATA = (SID =<sid name>))):<oracle schema>.<oracle table>"
 

0voto

Primigenius Puntos 11

La sintaxis está bien si usted tiene una bien definida tnsnames.ora. Este es probablemente un problema de la instalación de una librería GDAL. Hay varias versiones de GDAL con soporte para diferentes formatos. Si OCI no está en la lista de controladores, que aparece en la mensaje de error, el GDAL de la biblioteca no funciona con la base de datos de Oracle. La solución más sencilla es instalar GDAL de proyecto de OSGeo4W (https://trac.osgeo.org/osgeo4w) donde usted puede agregar controladores de la OCI, FileGDB etc., que normalmente no son parte de la biblioteca.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X