问题标签 [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.
java - 哪个适用于 Java 6 的 OJDBC 驱动程序?
我们目前正在使用 ojdbc14.jar,我们应该使用 ojdbc6.jar 吗?
更新:正在使用 Oracle 10g
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)。我应该使用哪个标志?
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 来完成,但它使我的代码在某些条件下难以阅读和操作)。非常感谢您的建议。
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 个字符长,它仍然不能成功执行。
提前致谢!
exception - 从特定列获取时出现 Exhausetd ResultSet 错误
在我的项目中,我正在创建一个取消帐户工具以从用户表中删除该帐户。用户表名是newuser
。该cancelaccount
jsp看起来像:
在Cancelaccount
servlet 中,我试图将当前输入的密码与打开帐户时注册的密码进行匹配。如果他们匹配的帐户应该被取消,否则不。所以servlet代码是:
DAO
功能代码如下:
而且stacktrace
是:
在DAO
s'cancelaccount
函数中,我也从另一个表中删除了mealdb
,因为该userid
字段是primary key
innewuser
和foreign key
in mealdb
。我仔细研究了一下,但找不到方法。谢谢你。
exception - FileNotFoundException 将图像上传到 Oracle 数据库
我制作了一个 servlet 程序来将图像插入 Oracle 数据库。程序如下。
输入来自的 HTML 页面是:
当我尝试从 HTML 页面运行此代码时,无论我输入什么图片,它总是抛出FileNotFoundException
. 我不明白为什么我会得到这个。是stacktrace
:
我试图在 servlet 中打印 URL,但只得到了shock.jpg而不是完整的filepath
. 也许完整filepath
的没有到来,这就是找不到文件错误的原因。那么我怎样才能发送完整的filepath
呢?
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 日。
现在,情况很明显,我的问题是在哪里可以找到描述此行为的官方文档或更改说明。
谢谢
java - SQLException: 没有为 jdbc:oracle:thin:@//localhost:1521/orcl 找到合适的驱动程序
我正在尝试开发一个Oracle
从 eb 服务类连接到数据库的 Java EE 应用程序,但我遇到了一个
我ojdbc6.jar
在类路径中有 ,我还在JBoss
部署文件夹中验证了这一点。
我的应用程序EAR
由WAR
. 这有什么问题(根本原因)?请帮忙。
persistence.xml 中的连接 URL:
堆栈跟踪:
Oracle 数据库版本:11.2.0。
驱动版本需要和数据库版本匹配吗?
编辑:
如何跟踪程序从哪个文件路径加载驱动程序?这增强了我找到根本原因的能力。谢谢。
如何启用 ojdbc6-g 日志记录?我试过按照这个Oracle_JDBC 但我不知道如何完成它。如何全局设置java系统属性?我知道环境变量可能不是一个好的选择。还有什么想法吗?我只想在使用这个 java 时将 -Doracle.jdbc.Trace=true 和 -Djava.util.logging.config.file 添加到 jvm 创建中。是在启动过程中设置oracle数据库吗?
如何启用休眠日志记录?
我正在使用 Hibernate-4.1.1 和 JBoss 7.1。
请帮忙。
谢谢。
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 的帮助:
java - Java + Oracle 连接 - 少量完成后拒绝
为了确保我正确地创建和关闭数据库连接,我编写了以下代码。这是一个简单的 java 代码,只有核心 java、Oracle 瘦客户端,连接到 Oracle 10g XE 实例。我曾期望这段代码可以毫无问题地运行——因为它只是创建和关闭连接(在一个线程中)——多次。但问题是在运行几次(20ish)后会引发错误。
编码:
}
它抛出的错误是
重要的是要注意,如果我只运行一次 - 而不是上面代码片段中显示的 100 次 - 它绝对可以正常工作。如果我运行它 100 次,它会运行几次(20 - 25 次),然后退出并出现上面显示的错误。例如,该片段显示许多连接已打开并已成功关闭,但之后立即开始抛出错误。
任何想法,这种情况有什么问题?
如果你想了解更多关于我到底想要做什么的背景信息,我已经在这里写了博客。