У меня есть база данных Mariadb, работающая на NAS-устройстве Synology, к которой я хочу получить доступ из Matlab, установленной на Mac.
Вот шаги, которые я выполнил:
- скачал MariaDB Connector / J 2.3.0 mariadb-java-client-2.3.0.jar
- создал папку MyDrivers в папке / Library и переместил туда драйвер
- добавил указанную папку в переменную PATH
- добавил полный путь к драйверу в переменную CLASSPATH
- в соответствии с руководством Matlab создал файл javaclasspath.txt, который сохраняется в папке prefdir Matlab (
/Users/cedric/Library/Application Support/MathWorks/MATLAB/R2018a/javaclasspath.txt
). Содержимое файла javaclasspath.txt: /Library/MyDrivers/mariadb-java-client-2.3.0.jar
Когда я пытаюсь настроить источник данных в Matlab, я получаю сообщение об ошибке «Невозможно найти драйвер jdbc по пути к классам Java Matlab». Я считаю, что пункты 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
Думая, что это не исполняемый файл, я пробовал 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
Вывод javaclasspath ('all') в Matlab
Последний файл, который возвращает 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 Connector / J 2.3.0