В моем рабочем месте через Oracle UI я могу использовать только TNS как Тип подключения, потому что они не могут открыть порт для меня, чтобы выполнить соединение. это Oracle 11g.Кодирование для подключения к Oracle через TNS
Но, прямо сейчас я необходимо написать код для подключения к Oracle и получения данных. Я попытался несколько кодирования языков и ни один из них не работает ...
Here're, что я пытался
Попробуйте 1: Спарк Scala, Спарк Python похож, и я использую ноутбук Спарк здесь
val jdbcUsername = "[my user name]"
val jdbcPassword = "[my pswd]"
val jdbcHostname = "[Oracle hostname]"
val jdbcPort = [default port number]
val jdbcDatabase ="DATABASE"
val jdbcUrl = s"jdbc:oracle://${jdbcHostname}:${jdbcPort}/${jdbcDatabase}?user=${jdbcUsername}&password=${jdbcPassword}"
val connectionProperties = new java.util.Properties()
Class.forName("com.oracle.jdbc.Driver")
import java.sql.DriverManager
val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)
connection.isClosed()
Этот метод не удалось, и он показывает
нет подходящий драйвер не найден
Try 2: Oracle Учебник
Затем я проверил Oracle Tutorial, он не работает для меня, потому что он использует Basic тип подключения не TNS Я также проверил относительный метод подключения Java, не работа для меня
Попробуйте 3: R
Наконец, я изменил R, это учебник: R connect to Oracle
Первый метод, использующий RODBC
не удалось, показывая
сообщение [Microsoft] [ODBC Driver Manager] Источник данных не найден и драйвер по умолчанию не указано
Вот код:
library(RODBC)
con <- odbcConnect("[Oracle Host name]", uid="[my user id]", pwd="[my pswd]", rows_at_time = 500)
Для второго метода я не могу использовать RJDBC
. Для третьего метода, я попробовал все mirror urls in my location, и до сих пор не может установить пакет ROracle
.....
Мой вопрос, является то, что можно написать код и подключиться к таблицам Oracle, используя TNS в качестве типа подключения ? Я хорош с Python, Java и R, нормально с Spark Scala
Почему ваша первая загрузка 'com.mysql.jdbc.Driver' для соединения Oracle? И что вы имеете в виду, что вы не можете открыть порт - TNS переходит через сеть к тому же порту, которое будет использовать базовое соединение. –