[GRASS-user] Switching databases for holding attributes in Grass 7.4.1

Markus Metz markus.metz.giswork at gmail.com
Mon Jul 2 09:43:58 PDT 2018


On Mon, Jul 2, 2018 at 4:36 PM, Markus Metz <markus.metz.giswork at gmail.com>
wrote:
>
>
>
> On Mon, Jul 2, 2018 at 4:04 PM, Paul Shapley <p.shapley at gmail.com> wrote:
> >
> > Hi Markus,
> >
> > Used 'db.connect' driver=sqlite
database=$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
> >
> > I had to delete 'database schema=grass_gis'
> >
> > I had to delete 'default group=postgis_reader'
>
> That seems to be a bug in db.connect, apparently it is not possible to
reset schema and group. Can you please open a ticket?

fixed in trunk r72941,2, please test!

Markus M

>
> Markus M
>
> >
> > Then 'RUN'
> >
> > output:-
> >
> > (Mon Jul 02 14:59:21 2018)

> > db.connect

> > (Mon Jul 02 14:59:22 2018) Command finished (1 sec)
> >
> > now attempted 'r.to.vect'
> >
> > r.to.vect
input=APGB_aerial_2_i_segment_drained_peat_with_exposed_haggs at PERMANENT
output=test1 type=area
> > DBMI-SQLite driver error:
> > Error in sqlite3_prepare():
> > unknown database grass_gis
> > DBMI-SQLite driver error:
> > Error in sqlite3_prepare():
> > unknown database grass_gis
> > ERROR: Unable to create table: create table grass_gis.test1 ( cat
integer, value integer, label varchar(10))
> > WARNING: Table <grass_gis.test1> linked to vector map <test1> does not
exist
> >
> > Repeat as above!!
> >
> > Used 'db.connect' driver=sqlite
database=$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
> >
> > I had to delete 'database schema=grass_gis'
> >
> > I had to delete 'default group=postgis_reader'
> >
> > Then 'RUN'
> >
> >
> >
> > On 2 July 2018 at 14:41, Markus Metz <markus.metz.giswork at gmail.com>
wrote:
> >>
> >>
> >>
> >> On Mon, Jul 2, 2018 at 3:25 PM, Paul Shapley <p.shapley at gmail.com>
wrote:
> >> >
> >> > Hi Markus,
> >> >
> >> > I used 'db.connect'
> >>
> >> which flags/options did you use?
> >>
> >> > followed by 'db.login'
> >>
> >> you don't need db.login for sqlite
> >> >
> >> > Please see below:-
> >> >
> >> > db.connect -p

> >> > driver: sqlite
> >> > database: C:\\TempLocation\PERMANENT\sqlite\sqlite.db
> >> > schema: grass_gis
> >> > group: postgis_reader
> >> > (Mon Jul 02 14:17:04 2018) Command finished (0 sec)
> >> >
> >> > db.connect -d

> >> > Default driver / database set to:
> >> > driver: sqlite
> >> > database: C:\\TempLocation\PERMANENT\sqlite\sqlite.db
> >> > (Mon Jul 02 14:19:40 2018) Command finished (0 sec)
> >> >
> >> > Still holding 'schema' and 'group' details from PostGIS. Shouldn't
these have been dropped when changing to sqlite which is perhaps why the
connection is failing?
> >>
> >> yes.
> >>
> >> It seems that db.connect -g is better than db.connect -p to verify
connection settings, e.g. I get in the North Carolina sample dataset
> >>
> >> > db.connect -g
> >> driver=sqlite
> >> database=$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
> >> schema=
> >> group=
> >>
> >> The database is not a real path but contains GRASS variables that are
evaluated on the fly. This is the default connection.
> >>
> >> Markus M
> >>
> >> >
> >> > On 2 July 2018 at 14:10, Markus Metz <markus.metz.giswork at gmail.com>
wrote:
> >> >>
> >> >>
> >> >>
> >> >> On Mon, Jul 2, 2018 at 2:00 PM, Paul Shapley <p.shapley at gmail.com>
wrote:
> >> >> >
> >> >> > Hi Users,
> >> >> >
> >> >> > I want to use 'r.to.vect' but it seems to default to a 'Postgis'
table that has no geometry column just a table with a 'cat' id. I would
like to export to 'sqlite'. I have both postgres an sqlite login details
stored in 'db.login'. How do i switch between the two or at least make
sqlite the default? If I change settings with 'db.connect' to 'sqlite'
> >> >>
> >> >> what is the exact command you used to set the default connection to
sqlite?
> >> >>
> >> >> You can also try db.connect -d, otherwise you might need to specify
the default database to be used.
> >> >>
> >> >> In any case, please verify first with db.connect -p to see the
connection details used when creating a new vector.
> >> >>
> >> >> Markus M
> >> >>
> >> >> > it fails (error below) but still keeps holding onto the
'grass_gis' schema form the Postgis connection!
> >> >> >
> >> >> > r.to.vect
input=APGB_aerial_2_i_segment_drained_peat_with_exposed_haggs at PERMANENT
output=test1 type=area
> >> >> > DBMI-SQLite driver error:
> >> >> > Error in sqlite3_prepare():
> >> >> > unknown database grass_gis
> >> >> > DBMI-SQLite driver error:
> >> >> > Error in sqlite3_prepare():
> >> >> > unknown database grass_gis
> >> >> > ERROR: Unable to create table: create table grass_gis.test1 ( cat
integer, value integer, label varchar(10))
> >> >> > WARNING: Table <grass_gis.test1> linked to vector map <test1>
does not exist
> >> >> >
> >> >> > Is there a preferred option to change databases more cleanly.
> >> >> >
> >> >> > Many thanks,
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Paul J. Shapley MSc CGeog (GIS) FRGS
> >> >> >
> >> >> >
> >> >> > _______________________________________________
> >> >> > grass-user mailing list
> >> >> > grass-user at lists.osgeo.org
> >> >> > https://lists.osgeo.org/mailman/listinfo/grass-user
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Paul J. Shapley MSc CGeog (GIS) FRGS
> >> >
> >
> >
> >
> >
> > --
> > Paul J. Shapley MSc CGeog (GIS) FRGS
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20180702/c5ea79e4/attachment-0001.html>


More information about the grass-user mailing list