Ocr*_*oke 7 java sql odbc jdbc
我正在尝试创建一个访问ODBC数据源的Java程序.使用以下代码......
Connection conn;
try {
Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
DriverManager.registerDriver(d);
String URL = "jdbc:odbc:AR System ODBC Data Source";
conn = DriverManager.getConnection(URL);
} catch (SQLException | InstantiationException | IllegalAccessException | ClassNotFoundException e) {
Logger.error(this, e);
}
Statement s = null;
ResultSet rs = null;
try {
s = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
rs = s.executeQuery("select count(*) as rows from table");
if (rs.next()) {
System.out.print("Count of all rows is " + rs.getInt("rows"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtils.safelyClose(s, rs);
}
Run Code Online (Sandbox Code Playgroud)
...我得到以下例外:
java.sql.SQLException: The result set type is not supported.
at sun.jdbc.odbc.JdbcOdbcStatement.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown Source)
at com.csc.remedyarchiver.data.input.ODBCConnection.main(ODBCConnection.java:38)
Run Code Online (Sandbox Code Playgroud)
最初,当我试图自己解决这个问题时,我正在使用空参数createStatement()调用,但这会导致上述异常(因此我使用了TYPE_FORWARD_ONLY结果集类型,但仍然是相同的结果):
还有什么我可以尝试的,或者这需要一个不同的方法吗?
小智 0
“从表中选择 count(*) 作为行”。首先尝试将别名从“rows”替换为“Result”或其他内容。Rows 是 Oracle 中的保留关键字之一。我认为 select 除了错误 ora 00923 之外没有返回任何结果
| 归档时间: |
|
| 查看次数: |
1468 次 |
| 最近记录: |