2014-11-28 2 views
2

У меня есть приложение с Mysql как Database, которое использует много XML/HTML. Я хотел бы обработать данные mysql в BaseX и обновить базу данных через него. Есть ли простой способ подключения базы данных? Я проверил http://docs.basex.org/wiki/SQL, но он не работает. Можете ли вы дать мне простой пример, что мне нужно сделать, чтобы подключиться? я получил сообщение об ошибке произошла SQL-исключение: 'Нет подходящего драйвера найти для JDBC: MySQL: // локальный: 3306/тест' вот мой код:Как подключить mysql к Basex?

let $conn := sql:connect("jdbc:mysql://localhost:3306/test") 
return sql:execute($conn, "SELECT * FROM coffees WHERE price < 10") 

Где я должен поставить MySQL Connector JDBC (mysql-connector-java-5.1.34-bin.jar) в basex, чтобы заставить его работать? Thanks

+0

Этот вопрос не подходит для SO, как мы не приводим примеры. Это более уместно в нашем списке рассылки, и его попросили всего пару дней назад, см. Https://mailman.uni-konstanz.de/pipermail/basex-talk/2014-November/007690.html для получения дополнительной информации (поэтому, чтобы сделать его коротким: поместите его в lib /). – dirkk

+0

спасибо за комментарий, почему возникает ошибка типа «Не удалось инициализировать поставленный драйвер:« com.mysql.jdbc.Driver »? Я уже поместил свой драйвер jdbc в каталог lib – user2737980

+0

Вы перезапустили BaseX? банки загружаются только во время запуска – dirkk

ответ

3

Сначала загрузите последнюю версию драйвера mysql jdbc. Вот 5.1.36, внутри этого есть .jar-файл, извлечь файл jar и поместить в каталог lib папки установки. В окнах находится

C:\Program Files (x86)\BaseX\lib 

Перезагрузите сервер или графический интерфейс. для графического интерфейса пользователя вы должны закрыть все, лучше, чтобы открыть из каталога бен в basexgui

sql:init("com.mysql.jdbc.Driver"), 
let $con := sql:connect('jdbc:mysql://localhost:3306/DB_NAME', 'DB_USER', 'DB_PASSWORD') 
return sql:execute($con, "select version()") 

для деталей запросов BaseX documentation

+0

Это прекрасно. Спасибо – user2737980

+0

Спасибо за ваш ответ. В Ubuntu, начиная с версии 7.9 BaseX, вам нужно изменить сценарий оболочки, который запускает BaseX (sudo vi/usr/bin/basex), чтобы загрузить драйвер JDBC, добавляя строку find_jars/usr/share/java/mysql-connector-java -5.1.16.jar 2>/dev/null, потому что в Linux нет папки «lib» для Basex (https://www.mail-archive.com/[email protected]/ msg04708.html). Измените свой ответ, добавив эту деталь. Это работало только на меня. –

Смежные вопросы