У меня есть набор файлов базы данных (например, .data
, .properties
и .script
file) в формате hsqldb, но человек, который управлял ими ранее, завершил работу и не оставил учетных данных. Когда я пытаюсь подключиться к базе данных, используя любые средства для доступа к автономной файловой базе данных (например, SqlTool или DatabaseManager), передавая пользователя по умолчанию «sa» и пустой пароль по умолчанию, я получаю что-то вроде этого:
java.sql.SQLException: User not found: SA
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
...
Есть ли способ легко обойти всю схему аутентификации и предоставления прав hsqldb и просто сбросить пользователя "sa" в его полных правах? Я выкопал всю документацию по hsqldb и провел некоторые исследования в Google, но не могу найти средства, чтобы просто обойти это?
Или это абсолютно невозможно без перебора (то есть файл фактически зашифрован с заданным паролем)? В этом вопросе упоминается, что пароли хранятся в файле .script
, но похоже, что у меня установлен формат COMPRESSED
или BINARY
(я не могу сказать, какой из них с моим голым глаза) с помощью команды SET SCRIPTFORMAT
, хотя я вижу необработанные данные в реальном времени в файле .data
. Можно ли расшифровать двоичный формат?