Доступ к NexusDB из Java - PullRequest
       19

Доступ к NexusDB из Java

1 голос
/ 18 июня 2009

Я пытаюсь получить информацию из встроенной базы данных NexusDB, используя java.

Альтернатива 1:

Я прочитал на сайте NexusDB , что существует драйвер ODBC, поэтому я могу использовать его с unixODBC. Затем мне нужно сделать мост JDBC-ODBC, как указано здесь .

Альтернатива 2:

Получите какое-то приложение для переноса базы данных NexusDB в другую базу данных. Хотел бы знать один.

Я хотел бы знать, если кто-нибудь когда-либо это, какое лучшее решение?

Спасибо за чтение.

Ответы [ 4 ]

2 голосов
/ 19 июня 2009

Альтернатива 1:

Не возможно.

Для unixODBC нужны драйверы Linux, а для NexusDB - нет.

Альтернатива 2:

Не нашел.

Решение до сих пор

Написание небольшого веб-сервиса с помощью delphi или get odbc и использование его в небольшом прокси. Другими словами, вместо подключения к серверу nexusdb вы подключаетесь к выделенному приложению или веб-сервис передает информацию, и это приложение подключается к nexusd и записывает данные.

1 голос
/ 09 апреля 2014

Мне удалось запустить nexusDB под Wine.

Я смог настроить WINEPREFIX, следуя инструкциям здесь , чтобы получить доступ к панели управления odbc Wine (по умолчанию она транслируется в unixODBC, и, как заметил Macarse, это тупик), настроить DSN там и проверить, что он может получить доступ к данным.

Следующее, что я попробовал, было установить win32 PHP и написать быстрый и грязный тест с использованием odbc_connect. Потратив немало времени на случайное использование бинарного файла linux php и удивившись, почему он не может использовать (ТОЛЬКО встроенную на win32) функцию odbc_connect, я все заработал.

СОВЕТ: Чтобы избавить себя от ощущения, что вы бьетесь головой о кирпичную стену, помните, что любые попытки запуска php-скриптов в этой среде ДОЛЖНЫ выглядеть следующим образом

WINEPREFIX=/home/you/yourprefix wine php c:\phptest.php

НЕ

WINEPREFIX=/home/you/yourprefix php c:\phptest.php

Вторая версия будет использовать бинарный файл linux php. Чувствую себя довольно глупо после запуска второй версии целых дюжину раз И погуглял ошибку, прежде чем понять, что случилось - я думаю, мне нужно встать позже, если я хочу, чтобы все еще работало в 4 часа утра: (

(путь c: \ в приведенных выше примерах можно передать как /home/you/yourprefix/drive_c/whatever, если вы предпочитаете - относительные пути тоже подойдут)

И да, я знаю, что это пост некро, но это довольно нишевая ситуация, там не так много информации, которая заставляет nexusdb и odbc играть хорошо на linux, и если эта информация была мне доступна, Несколько месяцев назад, когда я гуглил и наткнулся на эту тему, это могло бы сэкономить мне немало времени. Надеюсь, кто-то еще найдет это полезным.

0 голосов
/ 24 июня 2009

Поскольку он встроен (и вы, вероятно, имеете полный доступ к компьютеру), как насчет копирования файлов базы данных в систему Windows, настройки NexusDB и ее драйвера ODBC, а затем использования моста ODBC-JDBC на этом компьютере? После запуска моста вы можете настроить новую JDBC-совместимую СУБД по вашему выбору, подключиться и использовать небольшой код для ВЫБРАТЬ из NexusDB и вставить в вашу новую базу данных.

Если вы хотите перейти на другую встроенную СУБД, я использую База данных H2 для Java, и должен сказать, что это очень мило. И встроенный, и клиент-серверный режимы, кроссплатформенный и очень быстрый для всего, что меньше 1M строк. Поддерживает практически все функции, которые есть во встроенной СУБД, а затем некоторые.

0 голосов
/ 24 июня 2009

Если вы подключаетесь к Nexus через .NET, возможно, вы можете использовать IKVM для запуска приложения Java и подключения через .NET api?

В противном случае я думаю, что ваше собственное "решение" пока звучит нормально.

Лучший Андерс

...