无法通过带有 java 客户端连接器的命名管道连接到 MariaDB

问题描述 投票:0回答:1

花了大约两天的时间组合/测试协议,参数没有运气。 似乎 Java 客户端连接器有问题,但也许我错过了什么。

  1. Windows(10,不过我觉得没什么区别)
  2. mariadb-java-client-3.1.1.jar(https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector/
  3. 尝试连接使用 java 客户端的 DBeaver/Openfire(Heidi 使用 .dll 和命名管道工作正常,因为 mariadb ODBC 工作正常 [如果不将管道名称写入相应的输入字段]) a) 对于具有多种 url 类型的 DBeaver(例如需要将 MariaDB 驱动程序复制为“MariaDB Named Pipe”并编辑 url) b) 对于 Openfire jdbc...

尝试了很多组合,很多。

jdbc:mariadb://localhost/?pipe=MySQL
jdbc:mariadb://localhost/?pipe=\\.\pipe\MySQL
jdbc:mariadb://localhost/?pipe=\\\\.\\pipe\\MySQL
jdbc:mariadb://localhost/?pipe=//./pipe/MySQL
jdbc:mysql://localhost/?protocol=pipe&permitMysqlScheme
  • 参数 pipe/pipeName/socket/socketName/socketPath
  • 参数单独和组合
  • socketFactory 在 mysql 中 - 我不知道 mariadb 工厂和 mysql 工厂没有接受
  • protocol=pipe 在参数部分(在“?”之后)和主机部分 localhost=(protocol=pipe)
  • 与“本地主机”,“。”作为主机且没有主机 ":///"

没有任何帮助。在大多数情况下只是“必须设置主机名”,当“pipe=something”时“地址不能为空”(pipe=MySQL,pipe=\.\pipe\MySQL 等,而不是“pipe=”)

当通过 mysql java 连接器连接到 MariaDB 时 - 然后一切正常,在 url 中键入“jdbc:mysql:///?protocol=pipe”就足够了,一切正常。但是 mariadb java 连接器...

有什么建议吗?

java windows jdbc mariadb named-pipes
1个回答
0
投票

为了通过管道成功连接,我这样做:

  1. 使用/连接 mariadb java 客户端,例如 mariadb-java-client-3.1.2.jar
  2. 使用/连接 jna - 如果没有它,这将永远无法工作,例如 jna-5.13.0.jar
  3. 连接属性: 驱动程序:org.mariadb.jdbc.Driver 服务器 URL: jdbc:mariadb:///yourdatabase?pipe=MySQL
© www.soinside.com 2019 - 2024. All rights reserved.