Provided by: grass-doc_6.4.3-3_all bug


       grass-odbc - ODBC driver

       ODBC  driver  ODBC  driver  in  GRASS  Communication  between  GRASS and ODBC database for
       attribute management:
       | GRASS module | | ODBC Interface | | RDBMS
       | GRASS | DBMI driver | unixODBC | ODBC driver | PostgreSQL
       | Oracle
       | ...

Supported SQL commands

       All SQL commands supported by ODBC.

Operators available in conditions

       All SQL operators supported by ODBC.


       In this example we copy the dbf file of a SHAPE map into ODBC, then connect GRASS  to  the
       ODBC DBMS. Usually the table will be already present in the DBMS.

   Defining the ODBC connection
       On  MS-Windows, in order to be able to connect, the ODBC connection needs to be configured
       using dedicated tools (tool called "ODBC Data Source Administrator") and give  a  name  to
       that  connection. This name is then used as database name when accessing from a client via

       Configure ODBC driver for selected database (manually or with 'ODBCConfig').  ODBC drivers
       are defined in /etc/odbcinst.ini. Here an example:

        Description     = ODBC for PostgreSQL
        Driver          = /usr/lib/
        Setup           = /usr/lib/
        FileUsage       = 1

       Create DSN (data source name). The DSN is used as database name in db.*  modules. Then DSN
       must be defined in $HOME/.odbc.ini (for this user only) or in /etc/odbc.ini for  (for  all
       users)  [watch  out  for the database name which appears twice and also for the PostgreSQL
       protocol version]. Omit blanks at the beginning of lines:

        Description             = PostgreSQL
        Driver                  = PostgreSQL
        Trace                   = No
        TraceFile               =
        Database                = grass6test
        Servername              = localhost
        UserName                = neteler
        Password                =
        Port                    = 5432
        Protocol                = 8.0
        ReadOnly                = No
        RowVersioning           = No
        ShowSystemTables        = No
        ShowOidColumn           = No
        FakeOidIndex            = No
       ConnSettings             =  Configuration  of  an  DSN  without  GUI   is   described   on,  but  odbc.ini  and .odbc.ini may be created by the
       'ODBCConfig' tool. You can easily view your DSN structure by 'DataManager'.  Configuration
       with GUI is described on

       To find out about your PostgreSQL protocol, run:

       psql -V

   Using the ODBC driver
       Now create a new database if not yet existing:

       db.createdb driver=odbc database=grass6test

       To  store a table 'mytable.dbf' (here: in current directory) into PostgreSQL through ODBC,

       db.connect driver=odbc database=grass6test
       db.copy from_driver=dbf from_database=./ from_table=mytable \
               to_driver=odbc to_database=grass6test to_table=mytable

       Next link the map to the attribute table (now the ODBC table is used, not the dbf file):

       v.db.connect map=mytable.shp table=mytable key=ID \
                    database=grass6test driver=odbc
       v.db.connect -p

       Finally a test: Here we should see the table columns (if the ODBC connection works):
       db.tables -p
       db.columns table=mytable

       Now the table name 'mytable' should appear.
       Doesn't work? Check with 'isql ' if the ODBC-PostgreSQL connection is really established.

       Note that you can also connect mySQL, Oracle etc. through ODBC to GRASS.

       You can also check the vector map itself concerning a current link to a table:

       v.db.connect -p mytable.shp

       which should print the database connection through ODBC to the defined RDBMS.


        db.connect, v.db.connect, unixODBC web site, SQL support in GRASS GIS

       Last changed: $Date: 2012-09-07 01:20:29 -0700 (Fri, 07 Sep 2012) $
       Main index - database index - full index