Does  the standard datastore code contain this piece of code somewhere?  Is it 
fired for every new connection? 
https://sourceforge.net/p/jumpdbqplugin/code/ci/default/tree/src/main/java/org/freevoice/jumpdbqueryextension/spatialite/JumpSpatialiteDbQuery.java
 (row #96)

            //required to allow user to load extensions
            SQLiteConfig config = new SQLiteConfig();
            config.enableLoadExtension(true);
            configProperties = config.toProperties();
         }

-Jukka-

-----Alkuperäinen viesti-----
Lähettäjä: edgar.sol...@web.de <edgar.sol...@web.de> 
Lähetetty: lauantai 26. syyskuuta 2020 22.09
Vastaanottaja: jump-pilot-devel@lists.sourceforge.net
Aihe: Re: [JPP-Devel] Spatialite datastore and mod_spatialite

hey Jukka,

i can replicate that mod_spatialite (v4 or 5, actually any version) is loaded 
correctly with DBQuery but not the DataStoreLayer framework. as to why i'm 
totally stumped as they actually do identical things codewise, wasted the whole 
friday on this.

would you mind adding a bug ticket, so this does not get lost? ..thx ede

On 24.09.2020 21:08, Rahkonen Jukka (MML) wrote:
> Hi,
>
>  
>
> It should be possible to get brand new Spatialite 5.0 into use by downloading 
> 7zip archive 
> http://www.gaia-gis.it/gaia-sins/windows-bin-NEXTGEN-amd64/spatialite-loadable-modules-5.0.0-win-amd64.7z
>  
> <http://www.gaia-gis.it/gaia-sins/windows-bin-NEXTGEN-amd64/spatialite-loadable-modules-5.0.0-win-amd64.7z>
>  and placing all the dll files into lib/ext. I could indeed make 
> mod_spatialite to load into DB Query plugin by using connection string as 
> jdbc:sqlite:c:\data\mtk\mtkmaasto.gpkg?spatialite=mod_spatialite.dll. 
> Extension is not needed but module is loaded also by using 
> "?spatialite=mod_spatialite".
>
>  
>
> However, mod_spatialite is not loaded into normal Spatialite datastore 
> connection even the code in 
> https://github.com/openjump-gis/openjump-migration/blob/master/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteDSMetadata.java
>  
> <https://github.com/openjump-gis/openjump-migration/blob/master/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteDSMetadata.java>
>  tries to do it.
>
>  
>
> Log output when testing with a query "select spatialite_version()" shows this:
>
> [INFO] 21:15:16.321 Target database URL : 
> jdbc:sqlite:C:\data\mtk\mtkmaasto.gpkg
>
> [INFO] 21:15:16.334 java.net.preferIPv4Stack=null
>
> [INFO] 21:15:16.335 java.net.preferIPv6Addresses=null
>
> [WARN] 21:15:16.464 SpatialDatabasesPlugin: CANNOT load Spatialite extension 
> (mod_spatialite).
>
> org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (not 
> authorized)
>
>         at org.sqlite.core.DB.newSQLException(DB.java:1010)
>
>         at org.sqlite.core.DB.newSQLException(DB.java:1022)
>
>         at org.sqlite.core.DB.throwex(DB.java:987)
>
>         at org.sqlite.core.NativeDB._exec_utf8(Native Method)
>
>         at org.sqlite.core.NativeDB._exec(NativeDB.java:94)
>
>         at 
> org.sqlite.jdbc3.JDBC3Statement.executeUpdate(JDBC3Statement.java:109)
>
>         at 
> com.vividsolutions.jump.datastore.spatialite.SpatialiteDSMetadata.checkSpatialiteLoaded(SpatialiteDSMetadata.java:293)
>
>         at 
> com.vividsolutions.jump.datastore.spatialite.SpatialiteDSMetadata.<init>(SpatialiteDSMetadata.java:82)
>
>         at 
> com.vividsolutions.jump.datastore.spatialite.SpatialiteDSConnection.<init>(SpatialiteDSConnection.java:22)
>
>         at 
> com.vividsolutions.jump.datastore.spatialite.SpatialiteDataStoreDriver.createConnection(SpatialiteDataStoreDriver.java:90)
>
>         at 
> com.vividsolutions.jump.workbench.datastore.ConnectionDescriptor.createConnection(ConnectionDescriptor.java:75)
>
>         at 
> com.vividsolutions.jump.workbench.datastore.ConnectionManager.getOpenConnection(ConnectionManager.java:93)
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.RunDatastoreQueryPlugIn.createLayer(RunDatastoreQueryPlugIn.java:76)
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.RunDatastoreQueryPlugIn.createLayerable(RunDatastoreQueryPlugIn.java:41)
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.AbstractAddDatastoreLayerPlugIn.run(AbstractAddDatastoreLayerPlugIn.java:33)
>
>         at 
> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:151)
>
> [ERROR] 21:15:17.547 java.lang.Error: [SQLITE_ERROR] SQL error or missing 
> database (no such function: spatialite_version)
>
> Invalid query: select spatialite_version()
>
> java.lang.Exception: java.lang.Error: [SQLITE_ERROR] SQL error or missing 
> database (no such function: spatialite_version)
>
> Invalid query: select spatialite_version()
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.RunDatastoreQueryPlugIn.createLayer(RunDatastoreQueryPlugIn.java:92)
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.RunDatastoreQueryPlugIn.createLayerable(RunDatastoreQueryPlugIn.java:41)
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.AbstractAddDatastoreLayerPlugIn.run(AbstractAddDatastoreLayerPlugIn.java:33)
>
>         at 
> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:151)
>
> Caused by: java.lang.Error: [SQLITE_ERROR] SQL error or missing database (no 
> such function: spatialite_version)
>
> Invalid query: select spatialite_version()
>
>         at 
> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesFeatureInputStream.getFeatureSchema(SpatialDatabasesFeatureInputStream.java:122)
>
>         at 
> com.vividsolutions.jump.datastore.spatialite.SpatialiteDSConnection.executeAdhocQuery(SpatialiteDSConnection.java:82)
>
>         at 
> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesDSConnection.execute(SpatialDatabasesDSConnection.java:56)
>
>         at 
> com.vividsolutions.jump.workbench.ui.plugin.datastore.RunDatastoreQueryPlugIn$RunnableQuery.run(RunDatastoreQueryPlugIn.java:134)
>
> Caused by: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing 
> database (no such function: spatialite_version)
>
>         at org.sqlite.core.DB.newSQLException(DB.java:1010)
>
>         at org.sqlite.core.DB.newSQLException(DB.java:1022)
>
>         at org.sqlite.core.DB.throwex(DB.java:987)
>
>         at org.sqlite.core.NativeDB.prepare_utf8(Native Method)
>
>         at org.sqlite.core.NativeDB.prepare(NativeDB.java:134)
>
>         at org.sqlite.core.DB.prepare(DB.java:264)
>
>         at 
> org.sqlite.jdbc3.JDBC3Statement.executeQuery(JDBC3Statement.java:73)
>
>         at 
> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesFeatureInputStream.init(SpatialDatabasesFeatureInputStream.java:75)
>
>         at 
> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesFeatureInputStream.getFeatureSchema(SpatialDatabasesFeatureInputStream.java:116)
>
>         ... 3 more
>
>  
>
> I tried also to drop the dll files into \lib instead of \lib\ext but the 
> result was the same.
>
>  
>
> Because the error is "not authorized" I was thinking that perhaps something 
> goes wrong with enabling the loading of extensions but I could not find where 
> it is set in the code. It must be somewhere because by default it is not 
> allowed to load extensions.
>
>  
>
> -Jukka Rahkonen-
>
>  
>
>
>
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>



_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to