SQLServer ストアドプロシージャ実行処理でエラー

Avatar
akiko
DataSpider開発初心者です。
Windows7 64bit環境にDataSpider Servista 3.1をインストールして機能検証を実施しています。
SQL Server 2012にJDBCで接続して、テーブルの読み取り処理などは正常に実行できているのですが、ストアドプロシージャ実行処理で下記のエラーが発生して実行できません。

メッセージコード = SQLSERVER0001E
[exec_procedure(データベース/SQL Server/ストアドプロシージャ実行)]の処理に失敗しました。原因:[com.microsoft.sqlserver.jdbc.SQLServerException: ストアド プロシージャ 'XXXX' が見つかりませんでした。]

ストアドプロシージャ実行処理のプロパティでプロシージャはプルダウン内に表示されて指定できますし、入力・出力パラメータも表示されています。

またストアドプロシージャ自体もSQLServerManagementStudioからは正常に実行できますのでこちらも問題ないかと思われます。


どなたか解決方法をご存知の方がいらっしゃいましたら、ご教授いただけますでしょうか。
また、不足している情報などありましたらご指摘ください。

以上、宜しくお願いいたします。

この記事は役に立ちましたか?

0が役に立ったといっています

コメント

  • Avatar
    kzm00
    コメントアクション Permalink
    akiko様、こんにちは。私もDataSpiderユーザです。


    呼び出すプロシージャのスキーマは何でしょうか?もしかしたらスキーマがデフォルト以外だと、プロシージャ名をスキーマで修飾する必要があるのかもしれません。
    0
  • Avatar
    akiko
    コメントアクション Permalink
    kzm00様

    大変有益なアドバイス、ありがとうございます!!

    >>呼び出すプロシージャのスキーマは何でしょうか?もしかしたらスキーマがデフォルト以外だと、プロシージャ名をスキーマで修飾する必要があるのかもしれません。
    >>

    確認したところ、接続しているユーザuser1のデフォルトスキーマがaaaで、呼び出すプロシージャのスキーマがbbbでした。

    ストアドプロシージャに「bbb.XXXX」と指定をしたところ、「見つかりません」のエラーはでなくなったのですが、「パラメータが必要なのにパラメータがありません」という旨のエラーに変わり、プロパティ画面で入力・出力パラメータを認識しなくなってしまいました。

    なので、呼び出すプロシージャのスキーマbbbをデフォルトスキーマとしているuser2で接続するように修正したところ、正常に実行できました。

    勉強になりました。ありがとうございました。
    0
  • Avatar
    kzm00
    コメントアクション Permalink
    akiko様、
    早速確認してくださったんですね!ありがとうございます!


    >>ストアドプロシージャに「bbb.XXXX」と指定をしたところ、「見つかりません」のエラーはでなくなったのですが、「パラメータが必要なのにパラメータがありません」という旨のエラーに変わり、プロパティ画面で入力・出力パラメータを認識しなくなってしまいました。


    なるほど・・・DataSpiderでプロシージャのパラメータがうまく取れてないみたいですね。

    でも、対象プロシージャのスキーマをデフォルトとしているユーザに変えて正常に実行できたということで、少しでもお役に立てたみたいでよかったです。
    0

ログインしてコメントを残してください。