[GRASS-de] GRASS unixODBC Driver an PostgreSQL anbinden

Otto Dassau otto.dassau at gmx.de
Di Jun 11 19:40:20 CEST 2002


Martin Künstner wrote:
> 
> Hallo zusammen,
> 
> ich probiere gerade GRASS mit PostgreSQL zu verbinden.
> 
> Stand der Dinge:
> ich habe unixODBC installiert.
> Nun habe ich weiterhin mit ODBCConfig die odbcinst.ini
> und odbc.ini
> In meinen Augen sieht es ganz gut aus bis hier hin.
> in GRASS habe ich nun das kommando
> GRASS:/usr/local/grass5/driver > db.connect

Hi Martin, 

wenn ich mir die Anleitung von Markus Neteler anschaue 
http://grass.itc.it/sqlgrass/odbc_grass_install.html
gibt es ein db.connect Beispiel, wo der "richtige" 
Treiber odbc ist, das ist zumindest auch die Ausgabe bei
mir und der Treiber mit dem ich arbeite:

GRASS:> db.connect driver=odbc database=atkis location=vechta
driver:odbc
database:atkis
location:vechta
user:dassau
password:(null)
key:(null)

GRASS:~ > db.drivers
odbc

Ist dein GRASS richtig konfiguriert

#  ODBC support:               yes
#  PostgreSQL support:         yes

bei mir sieht /etc/odbcinst.ini so aus:

[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/local/lib/libodbcpsql.so
Setup           = /usr/local/lib/libodbcpsqlS.so
FileUsage       = 1


/etc/odbc.ini so:

[atkis]
Description           = Vechta PostgreSQL Data
Driver                = PostgreSQL
Trace                 = No
TraceFile             =
Database              = atkis
Servername            = localhost
UserName              =
Password              =
Port                  = 5432
Protocol              = 7.0
ReadOnly              = No
RowVersioning         = No
ShowSystemTables      = No
ShowOidColumn         = No
FakeOidIndex          = No
ConnSettings          =

bei mir hat es so funktioniert, bin aber auch noch nicht wirklich 
fit mit Datenbanken. Vielleicht solltest du die Frage mal an die
englische Mailingliste schicken ...falls dies nicht die Lösung ist.

> DBMSCAP not set
> Was bedeutet das? Und wie kann ich das beheben?

In der DBMSCAP (dbmscap file) sind die Datenbanktreiber, mit denen 
du von GRASS aus auf deine Datenbank zugreifst, in jeweils einer
Zeile definiert.

driver_name:full_path_to_the_driver:driver_description

zum Beispiel:
odbc:/usr/local/grass5/driver/odbc:odbc driver
local:/tmp/dbmi/driver/informix:informix
diego:/usr/ucb/rsh diego /tmp/dbmi/driver/informix:informix

von daher gibt es bei dir vielleicht auch keinen Postgres, sondern
auch (wie bei mir) nur einen odbc Treiber. (denke ich mal ...)


bei mir zeigt:
more
/opt/software/grass50_exp_2002_04_26/src/libes/dbmi/dbmscap/dbmscap.linux

odbc:/usr/local/grass5/driver/odbc:odbc driver

> Weitere Anmerkungen.
> PostgreSQL ist installiert, läuft, user martin ist angelegt,
> Datenbank ravensburgdb ist angelegt.

dann sollte es eigentlich funktionieren ...

viel Erfolg
  Otto