SQL 11 veritabanında bir PL/SQL komut dosyasını yürütmek için sql-maven eklentisini kullanmaya çalışıyorum. senaryo (bildiğim kadarıyla söyleyebilirim gibi) geçerli PL/SQL olmasına rağmen, yürütme bana bir PLS-00103 hata veriyor:Maven: sql-maven eklentisi olan PL/SQL komut dosyası hatası atıyor PLS-00103
SQL komut: (drop_all_tables.sql)
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE MY_TABLE';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
Ve eklentisi yapılandırma:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.5</version>
<dependencies>
<dependency>
<groupId>oracle</groupId>
<artifactId>jdbc</artifactId>
<version>11.2.0.2.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>create-schema</id>
<phase>process-test-resources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>${jdbc.url}</url>
<username>${jdbc.username}</username>
<password>${jdbc.password}</password>
<autocommit>true</autocommit>
<srcFiles>
<srcFile>src/main/resources/sql/drop_all_tables.sql</srcFile>
</srcFiles>
</configuration>
</execution>
</executions>
</plugin>
Ve bu Maven yürütme çıktısı şu şekildedir:
[ERROR] Failed to execute: BEGIN
EXECUTE IMMEDIATE 'DROP TABLE MY_TABLE';
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] ORA-06550: line 2, column 43:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
(begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted delimited-identifier>
<a bind variable> << continue close current delete fetch lock
insert open rollback savepoint set sql execute commit forall
merge pipe purge
Maven hata iletinizdeki kod çıktısı, iş parçacığınızın en üstünde yayınladığınız kodla eşleşmiyor. – APC
Oh doğru özür dilerim, tablo adının jenerik olması için düzenledim, hata çıktısında bunu yapmayı unuttum - şimdi bitti :) – Guillaume
nokta şu, kod aslında * yürütme * ne olduğundan farklı bize gösteriliyor *. Bize gerçek kodu göstermezseniz, bir sözdizimi hatasını yorumlamamızı nasıl beklersiniz? – APC