Мне было предложено подключить базу данных Apache Derby к нашим существующим инструментам для интеллектуального анализа данных MATLAB. Я бег MATLAB R2014a (без базы данных панели инструментов)Подключение MATLAB к базе данных Apache Derby через JDBC
После некоторых исследований и проб и ошибок, вот что я сделал:
пошел http://www.java2s.com/Code/Jar/d/Downloadderbyclientjar.htm и загрузить derbyclient.jar и сохранил его, и распаковал его в общей папку ,
отредактировал текстовый файл C: \ Users \ tyler.davis \ AppData \ Roaming \ MathWorks \ MATLAB \ R2014a \ javaclasspath.txt и добавил полный путь к derbyclient.jar, сохранил его, перезапустил MATLAB.
В командной строке MATLAB
javaclasspath
показывает "S: \ Shared ... \ derbyclientjar \ derbyclient.jar \ derbyclient.jar" в конце статического списка путей. Все идет нормально.
Далее, попробуйте
driverClassName = 'org.apache.derby.jdbc.ClientDriver';
java.lang.Class.forName(driverClassName);
отчеты об ошибке:
Java exception occurred:
java.lang.ClassNotFoundException: org/apache/derby/jdbc/ClientDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
Пробовал альтернативу:
classLoader = com.mathworks.jmi.ClassLoaderManager.getClassLoaderManager;
driverClass = classLoader.loadClass(driverClassName);
Это, казалось, работать, созданные объекты «driverClass, тип 1x1 java.lang .Class "и" classLoader, значение 1x1 com.mathworks.jmi.ClassLoaderManager "
Тогда я попытался
DriverManager.registerDriver(driverClass.newInstance);
который отчеты об ошибках
Undefined variable "DriverManager" or class "DriverManager.registerDriver".
и если я пытаюсь создать базу данных с помощью
cxnStr = 'jdbc:derby:sampleDB:create=true';
cxn = java.sql.DriverManager.getConnection(cxnStr);
Я получаю
Java exception occurred:
java.sql.SQLException: No suitable driver found for jdbc:derby:sampleDB:create=true
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
Я действительно не знаю, что я здесь делаю; просто копируя код другого пользователя из Интернета. Любые предложения о том, что попробовать дальше?
Спасибо за ответ. Причина, по которой я перешел на другой сайт, - это то, что я изначально пытался скачать прямо с apache.org (как db-derby.10.11.1.1-bin.zip, так и db-derby.10.11.1.1-lib.zip) и во время процесс распаковки, я получил это сообщение об ошибке: «непредвиденная ошибка не позволяет вам копировать файл ... 0x80004005 ... derbyTesting.jar» – twd000
Я должен был быть более ясным; файл, загруженный с java2s, был zip-файлом, содержащим один файл jar. Я расстегнул молнию, а не банку. Теперь, когда я понимаю разницу между двумя конфигурациями, я хочу встроенную базу данных, а не клиент/сервер. База данных будет находиться локально на ПК и будет доступна только одному пользователю за раз. Я попытаюсь работать над EmbeddedDriver – twd000
Действительно, у меня иногда возникают проблемы с «загрузками зеркал» Apache. Похоже, ваша загрузка не была полной, потому что почтовый индекс был поврежден. Вы подтвердили подпись md5 загрузки после ее завершения? Я предлагаю вам отбросить поврежденные архивы bin.zip и lib.zip и снова перезагрузить их из Apache, используя при необходимости другое зеркало загрузки. –