I am attempting to test and connect to a SQLite database using OpenRefine's latest version (originally I was using version 3.8.1) on a windows OS. I received an "error:Unauthorized" message when trying to test or connect to the database file. I have since tried the same process with version 3.6.1 and am able to do it. I was wondering if there are any fixes for the newest version coming down the line or if there is a way to solve this issue that I am unaware of. I am relatively new to OpenRefine and appreciate your help.
This is likely due to the CSRF token requirement for the new version. Extensions need to add CSRF wrappers around any methods that request data results that may have expression evaluation. I had this "authentication" issue with the RDF Transform extension for data exports. The SQLite DB code likely needs to be updated similarly.
@sdw50-maker A related log file will help greatly.
Reviewing the code, it looks like the CSRF token is NOT the problem as that error looks like it would produce a different error (400 BAD REQUEST).
...However, I continued down the rabbit hole... NOTE: The following is base on my short acquaintance with the Database Extension, so I can be wrong.
This error is a 401 UNAUTHORIZED and is likely caught from a thrown error:
in ConnectCommand.java at line 77 DatabaseInfo databaseInfo = DatabaseService.get(databaseConfiguration.getDatabaseType()).connect(databaseConfiguration);
or in TestConnectCommand.java at line 77 boolean connectionTestResult = DatabaseService.get(databaseConfiguration.getDatabaseType()).testConnection(databaseConfiguration);
This implies it is reporting unauthorized access to the database?!? Username / password issue?
Why that is so is a mystery that a log file could possible narrow down in short order.
(heh, I look suspiciously sideways the same line numbers above in two different file)
I believe the actual error is caught in SQLiteConnectionManager.java in method getConnection
and the error is thrown in JavaSQL library by the DriverManager.class in method getConnection at the end of the class.
I also noticed that there are two (2) sqlite-jdbc libraries in the database extension: sqlite-jdbc-3.47.0.0 sqlite-jdbc-3.47.1.0
Are they both needed? Are they in conflict? Is one overriding the other? Am I asking too many questions?
sorry for the wait, I was trying to figure out how to get a log file. I think this is what you are asking for?
11:16:03.391 [ refine_server] Starting Server bound to '127.0.0.1:3333' (0ms)
11:16:03.437 [ refine_server] Initializing context: '/' from 'C:\Program Files (x86)\OpenRefine\webapp' (46ms)
11:16:04.990 [ refine] Starting OpenRefine 3.8.7 [TRUNK]... (1552ms)
11:16:04.990 [ refine] initializing FileProjectManager with dir (0ms)
11:16:04.990 [ refine] C:\Users\saijdw\AppData\Roaming\OpenRefine (0ms)
11:16:06.651 [ refine] POST /command/core/load-language (1660ms)
11:16:06.675 [ refine] GET /command/core/get-preference (23ms)
11:16:06.691 [ refine] POST /command/core/load-language (15ms)
11:16:06.691 [ refine] POST /command/core/load-language (0ms)
11:16:06.707 [ refine] POST /command/core/load-language (16ms)
11:16:06.771 [ refine] GET /command/core/get-importing-configuration (64ms)
11:16:06.782 [ refine] GET /command/core/get-all-project-tags (10ms)
11:16:06.790 [ refine] GET /command/core/get-all-project-metadata (8ms)
11:16:06.845 [ refine] GET /command/core/get-csrf-token (54ms)
11:16:06.854 [ refine] GET /command/core/get-languages (8ms)
11:16:06.913 [ refine] GET /command/core/get-version (58ms)
11:16:07.011 [ refine] GET /command/database/saved-connection (97ms)
11:16:07.034 [ refine] GET /command/core/get-preference (22ms)
11:16:24.278 [ refine] GET /command/core/get-csrf-token (17244ms)
11:16:24.289 [ refine] POST /command/database/test-connect (11ms)
11:16:24.298 [ DatabaseService] Registered mysql Database (9ms)
11:16:24.298 [ DatabaseService] Registered postgresql Database (0ms)
11:16:24.299 [ DatabaseService] Registered mariadb Database (0ms)
11:16:24.299 [ DatabaseService] Registered sqlite Database (0ms)
11:16:24.312 [ SQLiteConnectionManager] SQLException::Couldn't get a Connection! (13ms)
java.sql.SQLException: opening db: 'C:%5CUsers%5Csaijdw%5CDocuments%5Ccdm_migrations%5Cnumismatics%5Ccdm_index.db': Access is denied
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:271)
at org.sqlite.SQLiteConnection.(SQLiteConnection.java:67)
at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:28)
at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:19)
at org.sqlite.JDBC.createConnection(JDBC.java:106)
at org.sqlite.JDBC.connect(JDBC.java:79)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:139)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.testConnection(SQLiteConnectionManager.java:113)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.testConnection(SQLiteDatabaseService.java:82)
at com.google.refine.extension.database.cmd.TestConnectCommand.doPost(TestConnectCommand.java:78)
at com.google.refine.RefineServlet.service(RefineServlet.java:188)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:790)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
11:16:24.326 [ TestConnectCommand] TestConnectCommand::Post::DatabaseServiceException::{} (13ms)
com.google.refine.extension.database.DatabaseServiceException: opening db: 'C:%5CUsers%5Csaijdw%5CDocuments%5Ccdm_migrations%5Cnumismatics%5Ccdm_index.db': Access is denied
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:149)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.testConnection(SQLiteConnectionManager.java:113)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.testConnection(SQLiteDatabaseService.java:82)
at com.google.refine.extension.database.cmd.TestConnectCommand.doPost(TestConnectCommand.java:78)
at com.google.refine.RefineServlet.service(RefineServlet.java:188)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:790)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
11:16:29.361 [ refine] GET /command/core/get-csrf-token (5034ms)
11:16:29.361 [ refine] POST /command/database/connect (0ms)
11:16:29.361 [ SQLiteConnectionManager] SQLException::Couldn't get a Connection! (0ms)
java.sql.SQLException: opening db: 'C:%5CUsers%5Csaijdw%5CDocuments%5Ccdm_migrations%5Cnumismatics%5Ccdm_index.db': Access is denied
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:271)
at org.sqlite.SQLiteConnection.(SQLiteConnection.java:67)
at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:28)
at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:19)
at org.sqlite.JDBC.createConnection(JDBC.java:106)
at org.sqlite.JDBC.connect(JDBC.java:79)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:139)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.getMetadata(SQLiteDatabaseService.java:97)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.connect(SQLiteDatabaseService.java:87)
at com.google.refine.extension.database.cmd.ConnectCommand.doPost(ConnectCommand.java:78)
at com.google.refine.RefineServlet.service(RefineServlet.java:188)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:790)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
11:16:29.377 [ ConnectCommand] ConnectCommand::Post::DatabaseServiceException::{} (15ms)
com.google.refine.extension.database.DatabaseServiceException: opening db: 'C:%5CUsers%5Csaijdw%5CDocuments%5Ccdm_migrations%5Cnumismatics%5Ccdm_index.db': Access is denied
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:149)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.getMetadata(SQLiteDatabaseService.java:97)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.connect(SQLiteDatabaseService.java:87)
at com.google.refine.extension.database.cmd.ConnectCommand.doPost(ConnectCommand.java:78)
at com.google.refine.RefineServlet.service(RefineServlet.java:188)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:790)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
That Access is denied might be a Windows file permission issue you are having? You can try copying the file to another location, perhaps just your desktop. You might also check the file permissions for your user on that file (Google search how to do this - Right click the file - Properties - Security - etc.)
I tested OpenRefine 3.8.7 just now with this SQLite test.db file test.zip (517 Bytes) stored in my C:\Users\thadg\Downloads folder in Windows 11 and was able to Test connection as well as Connect and issue the query:
I am using OpenRefine 3.9.5 on Windows 10. I downloaded test.zip (517 Bytes) to my Downloads (C:\Users\goslen\Downloads\test) and confirmed I have full permissions on the test.db file.
Here’s the error information from the command line window.
01:26:36.986 [ SQLiteConnectionManager] SQLException::Couldn't get a Connection! (36ms)
java.sql.SQLException: opening db: 'C:%5CUsers%5Cgoslen%5CDownloads%5Ctest%5Ctest.db': Access is denied
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:271)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:67)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19)
at org.sqlite.JDBC.createConnection(JDBC.java:106)
at org.sqlite.JDBC.connect(JDBC.java:79)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:139)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.testConnection(SQLiteConnectionManager.java:113)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.testConnection(SQLiteDatabaseService.java:82)
at com.google.refine.extension.database.cmd.TestConnectCommand.doPost(TestConnectCommand.java:78)
at com.google.refine.RefineServlet.service(RefineServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:790)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
01:26:36.988 [ TestConnectCommand] TestConnectCommand::Post::DatabaseServiceException::{} (1ms)
com.google.refine.extension.database.DatabaseServiceException: java.sql.SQLException: opening db: 'C:%5CUsers%5Cgoslen%5CDownloads%5Ctest%5Ctest.db': Access is denied
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:149)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.testConnection(SQLiteConnectionManager.java:113)
at com.google.refine.extension.database.sqlite.SQLiteDatabaseService.testConnection(SQLiteDatabaseService.java:82)
at com.google.refine.extension.database.cmd.TestConnectCommand.doPost(TestConnectCommand.java:78)
at com.google.refine.RefineServlet.service(RefineServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:790)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: opening db: 'C:%5CUsers%5Cgoslen%5CDownloads%5Ctest%5Ctest.db': Access is denied
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:271)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:67)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19)
at org.sqlite.JDBC.createConnection(JDBC.java:106)
at org.sqlite.JDBC.connect(JDBC.java:79)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at com.google.refine.extension.database.sqlite.SQLiteConnectionManager.getConnection(SQLiteConnectionManager.java:139)
... 39 more
I tested the same test.db with OpenRefine 3.6.1 and do not have this issue.
Are you able to open other files with the same permissions and location using OpenRefine 3.9.5? I don’t have a Windows computer to test with, but I wonder if this is related to the reports of Windows Defender causing problems with 3.9.5, as reported here: Releasing 3.9.4 - #8 by abbe98
Yes, I am able to open other types of files with the same permissions and location with OpenRefine 3.9.5. I was successfully able to open and create projects for an Excel file (xlsx), CSV, and TSV.