#oracle #database-connection #octave #ojdbc
#Oracle #база данных-подключение #octave #ojdbc
Вопрос:
Не удается найти способ подключить Octave (работающий в Windows 10) к Oracle DB. Я хотел бы закодировать SQL-запрос выбора непосредственно в командной строке Octave и получить данные, извлеченные в Octave из Oracle DB.
Я новичок в Octave. Пытался найти ответ в Stack и в нескольких руководствах Octave, но безуспешно.
На данный момент я могу сделать это в R, а не в Octave, и это было бы что-то вроде этого:
library(RJDBC)
library(rJava)
driver <- JDBC(driverClass = "oracle.jdbc.OracleDriver", [Oracle driver path])
con <- dbConnect(drv = driver, [connection to server], [schema], [password])
data <- dbGetQuery(con, [SQL select-query])
Комментарии:
1. Используйте это таким же образом: вы можете использовать Java из Octave
2. На самом деле, это именно то, что я хотел бы знать: что значит «таким же образом» в данном случае?
3. Пожалуйста, добавьте ваше решение и отметьте его как ответ. Насколько я могу судить по вашему другому вопросу, вы решили его самостоятельно
4. Я так и сделаю, Энди. Мое решение еще не завершено, я пропускаю последнюю его часть, которая является строкой: data<-dbGetQuery(con, [SQL select-query]). В R я могу читать непосредственно из этого объекта «data». В Octave я получаю результирующий набор, который мне не так-то просто прочитать.
Ответ №1:
Octave не поддерживает подключение к Oracle.
Поскольку Octave поддерживает встроенную Java, вы могли бы закодировать это самостоятельно, используя Java и JDBC. Но сделать это с хорошей производительностью — это большой проект, потому что уровень внешнего интерфейса Octave / Java довольно медленный, а JDBC обладает врожденной неэффективностью, которая проявляется, в частности, в отношении того, как работает интерфейс Octave / Java.
Вместо этого я бы посоветовал вам написать небольшую программу на Python / NumPy, R или другом удобном для вас языке, имеющую официальную поддержку Octave connectivity и способную генерировать файлы MAT, совместимые с Octave (или какой-либо другой формат данных, с которым вам удобно работать). Пусть эта программа примет SQL-запрос в качестве входных данных и сгенерирует MAT-файл, содержащий результирующий набор в качестве выходных данных. Вызовите эту программу из вашей программы Octave и получите результаты, прочитав файл MAT.