Я ищу соединение с удаленной базой данных под управлением Oracle12 с компьютера Windows 10 (не самой базы данных). Обратите внимание, что это база данных только для чтения, которой я не владею, но мне дали разрешение на запрос для получения результатов. Конечным результатом того, что я хочу сделать, является написание сценария php, который я могу запускать ежедневно, чтобы автоматически выполнять локально сохраненный запрос sql к базе данных и экспортировать результаты в заранее определенное местоположение файла (предпочтительно). формат CSV без необходимости взаимодействия человека с процессом. Однако у меня возникли проблемы с первым шагом фактического подключения к базе данных.
У меня есть подключение к базе данных через Oracle SQL Developer Developer и я могу запустить локальный SQL Подать файл через базу данных и экспортировать по мере необходимости, но я обнаружил, что нет способа автоматизировать этот процесс через него, даже используя встроенный планировщик. Так как это было невозможно, я установил SQLPlus с помощью instantclient_19_5, чтобы попытаться подключиться к серверу с помощью запроса командной строки, но это приводит к ошибкам.
Вот что мне было дано для подключения:
TNSNAME
Имя пользователя / пароль
Имя хоста (IP-адрес)
Порт
SID
Вот некоторые из команд, которые я пытался выполнить, и результаты, которые я получил от SQLPlus, но детализация которых опущена для конфиденциальности владельца базы данных. Обратите внимание, что для некоторых возвращенных ошибок у меня нет SERVICE_NAME, просто SID:
sqlplus [Имя пользователя] / [Пароль] @ "(ОПИСАНИЕ = (ADDRESS_LIST = (ADDRESS = (COMMUNITY =) TCP.WORLD) (PROTOCOL = TCP) (HOST = [имя хоста как IP]) (PORT = [Порт #]) (CONNECT_DATA = (SERVER = DEDICATED) (SID = [SID])))))
Результат:
ОШИБКА: ORA-12504: TNS: слушателю не было присвоено имя SERVICE_NATA в CONNECT_DATA
sqlplus [Имя пользователя] / [Пароль] @ "[Имя хоста как IP]: [Порт]: [SID] "
Результат:
ОШИБКА: ORA-12545: Ошибка подключения, поскольку целевой хост или объект не существует
sqlplus [Имя пользователя] / [Пароль] @ [Имя хоста как IP]: [Порт] / [SID]
Результат:
ОШИБКА: ORA-12514: TNS: слушатель в настоящее время не знает об услуге, запрошенной в дескрипторе соединения
Мне кажется, что я что-то упускаю, будь то программа на моем компьютере или форматирование моей команды или что-то еще, поэтому любая помощь будет чрезвычайно оценили.