- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一段简单的代码:
import java.sql.*;
class ODBC
{
MyConnection myCon;
Connection jdbcConnection;
ResultSet rs;
String sql;
PreparedStatement stmt;
public ODBC() throws Exception {
init();
}
public void init() throws Exception{
myCon = new MyConnection();
jdbcConnection = myCon.getConnection();
}
public void runQuery() throws SQLException {
sql = "SELECT DISTINCT HELPDESK_CASE.INCIDENT_NUMBER, "
+ "HPD_AUDIT.AUDIT_DATE, HPD_AUDIT.AUDIT_FIELD, "
+ "HELPDESK_CASE.DETAILED_DESCRIPTION, "
+ "HPD_AUDIT.AFTER_VALUE, "
+ "HELPDESK_CASE.DESCRIPTION "
+ "FROM HELPDESK_CASE INNER JOIN "
+ "HPD_AUDIT ON HELPDESK_CASE.INCIDENT_NUMBER "
+ "= HPD_AUDIT.INCIDENT_NUMBER "
+ "WHERE (((HELPDESK_CASE.INCIDENT_NUMBER)='INC001001837949') "
+ "AND ((HPD_AUDIT.AUDIT_FIELD)='Assigned Group')) "
+ "ORDER BY HELPDESK_CASE.INCIDENT_NUMBER, "
+ "HPD_AUDIT.AUDIT_DATE";
stmt = jdbcConnection.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
rs = stmt.executeQuery();
while(rs.next()){
System.out.println("Something is here");
}
}
public static void main (String args[]) throws Exception
{
ODBC odbc;
odbc = new ODBC();
odbc.runQuery();
}
class MyConnection {
public Connection getConnection() throws Exception
{
String URL = "jdbc:odbc:corpp05";
Connection c = DriverManager.getConnection(URL, "remro", "*****");
return c;
}
}
}
我无法弄清楚以下行为。
当我按如下方式使用准备好的语句时:
stmt = jdbcConnection.prepareStatement(sql);
while 循环永远不会按照预期的行为执行,但是当我按如下方式使用准备好的语句时:
stmt = jdbcConnection.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
(我需要它,因为我需要 TYPE_SCROLL_INSENSITIVE)执行 while 循环并打印“Something is here”。
我在这里缺少什么?我觉得这是相对明显的,我需要退后一步,用其他的眼光来看待这一点,我相信。感谢您的帮助。
CMRES
最佳答案
下载thin
来自 oracle 站点的驱动程序最适合您正在使用的 oracle 版本。添加jar
文件位于 eclipse 外部 jar 文件存档中。全部设置完成后:您可以按如下方式建立连接:
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","user","****");
自 jdbc.getTransactionIsolation()
在您的情况下返回 2,因此消除了脏读的可能性。
我希望更换驱动程序可以解决您的问题。
编辑
阅读 here关于JDBC-ODBC
驱动程序假设为 Oracle
网站 。在描述 JDBC-ODBC
的一些行之后驱动程序它告诉了以下缺点:
Cons: Not for large-scale applications. Performance suffers because there’s some overhead associated with the translation work to go from JDBC to ODBC. Doesn’t support all the features of Java. User is limited by the functionality of the underlying ODBC driver.
因此,它提供了足够的理由相信,当应用程序仅基于 JDBC-ODBC
时,某些关键问题可能会受到影响。用于通过 java.sql
提供的敏感 API 实现数据库事务或其他重要数据库功能的驱动程序包。
关于java - 仅当 TYPE_SCROLL_INSENSITIVE、CONCUR_READ_ONLY 时结果集不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506407/
我正在使用 sql server 数据库开发一个 Java 项目,一旦我使用 stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
我正在编写一段简单的代码: import java.sql.*; class ODBC { MyConnection myCon; Connection jdbcConnection; Result
所以 TYPE_SCROLL_INSENSITIVE 结果集允许我在两个方向上滚动,而 TYPE_FORWARD_ONLY 只允许我向前移动。 既然 TYPE_SCROLL_INSENSITIVE 允
JavaDoc 说:“指示 ResultSet 对象类型的常量是可滚动的,但通常对 ResultSet 下的数据的更改不敏感”. 我对可滚动部分很清楚,但对声明的后半部分有疑问。我正在使用以下代码片段
我试图了解这两种创建语句的方法之间的区别: 1: Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSE
在一个项目期间,我们发现我们正在执行的一些 SQL 语句(但不是全部)在 Java 应用程序中返回的结果与在 Aquadata 或 Toad 等独立 SQL IDE 中运行时返回的结果不同。这使用 D
我是一名优秀的程序员,十分优秀!