[GRASSLIST:9405] Re: DBMI errors after QGIS+GRASS crash
Dylan Beaudette
dylan.beaudette at gmail.com
Fri Dec 9 20:02:02 EST 2005
On Friday 02 December 2005 11:24 am, Dylan Beaudette wrote:
> Greetings.
>
> I was editing a GRASS vector layer in QGIS, specifically the attribute
> table- which stored in MySQL. Everything was working fine, until I tried to
> access the same vector layer in the GRASS shell. An error was returned
> regarding something about the header missing some this vector, and QGIS
> suddenly quit. Afterwards, any time i try and access the attributes for
> this vector via GRASS I get:
> echo "select * from merged_dupes" | db.select
> dbmi: Protocol error
>
> ...despite the fact that all of the data is still in MySQL, and the table
> checks out OK. I have re-issued the db.connect, and v.db.connect commands
> in hopes that that would fix the connection.
>
> Also- now when i try and start QGIS from within this mapset and load the
> trouble vector layer, QGIS quits with a "dbmi ERROR".
>
> I have tried replacing my mapset with a known working copy, but that
> refuses to work as well. Trying to copy the trouble vector results in a
> DBMI error as well.
>
> Any ideas??
Replying to my own message...
After some testing, a pattern seems to be emerging.
1. vector_a + table_a in MySQL ----> QGIS crashes when loading vector_a
2. vector_a + (no table) ----> QGIS loads vector_a without issue
3. vector_a + table_b in MySQL ----> QGIS loads vector_a without issue
4. vector_b + table_a in MySQL ---->QGIS crashes when loading vector_a
somehow anything connected to table_a in MySQL causes QGIS to crash when
loading the vector connected to this table. In addition, a vector connected
with a 'problem' table in QGIS will break certain GRASS vector commands that
work on the attribute table- Dying with a 'DBMI cursor' error.
Here is an example error reported by GRASS, when trying to use g.copy with a
vector connected to a 'problem' table stored in MySQL:
#connecting vector to the 'problem' table:
v.db.connect -o map=gradgroup_spring05 driver=mysql
database="host=localhost,dbname=test" table=gradgroup_spring05 key=cat
#trying to copy the vector:
COPY [gradgroup_spring05 at PERMANENT] to current mapset as [fff]
dbmi: Protocol error
WARNING: Cannot open select cursor: 'select * from gradgroup_spring05'
Also: the tables in MySQL (both working and 'problem' ones) appear to be fine.
There are no telling messages in the mysql.log either.
Thoughts ?
--
Dylan Beaudette
Soils and Biogeochemistry Graduate Group
University of California at Davis
530.754.7341
More information about the grass-user
mailing list