SQL-скрипт через bat-файл

#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. Здравствуйте, спасибо за вашу помощь, похоже, с вашим решением все в порядке.