[GRASS-de] GRASS unixODBC Driver an PostgreSQL anbinden

otto dassau otto.dassau at gmx.de
Mi Jun 12 11:26:32 CEST 2002


> Hallo Otto,
> ich werde das mal ausprobieren.
> Aber ein paar Fragen habe ich dennoch.
> 
> Am Dienstag, 11. Juni 2002 19:40 schrieben Sie:
> > 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
> 
> Wo kann ich denn mein GRASS konfigurieren ? Bin bis jetzt auf sowas noch 
> nicht aufmeksam geworden?

Wenn du dir eine GRASS Version als Source Code aus dem Internet
herunterlädst und selber komplierst, also keine precompiled Binaryversion.

z.B.: den "Source Code for GRASS 5.0.0pre4"
unter http://grass.itc.it/download.html. 

Nach dem Entpacken findest du eine Installierungshilfe, wie du den
Sourcecode selber
kompilieren ... Kurzversion ist: 

./configure 
make 
make install

Dort kann man bei dem Befehl ./configure Optionen angeben, um PostgreSQL
und ODBC ... Unterstuetzung für GRASS zu bekommen. Die Optionen
kann man sich anschauen mit ./configure --help. 

Eine weitere Hilfe ist hier zu finden, wenn etwas fehlen sollte:
http://grass.itc.it/grass5/source/REQUIREMENTS.html
 
> > 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
> 
> Auch hier meine Frage in welchem Verzeichniss sollte das stehen?

Normalerweise solltest du es in dem Verzeichnis finden, in dem deine
GRASS Binaeries installiert sind:

z.B.: /usr/local/grass5/driver/odbc

Wenn sie dort nicht sind, musst du den ODBC support in den 
Sourcen kompilieren (wie oben beschrieben). Ich weiss naemlich nicht, ob 
dies in den fertigen vorkomplierten Binaries der Fall ist.

Eine kleine Hilfe zu deinem Problem ist auch in der SQLGRASS Mailingliste
formuliert unter:
http://grass.itc.it/pipermail/sqlgrass/2001-October/000007.html

> > 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
> >

gruesse
 Otto

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net