JUnit を使用してリモートでストアド プロシージャを作成およびテストしています。ユーザー名は test で、これが私のコードです。
String sql = "create procedure test.firstProc3 AS select GETDATE()";
cursor.execute(sql);
cursor.executeQuery("firstProc3");
そして、プロシージャを削除するには:
String dropSQL = "DROP PROCEDURE test.firstProc3";
cursor.execute(dropSQL);
ドロップ手順が機能していないため、同じ SP を 2 回目に実行できません (新しいセッション) エラーは次のとおりです。
データベースには、'firstProc3' という名前のオブジェクトが既に存在します。
サーバー側でsp_helpを指定すると、テーブルに値の行がありました
firstProc3 テスト ストアド プロシージャ
ただし、クエリ アナライザーで DROP PROCEDURE test.firstProc3 を指定すると、行がテーブルから削除されます。
Junit を介して同じ操作を実行しようとすると、何が問題になる可能性がありますか?
設定する権限はありますか?
PS - ユーザー テストでは db_ddladmin が有効になっています。