0

Mavenプラグインを介してOracleにテーブルスペースをドロップしようとしています。構成は次のとおりです。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sql-maven-plugin</artifactId>
    <version>1.5</version>
    <dependencies>
        <dependency>
            <groupId>oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
    </dependencies>
    <configuration>
        <driver>oracle.jdbc.driver.OracleDriver</driver>
        <url>jdbc:oracle:thin:@localhost:1521:XE</url>
        <username>system</username>
        <password>1</password>
    </configuration>
    <executions>
        <execution>
            <id>drop</id>
            <phase>process-test-resources</phase>
            <goals>
                <goal>execute</goal>
            </goals>
            <configuration>
                <autocommit>true</autocommit>
                <sqlCommand>DROP TABLESPACE myTableSpace INCLUDING CONTENTS and DATAFILES;</sqlCommand>
                <onError>continue</onError>
            </configuration>
        </execution>
    <executions>
<plugin

これにより、次のエラーが発生します。

[ERROR] Failed to execute goal org.codehaus.mojo:sql-maven-plugin:1.5:execute (drop) on project database-migration: ORA-00604: error occurred at recursive SQL level 1
[ERROR] ORA-12705: Cannot access NLS data files or invalid environment specified

私はすでにグーグルで検索し、Mavenプラグインを介して両方でNLS_LANGを設定しようとしました:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0.0</version>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>set-system-properties</goal>
            </goals>
            <configuration>
                <properties>
                    <property>
                        <name>NLS_LANG</name>
                        <value>AMERICAN_AMERICA.UTF8</value>
                    </property>
                </properties>
            </configuration>
        </execution>
    </executions>
</plugin>

コマンドライン (Windows):

SET NLS_LANG=AMERICAN_AMERICA.UTF8
echo %NLS_LANG%
AMERICAN_AMERICA.UTF8    

しかし、同じエラーが発生しました。

また、Intellij Idea を使用すると、同じ接続設定と同じユーザー/パスがあり、エラーなしでこのテーブルスペースを削除できることに注意してください。

Maven経由でこれを行うことができないのはなぜですか? この問題を解決するにはどうすればよいですか?

4

0 に答える 0