1

ストアド プロシージャを含むファイルを実行しようとしています。そのために次のコードを使用していますが、構文が間違っているというエラーが表示され続けます。DELIMITER を含む最初の行が気に入らないようです。誰にも提案はありますか?

ジャワ

final ResourceDatabasePopulator rdp = new ResourceDatabasePopulator();
        rdp.addScript(new ClassPathResource("storedProcedures.sql"));
        try {
            rdp.populate(dataSource.getConnection());
        } catch (SQLException e) {
            e.printStackTrace();
        }

例外

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER // DROP PROCEDURE IF EXISTS `GetEvents`// CREATE PROCEDURE `GetEvents`' at line 1
4

1 に答える 1

0

問題を確認するには、あなたが作成した mySQL 構文を確認する必要があると思います。コンパイラが良いヒントを与えているようです。私自身はどちらかというと SQL サーバー派であり、SQL コンパイラーの助けを借りずに埋め込み SQL や動的 SQL を作成してエラーをキャッチするのは難しいことを知っています。

于 2012-11-26T06:17:20.333 に答える