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

Markus Metz markus.metz.giswork at gmail.com
Mon Jul 2 06:41:27 PDT 2018


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20180702/e00f4e99/attachment.html>


More information about the grass-user mailing list