我认为这将是一个简单的谷歌搜索,但我无法找到答案:
我将Access数据库移动到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.
我认为这就像删除视图名称后的()
括号一样简单,但是没有做到这一点。
答案 0 :(得分:3)
Views
一样访问 Tables
。
你不需要CallableStatement
。
只需使用Statement
或PreparedStatement
即可。
如果您需要帮助操作方法,以下是找到的示例代码here 使用视图名称而不是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");
}
}