64-битный DBeaver не может подключиться к источнику ODBC - «Номер параметра вне диапазона». - PullRequest
0 голосов
/ 29 марта 2019

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

В DBeaver 32-bit я могу без проблем подключиться к этому источнику данных; но последняя версия 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.

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

1 Ответ

1 голос
/ 29 марта 2019

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

com.pervasive.jdbc.v2.Driver

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

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

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

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

...