2013-03-08 5 views
1

У меня есть файл со следующим содержанием:PLSQL заявления не работает с ANT

-- KERNEL72 - SWIFT Silver changes start

/*

drop synonym ispkss_vals
/

create synonym ispkss_vals for ispks_vals
/

*/-- KERNEL72 - SWIFT Silver changes ends after the below line

create or replace synonym ispkss_vals for ispks_vals
/

Это компилирует правильно в SQL Plus. Но при компиляции с использованием ANT, я получаю следующее сообщение об ошибке:

[sql] Failed to execute:      

[sql] -- KERNEL72 - SWIFT Silver changes start
[sql] /*
[sql] drop synonym ispkss_vals
[sql] java.sql.SQLException: Invalid SQL type
[sql] Failed to execute:
[sql] create synonym ispkss_vals for ispks_vals
[sql] java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object [sql] Failed to execute:
[sql] */-- KERNEL72 - SWIFT Silver changes ends after the below line
[sql] create or replace synonym ispkss_vals for ispks_vals
[sql] java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement

Im, используя следующие ANT скрипты для компиляции:

    <sql driver="oracle.jdbc.driver.OracleDriver" 
     url="jdbc:oracle:thin:@10.184.1.13:1521:UPP" 
     userid="${UsernameB}" 
     password="${PasswordB}" 
     onerror="continue" 
     strictDelimiterMatching="false" 
     delimiter="/" 
     keepformat="yes"> 

Пожалуйста, советы о том, почему ANT компиляции не являются правильными.

+0

Почему вы определяете 'delimiter ="; "', если вы явно используете '/' в качестве разделителя? –

+0

Извините. Это была ошибка при копировании кода. разделитель есть/только. исправлено выше. – 2013-03-08 09:22:16

+0

Прошу совета ... – 2013-03-08 09:26:21

ответ

2

Возможно, проблема заключается в том, что вы используете / в качестве разделителя инструкций, а также пытается прокомментировать /* ... */?

Он может обрабатывать открытие и закрытие комментария как разделители, создавая SQL-заявления, которые не имеют смысла. (можно начать с * и т. д.)

+0

Это кажется наиболее вероятным ответом. – APC

Смежные вопросы