问题标签 [ojdbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
23907 浏览

java - 哪个适用于 Java 6 的 OJDBC 驱动程序?

我们目前正在使用 ojdbc14.jar,我们应该使用 ojdbc6.jar 吗?

更新:正在使用 Oracle 10g

0 投票
1 回答
1254 浏览

java - oracle.sql.BLOB.DURATION_CALL 与 oracle.sql.BLOB.DURATION_SESSION 之间的区别

oracle.sql.BLOB.DURATION_CALL 与 oracle.sql.BLOB.DURATION_SESSION

两者有什么区别?

它用于通过调用 BLOB.createTemporary(connection, true, flag) 创建临时 LOB。

我有以下情况:

所有连接都被汇集并且在关闭之前永远不会释放。我希望临时 LOB 仅在执行preparedStatement 时才存在(即插入。插入后,我不需要 lob)。我应该使用哪个标志?

0 投票
2 回答
20078 浏览

java - 有没有办法使用 NamedParameterJdbcTemplate 和 GeneratedKeyHolder 提取主键(或 ROWID)?

我正在尝试使用 Spring 的 NamedParameterJdbcTemplate 和 GeneratedKeyHolder 提取 ROWID 或主键。

我正在尝试做这样的事情。

在我尝试执行上述查询后,keyHolder.getKey().longValue()它会抛出异常。

当我浏览这个http://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htm时,我明白(我希望我做到了)ojdbc 没有将 oracle RowId 映射到 java RowId。

有人可以建议有什么方法可以提取密钥吗?(是的,它可以使用 PreparedStatement 来完成,但它使我的代码在某些条件下难以阅读和操作)。非常感谢您的建议。

0 投票
2 回答
12972 浏览

java - Oracle JDBC 字符集和 4000 个字符限制

我们正在尝试将 UTF-16 编码的字符串存储到 AL32UTF8 Oracle 数据库中。

我们的程序在WE8MSWIN1252用作字符集的数据库上完美运行。当我们尝试在使用AL32UTF8它的数据库上运行它时,会得到一个java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column.

在下面的测试用例中,只要我们的输入数据不会太长,一切都可以正常工作。

输入字符串可以超过 4000 个字符。我们希望尽可能多地保留信息,即使我们意识到必须切断输入。

我们的数据库表是使用CHAR关键字定义的(见下文)。我们希望这将允许我们存储多达 4000 个字符集的任何字符集。这可以做到吗?如果是这样,怎么做?

我们尝试将字符串转换为UTF8使用 aByteBuffer没有成功。OraclePreparedStatement.setFormOfUse(...)也没有帮助我们。

切换到 aCLOB不是一种选择。如果绳子太长,则需要剪断。

这是我们目前的代码:

这是简单表的创建脚本:

测试用例在短数据上完美运行。然而,在长数据上,它不断收到错误。即使我们longData只有 3000 个字符长,它仍然不能成功执行。

提前致谢!

0 投票
2 回答
782 浏览

exception - 从特定列获取时出现 Exhausetd ResultSet 错误

在我的项目中,我正在创建一个取消帐户工具以从用户表中删除该帐户。用户表名是newuser。该cancelaccountjsp看起来像:

Cancelaccountservlet 中,我试图将当前输入的密码与打开帐户时注册的密码进行匹配。如果他们匹配的帐户应该被取消,否则不。所以servlet代码是:

DAO功能代码如下:

而且stacktrace是:

DAOs'cancelaccount函数中,我也从另一个表中删除了mealdb,因为该userid字段是primary keyinnewuserforeign keyin mealdb。我仔细研究了一下,但找不到方法。谢谢你。

0 投票
2 回答
2387 浏览

exception - FileNotFoundException 将图像上传到 Oracle 数据库

我制作了一个 servlet 程序来将图像插入 Oracle 数据库。程序如下。

输入来自的 HTML 页面是:

当我尝试从 HTML 页面运行此代码时,无论我输入什么图片,它总是抛出FileNotFoundException. 我不明白为什么我会得到这个。是stacktrace

我试图在 servlet 中打印 URL,但只得到了shock.jpg而不是完整的filepath. 也许完整filepath的没有到来,这就是找不到文件错误的原因。那么我怎样才能发送完整的filepath呢?

0 投票
1 回答
1483 浏览

sql - javax.sql.Time 行为从 ojdbc14 更改为 ojdbc6

我们刚刚从 ojdbc14 切换到 ojdbc6,并注意到当我们通过准备好的语句将 javax.sql.Time 值插入 Oracle 列时preparedStatement.setTime(1, new javax.sql.Time(new Date().getTime())),它的行为发生了变化。它曾经将日期和时间信息都插入到表中,但使用新驱动程序时,似乎只捕获了时间部分,我们在数据库中看到的值是 1970 年 1 月 1 日。

现在,情况很明显,我的问题是在哪里可以找到描述此行为的官方文档或更改说明。

谢谢

0 投票
10 回答
180049 浏览

java - SQLException: 没有为 jdbc:oracle:thin:@//localhost:1521/orcl 找到合适的驱动程序

我正在尝试开发一个Oracle从 eb 服务类连接到数据库的 Java EE 应用程序,但我遇到了一个

ojdbc6.jar在类路径中有 ,我还在JBoss部署文件夹中验证了这一点。

我的应用程序EARWAR. 这有什么问题(根本原因)?请帮忙。

persistence.xml 中的连接 URL:

堆栈跟踪:

Oracle 数据库版本:11.2.0。

驱动版本需要和数据库版本匹配吗?

编辑:

  1. 如何跟踪程序从哪个文件路径加载驱动程序?这增强了我找到根本原因的能力。谢谢。

  2. 如何启用 ojdbc6-g 日志记录?我试过按照这个Oracle_JDBC 但我不知道如何完成它。如何全局设置java系统属性?我知道环境变量可能不是一个好的选择。还有什么想法吗?我只想在使用这个 java 时将 -Doracle.jdbc.Trace=true 和 -Djava.util.logging.config.file 添加到 jvm 创建中。是在启动过程中设置oracle数据库吗?

  3. 如何启用休眠日志记录?

  4. 我正在使用 Hibernate-4.1.1 和 JBoss 7.1。

请帮忙。

谢谢。

0 投票
2 回答
13776 浏览

oracle - Jboss 7 - Oracle 数据源不工作

我正在开发一个只有一个 WAR 项目的 Web 应用程序。它使用 JPA 并且有一个我需要配置为在JBOSS 7上运行的数据源。数据库是Oracle

我收到此错误:

我已按照说明在 Jboss 上使用 dataSource。所以我有这些配置:

{JBOSS_HOME}/modules/com/oracle/ojdbc6/main/module.xml:

ojdbc6.jar 存在且名称正确。

独立的.xml

在应用程序上:META-INF/ persistence.xml:

当 Jboss 启动(没有应用程序)时,它会读取(绑定)数据源。当我尝试部署应用程序时出现错误,它没有运行。

更多 StackTrace 的帮助:

0 投票
3 回答
3128 浏览

java - Java + Oracle 连接 - 少量完成后拒绝

为了确保我正确地创建和关闭数据库连接,我编写了以下代码。这是一个简单的 java 代码,只有核心 java、Oracle 瘦客户端,连接到 Oracle 10g XE 实例。我曾期望这段代码可以毫无问题地运行——因为它只是创建和关闭连接(在一个线程中)——多次。但问题是在运行几次(20ish)后会引发错误。

编码:

}

它抛出的错误是

重要的是要注意,如果我只运行一次 - 而不是上面代码片段中显示的 100 次 - 它绝对可以正常工作。如果我运行它 100 次,它会运行几次(20 - 25 次),然后退出并出现上面显示的错误。例如,该片段显示许多连接已打开并已成功关闭,但之后立即开始抛出错误。

任何想法,这种情况有什么问题?

如果你想了解更多关于我到底想要做什么的背景信息,我已经在这里写了博客。