有誰知道是否可以在intellij上的sqlite-databases上執行空間函數? 參考的spatialite功能:http://www.gaia-gis.it/gaia-sins/spatialite-sql-4.2.0.htmlSqlite:在Intellij中執行Spatialite函數
我特別有興趣使用的類型點的功能。
謝謝!
編輯:函數可以在官方的spatialite-gui中工作,但我認爲沒有辦法以編程方式使用spatialite-gui,是嗎?
這裏是我試過至今:在的IntelliJ我連接了Java JDBC庫,並使用功能ST_X(點)和ST_Y(點),但沒有成功嘗試:
Connection c = null;
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:" + path + databaseName);
c.setAutoCommit(false);
System.out.println("Opened database \"" + databaseName + "\" successfully");
String sql = "SELECT id, ST_Y(point), ST_X(point) from tablename;";
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String msg = "Id: ";
msg += rs.getInt(1);
msg += " , Latitude: ";
msg += rs.getDouble(2);
msg += " , Longitude: ";
msg += rs.getDouble(3);
System.out.println(msg);
}
rs.close();
stmt.close();
c.close();
這引發以下異常:
Exception in thread "main" java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no such function: ST_Y)
at org.sqlite.core.DB.newSQLException(DB.java:890)
at org.sqlite.core.DB.newSQLException(DB.java:901)
at org.sqlite.core.DB.throwex(DB.java:868)
at org.sqlite.core.NativeDB.prepare(Native Method)
at org.sqlite.core.DB.prepare(DB.java:211)
at org.sqlite.jdbc3.JDBC3Statement.executeQuery(JDBC3Statement.java:81)
at com.company.Test.main(Test.java:77)
編輯2: 我迷路了。看來我需要加載擴展才能使其工作。這不包含在JDBC連接器中嗎? (我通過Maven提取了JDBC連接器。) 我在哪裏可以找到正確的擴展名? 那些是那些? https://www.gaia-gis.it/fossil/libspatialite/index 還是那些? http://www.gaia-gis.it/gaia-sins/index.html 我該如何使用它們?有沒有人做過?
你剛剛開始嘗試嗎? – Fildor
這些數據庫功能?什麼阻止你像任何其他功能一樣稱呼他們? –
IDE用這個做什麼? –