64-разрядная версия DBeaver не может подключиться к источнику ODBC — номер параметра вне допустимого диапазона.

У меня есть программа на сервере с Pervasive SQL. Я могу подключиться к нему через соединение ODBC с помощью Pervasive ODBC Connector. В диспетчере Windows ODBC я могу создавать источники и подключаться как к 32-разрядной, так и к 64-разрядной версии. (Проверка соединения прошла успешно).

В 32-разрядной версии DBeaver я могу без проблем подключиться к этому источнику данных; но последняя версия DBeaver только 64-битная. Они больше не делают 32-битную версию. Итак... Мне нужно, чтобы 64-битная версия работала.

Когда я создаю соединение в 64-битной версии DBeaver, указывая на созданное и протестированное ранее 64-битное соединение ODBC, я получаю следующую ошибку:

[PSQL][ODBC Client Interface]Parameter number out of range.

Я понятия не имею, как заставить это соединение работать. Либо ошибка в 64-битном DBeaver, либо я что-то не так делаю. Насколько я могу судить, это не несоответствие архитектуры. Когда я создаю 64-битный источник в Windows, тестовое соединение выполняется успешно. Но 64-битный DBeaver отказывается подключаться к этому 64-битному источнику ODBC.

ОБНОВЛЕНИЕ: ответ @mirthiel правильный, за исключением того, что вам нужно добавить три файла драйвера: pvjdbc2.jar, pvjdbc2x.jar и jpscs.jar


person Stephen R    schedule 29.03.2019    source источник
comment
Ошибка при подключении или при выполнении запроса? Какую версию PSQL вы используете? Я использую PSQL v11.30 и смог создать соединение в DBeaver, указывающее на 64-битный DSN, указывающий на Demodata. Это работает? Вы пробовали подключить драйвер JDBC к Pervasive?   -  person mirtheil    schedule 29.03.2019
comment
Я не знаю, как попробовать соединение JDBC. DBeaver не имеет опции JDBC, за исключением того, что некоторые из них (включая ODBC), похоже, используют JDBC под капотом.   -  person Stephen R    schedule 29.03.2019
comment
Ошибка при подключении или при выполнении запроса?   -  person mirtheil    schedule 29.03.2019
comment
Это происходит при создании соединения, когда я проверяю соединение и когда пытаюсь каким-либо образом использовать соединение. Я не дошел до списка таблиц; связи нет вообще   -  person Stephen R    schedule 29.03.2019


Ответы (1)


Поскольку DBeaver является программой на основе Java и может использовать JDBC, вы можете попробовать использовать драйвер Pervasive JDBC. Для этого добавьте новый драйвер в диспетчере драйверов. В Class Name используйте:

com.pervasive.jdbc.v2.Driver

Для URL Template я использовал:

jdbc:pervasive://servername.1583/dbname?transport=tcp

Затем я добавил библиотеку Pervasive JDBC (нажав Add File на вкладке Libraries. Я выбрал драйвер Pervasive (C:\Program Files (x86)\Pervasive Software\PSQL\bin\pvjdbc2.jar в моей установке PSQL).

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

person mirtheil    schedule 29.03.2019
comment
Я попробую это. Спасибо за подробный ответ! - person Stephen R; 29.03.2019
comment
Пробовал. Во-первых, на моем компьютере путь Actian, а не Pervasive Software. Также не устанавливайте аутентификацию. Test Connection выдает эту ошибку: Unexpected driver error occurred while connecting to database | com/pervasive/pscs/Manager - person Stephen R; 01.04.2019
comment
Понятно! Кикер заключался в следующем: соединение работает, если вы добавите два других файла jar из папки bin Pervasive driver, jpscs.jar и pvjdbc2x.jar. Найдено здесь: coderanch.com/t/303696/databases/Connection-PervasiveSQL-fails - person Stephen R; 01.04.2019