【发布时间】:2019-02-13 20:05:47
【问题描述】:
我有一个在 Synology NAS 上运行的 Mariadb 数据库,我想从 Mac 上安装的 Matlab 访问它。
以下是我遵循的步骤:
- 下载了 MariaDB Connector/J 2.3.0 mariadb-java-client-2.3.0.jar
- 在 /Library 文件夹中创建了一个 MyDrivers 文件夹并将驱动程序移到那里
- 将上述文件夹添加到 PATH 变量中
- 将驱动程序的完整路径添加到 CLASSPATH 变量中
- 按照 Matlab 的教程,创建了一个 javaclasspath.txt 文件,该文件保存在 Matlab prefdir 文件夹 (
/Users/cedric/Library/Application Support/MathWorks/MATLAB/R2018a/javaclasspath.txt) 中。 javaclasspath.txt文件内容为/Library/MyDrivers/mariadb-java-client-2.3.0.jar
当我尝试在 Matlab 中配置数据源时,我收到一条错误消息“无法在 Matlab Java 类路径上找到 jdbc 驱动程序”。我相信第 3 点、第 4 点和第 5 点已正确完成(参见下面的输出)。
所以我的问题是关于驱动程序.jar 文件的复制/粘贴。除了将它放在相关文件夹中之外,我还需要做些什么吗?
我尝试在终端中使用java -jar /Library/MyDrivers/mariadb-java-client-2.3.0.jar 执行它。这提供:no main manifest attribute, in /Library/MyDrivers/mariadb-java-client-2.3.0.jar
认为它可能不是一个可执行的jar,我试过java -cp /Library/MyDrivers/mariadb-java-client-2.3.0.jar org.mariadb.jdbc.Driver;
这会返回
Error: Main method not found in class org.mariadb.jdbc.Driver, please define the main method as: public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application`
关于具体做什么的任何提示?到目前为止我所做的研究中的提示已经用完了......
终端中 env 的输出
TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/48/d95l77ys4hv4xbfgtsh0rh1w0000gn/T/
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.l8pI2zNcXw/Render
TERM_PROGRAM_VERSION=404
OLDPWD=/Users/cedric/.Trash/mariadb-java-client-2.2.6-sources 23.44.30/org/mariadb
TERM_SESSION_ID=396C6E65-006B-4BAF-B137-A270A36E397F
USER=cedric
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.QZhGI9ZjXf/Listeners
PATH=/Library/MyDrivers/mysql-connector-java-8.0.12/mysql-connector-java-8.0.12.jar:/Library/MyDrivers:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PWD=/
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
SHLVL=1
HOME=/Users/cedric
LOGNAME=cedric
CLASSPATH=.:/Library/MyDrivers/mariadb-java-client-2.3.0.jar:
LC_CTYPE=UTF-8
SECURITYSESSIONID=186a8
_=/usr/bin/env
matlab中javaclasspath('all')的输出
Matlab 返回的最后一个文件是驱动程序之一:/Library/MyDrivers/mariadb-java-client-2.3.0.jar
系统规格:
Mac OS HighSierra 10.13.4
Matlab R2018a
Java -version:
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
驱动 Jdbc MariaDB 连接器/J 2.3.0
【问题讨论】:
标签: java matlab jdbc mariadb macos-high-sierra