ThinkGeo.com    |     Documentation    |     Premium Support

WMK extracted data is readonly

Guys, 



I used the data extractor tool to create a smaller dataset from the OSM World Map Kit data off the SQLIte database.



When I point my application towards this dataset now, I get the following exception:



 System.Data.SQLite.SQLiteException (0x80004005): attempt to write a readonly database
attempt to write a readonly database
   at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
   at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader…ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
   at ThinkGeo.MapSuite.Core.SqliteFeatureSource.zxM=(String sqlStatement, ExecutingSqlStatementType sqlStatementType, SQLiteConnection& connection)
   at ThinkGeo.MapSuite.Core.SqliteFeatureSource.zhM=(BaseShape targetShape, Int32 queryType, IEnumerable`1 returningColumnNames)
   at ThinkGeo.MapSuite.Core.SqliteFeatureSource.GetFeaturesInsideBoundingBoxCore(RectangleShape boundingBox, IEnumerable`1 returningColumnNames)
   at ThinkGeo.MapSuite.Core.FeatureSource.GetFeaturesForDrawingCore(RectangleShape boundingBox, Double screenWidth, Double screenHeight, IEnumerable`1 returningColumnNames)
   at ThinkGeo.MapSuite.Core.FeatureSource.GetFeaturesForDrawing(RectangleShape boundingBox, Double screenWidth, Double screenHeight, IEnumerable`1 returningColumnNames)
   at ThinkGeo.MapSuite.Core.FeatureLayer.DrawCore(GeoCanvas canvas, Collection`1 labelsInAllLayers)
   at ThinkGeo.MapSuite.Core.Layer.Draw(GeoCanvas canvas, Collection`1 labelsInAllLayers)
   at ThinkGeo.MapSuite.Core.OsmWorldMapKitLayer.DrawCore(GeoCanvas canvas, Collection`1 labelsInAllLayers)



Any ideas on what needs to be done here?



Against the original full dataset, however, I do not have this problem.



Now, when I extracted the data, I specified the new name as osm_north_america without the .sqlite extension.  After extraction was complete, I realized this mistake and renamed the file to osm_north_america.sqlite.  Could this be my problem?



Thanks,



Klaus





Hi Klaus, 
  
 I am not sure whether that’s because you haven’t rename the file, but I think if you get the message “attempt to write a readonly database”, you should want to try remove readonly property from the database file first, then please try to assign read/write security for everyone to the file. 
  
 Wish that can solve your problem. 
  
 Regards, 
  
 Don

Don, thanks for the response.  I do not exactly understand what you mean by removing the readonly property off the database.  



However, what we have been able to do is change the "Read Only" property to false on the SQLite connection string in app.config.  This prevents the exception from being thrown.



This is what our app.config entry now looks like:



 <add key="SqliteConnectionString" value="Data Source=E:\isr\mapdata\wgs84\WorldMapKit-4326-20150612-2103869672.sqlite;Version=3;Read Only=False;" />

Hi Klaus, 
  
 Thanks for your share, my suggestion is only for file itself, your solution looks is the correct way. 
  
 Regards, 
  
 Don