Миграция выполнения ANT sqlplus из MacOSX в Windows, получение ошибки TNS

У меня есть рабочий ANT build.xml, который выполняет sqlplus для компиляции PL/SQL. Я разрабатываю на MacOSX. Мой коллега собирается внести свой вклад в то же приложение. Он разрабатывает на WinXP. Sqlplus exec из ANT возвращает ошибку TNS ORA-12560 в WinXP. Идентичный build.xml работает на MacOSX. Строка run, которую ANT следует создавать в WinXP, работает в оболочке DOS. Мы настроили переменную среды TNS_ADMIN в WinXP. Чего мне не хватать?

1 ответ

Из вашего описания я не уверен, используете ли вы задачу ANT SQL ( http://ant.apache.org/manual/Tasks/sql.html) или используете ли вы задачу exec для вызова Sqlplus. Можете ли вы уточнить?

Если вы вызываете sqlplus в качестве внешней команды, вы будете зависеть от двух основных факторов: a) переменных среды b) файла tnsnames.ora

Windows и Unix отличаются тем, как они обрабатывают, указывая, куда вы хотите подключиться. В OSX у вас будут установлены переменные среды ORACLE_HOME и ORACLE_SID. В Windows это будет в реестре. Вы также можете установить TNS_ADMIN, который определяет, где будет найден ваш файл tnsnames.ora.

Первое, что нужно проверить, будет, если вы используете один и тот же файл tnsnames.ora.

Если да, попробуйте запустить tnsping, чтобы убедиться, что псевдоним настроен правильно.

Обратитесь к нам с результатами этих тестов.

Другие вопросы по тегам