【问题标题】:How to connect mysql with Basex?如何连接mysql和Basex?
【发布时间】:2014-11-28 10:39:41
【问题描述】:

我有一个使用 Mysql 作为数据库的应用程序,它使用了大量的 XML/HTML。 我想在BaseX中处理mysql数据并通过它更新数据库。有什么简单的方法可以连接数据库吗? 我检查了http://docs.basex.org/wiki/SQL,但它不起作用。你能给我一个简单的例子我必须做什么来连接吗? 我收到错误发生 SQL 异常:'没有找到适合 jdbc:mysql://localhost:3306/test 的驱动程序' 这是我的代码:

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

我应该将 mysql jdbc 连接器 (mysql-connector-java-5.1.34-bin.jar) 放在 basex 的哪个位置才能使其工作? 谢谢

【问题讨论】:

  • 这个问题不适合 SO,因为我们没有给出例子。它在我们的邮件列表中更合适,并且在几天前被询问过,请参阅mailman.uni-konstanz.de/pipermail/basex-talk/2014-November/… 了解更多信息(因此,简而言之:将其放入 lib/)。
  • 感谢您的评论,为什么会出现“无法初始化提供的驱动程序:'com.mysql.jdbc.Driver”这样的错误?我已经把我的 jdbc 驱动放到了 lib 目录中
  • 你重启BaseX了吗? jar 仅在启动期间加载
  • 我正在使用 GUI。所以我关闭它并重新打开它。
  • 我认为它现在可以工作了。

标签: mysql basex


【解决方案1】:

首先下载最新版本的mysql jdbc驱动。这里是5.1.36,里面有.jar文件,解压jar文件放到BaseX安装文件夹的lib目录下。在 Windows 中是

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

重新启动服务器或 GUI。对于 GUI,您应该关闭所有内容,最好从 bin 目录的 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

【讨论】:

  • 感谢您的回答。在 Ubuntu 中,从 BaseX 7.9 版开始,您需要修改运行 BaseX (sudo vi /usr/bin/basex) 的 shell 脚本以加载 JDBC 驱动程序,添加行 find_jars /usr/share/java/mysql-connector-java -5.1.16.jar 2>/dev/null ,因为在 Linux 中没有用于 Basex (mail-archive.com/basex-talk@mailman.uni-konstanz.de/…) 的“lib”文件夹。请修改您的答案并添加该详细信息。它只对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 2019-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多