0

簡単なグーグル検索だと思ったのですが、これに対する答えが見つかりません:

Access db を SQL Server に移行しています。一部のクエリをビューに変換しました。私のJavaアプリケーションは、単純な方法ですべてのクエリを呼び出していました:

{ call dbo.GetOtherRanges() } //Well, not entirely true - Access did not use 'dbo' schema in front of the name

これは、ストアド プロシージャに対して機能します。しかし、ビューでそれを行うと、次のようになります。

[SQL Server]The request for procedure 'GetOtherRanges' failed because 'GetOtherRanges' is a view object.

ビューの名前の後ろにある括弧を削除するのと同じくらい簡単だと思っていまし()たが、うまくいきませんでした。

  • JDBC CallableStatment を使用してビューを「呼び出す」にはどうすればよいですか?
  • テーブル値関数を呼び出す別の方法もありますか?
4

1 に答える 1

3

ViewsTablesJDBCと同じようにアクセスできます。

これには は必要ありませんCallableStatement

Statementまたはを使用PreparedStatementするだけで十分です。

ハウツーのヘルプが必要な場合は、ここにあるサンプル コード を次に示します。 Table1 の代わりにビュー名を使用してください

public void connectToAndQueryDatabase(String username, String password) {

    Connection con = DriverManager.getConnection(
                         "jdbc:myDriver:myDatabase",
                         username,
                         password);

    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");

    while (rs.next()) {
        int x = rs.getInt("a");
        String s = rs.getString("b");
        float f = rs.getFloat("c");
    }
}
于 2014-05-14T08:22:49.237 に答える