Как подключить Octave к базе данных Oracle?

#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.