#oracle #batch-file #automation #sqlplus
Вопрос:
Я пытаюсь автоматизировать некоторые ежедневные проверки, и теперь мне нужно использовать SQL-запрос. Итак, я написал свой SQL-скрипт, а затем попытался запустить его через командный файл, чтобы иметь возможность поместить его в планировщик задач.
Итак, я написал что-то вроде этого
sqlplus user/pw@DBServer @PathToSQLScript.sql > "DestinationWhereToPutOutput"
Это сбивает меня с толку, потому что это нормально работает на любом другом сервере, который я уже автоматизировал, но на этом он выдал мне ошибку
ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения
И хочет, чтобы я повторно ввел учетные данные.
Есть ли другой способ запустить SQL-скрипт через пакетный файл?
Заранее спасибо за любые советы.
Ответ №1:
Наиболее частой причиной ORA-12154 является то, что сервер баз данных не может быть найден в TNSNAMES.Файл ORA. Поэтому:
- создайте псевдоним сервера баз данных в TNSNAMES.ОРА, или
- используйте синтаксис EZCONNECT (который не требует TNSNAMES.ОРА) это выглядит как
host:port/service_name
Например, это было бы
sqlplus user/pw@db_server:1521/orcl
Для получения дополнительной информации об устранении неполадок ORA-12154 см. Блог Эда Стивенса
Комментарии:
1. Здравствуйте, спасибо за вашу помощь, похоже, с вашим решением все в порядке.