User Tools

Site Tools


tecnica:gps_cartografia_gis:gdal_oracle

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tecnica:gps_cartografia_gis:gdal_oracle [2009/06/09 00:30]
niccolo
tecnica:gps_cartografia_gis:gdal_oracle [2010/10/25 14:41] (current)
niccolo
Line 77: Line 77:
  
 <​code>​ <​code>​
-dpkg-buildpackage -rfakeroor+dpkg-buildpackage -rfakeroot
 </​code>​ </​code>​
  
Line 128: Line 128:
  
 <​code>​ <​code>​
-OCI:​username/​passwd@host:​port/​service_name"​+OCI:​username/​passwd@host:​port/​service_name:tablename"
 </​code>​ </​code>​
  
-Il server Oracle risponde sulla porta **1521 TCP**.+Il **''​service_name''​** viene detto anche //istanza// nella terminologia Oracle. ​Il server Oracle risponde sulla porta **1521 TCP**. 
 + 
 +Un esempio di **interrogazione SQL** con ''​ogrinfo'':​ 
 + 
 +<​code>​ 
 +ogrinfo "​OCI:​username/​passwd@host:​port/​service_name:​tablename"​ \ 
 +    -sql '​SELECT TOPONIMO_STRADA FROM REPLICA_TOPONOMASTICA.TOP_CIVICI'​ 
 +</​code>​ 
 + 
 +===== Charset encoding ===== 
 + 
 +Per determinare il charset utilizzato dalla libreria OCI si imposta la variabile d'​ambiente **''​NLS_LANG''​**:​ 
 + 
 +<​code>​ 
 +export NLS_LANG=italian_italy.UTF8 
 +</​code>​ 
 + 
 +Tale configurazione è fondamentale ad esempio quando si importano dati da Oracle a PostgreSQL con **''​ogr2ogr''​** e il charset originale non coincide con quello desiderato. 
 + 
 +Per vedere il charset utilizzato da Orcale: 
 + 
 +<code sql> 
 +SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = '​NLS_CHARACTERSET';​ 
 +</​code>​ 
 +<​code>​ 
 +PARAMETER ​           VALUE 
 +-------------------- ----------------- 
 +NLS_CHARACTERSET ​    ​WE8ISO8859P1 
 +</​code>​ 
 + 
 +È probabile che sia necessario impostare anche la variabile **''​NLS_NUMERIC_CHARACTERS''​** che definisce il carattere separatore dei decimali e il carattere di raggruppamento delle migliaia (il punto decimale e la virgola per gli anglosassoni,​ la virgola decimale e il punto per l'​Italia):​ 
 + 
 +<​code>​ 
 +export NLS_NUMERIC_CHARACTERS="​.,"​ 
 +</​code>​ 
 + 
 +Per sapere quale convenzione utilizza Oracle è sufficiente fare il dump della tabella con ''​ogrinfo''​ e visualizzare il contenuto:​ 
 + 
 +<​code>​ 
 +ogrinfo '​OCI:​username/​password@hostname:​port/​instance:​tablename'​ geom_feature > tablename.dump 
 +</​code>​
tecnica/gps_cartografia_gis/gdal_oracle.1244500206.txt.gz · Last modified: 2009/06/09 00:30 by niccolo