Как мне создать клиентскую программу HSQLDB 2?

#java #netbeans #hsqldb

#java #netbeans #hsqldb

Вопрос:

У меня есть небольшая программа HSQLDB для тестирования битов SQL. Я получаю эту ошибку:

  A pre-version 2.0 client attempted to connect.  We rejected them.
  

Тем не менее, единственным драйвером JDBC, который у меня есть, является HSQLDB v2.3 из последней загрузки:

 hsqldb/lib/hsqldb.jar
  

Я использую эту строку для загрузки драйвера JDBC:

  Class.forName("org.hsqldb.jdbcDriver");
  

И строка подключения:

  connectionStr = "jdbc:hsqldb:hsql://localhost/tmp_db";
 user=sa, password=
  

Значения по умолчанию. Похоже, что мой сервер HSQLDB запустился нормально с базой данных следующим образом:

  server.dbname.0=**tmp_db**
 server.database.0=file:r:/.data/hsqldb/**tmp_db/tmp**
[Server@372f7a8d]: Database [index=2, id=2, db=file:r:/.data/hsqldb/**tmp_db/tmp**, alias=tmp_db] opened sucessfully in 26 ms.
  

Я использую Netbeans, и когда я подключаюсь через вкладку Services, база данных, похоже, открывается нормально. Разве Netbeans не будет использовать тот же драйвер? Могу ли я это проверить?

Большой вопрос в том, как нам указать клиентское соединение версии 2, драйвер или параметры? Должен ли я получить другой JAR для правильного драйвера?

И последнее. Тестовая программа работает нормально, если я использую соединение на основе файлов, например:

 jdbc:hsqldb:db_file
  

К сожалению, строка подключения к серверу, похоже, работала ранее сегодня. По крайней мере, я мог удалять / создавать таблицы во время внесения изменений.

Ответ №1:

Вы должны использовать одни и те же jars (или, по крайней мере, последние, совместимые версии) на клиенте и сервере.

Ошибка показывает, что вы используете jar версии 2.x на сервере, но jar версии 1.8 на клиенте. Проверьте NetBeans, чтобы узнать, имеет ли какое-либо загруженное вами расширение старый драйвер. Вы можете использовать правильный jar в своем проекте NetBeans, добавив его в качестве библиотеки.

Если ошибка не из NetBeans, проверьте путь к классу вашего приложения и убедитесь, что у вас есть последняя версия jar.