Миграция выполнения 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, чтобы убедиться, что псевдоним настроен правильно.
Обратитесь к нам с результатами этих тестов.