问题标签 [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 投票
3 回答
8017 浏览

java - 在中央存储库中找不到 Maven ojbc 6 jar

嗨,我已将 ojdbc jar 放在本地存储库中,但仍然收到以下错误。无法解析项目的依赖关系未能在http://repo.maven.apache.org/maven2中找到 com.oracle:ojdbc6:jar:11.2.0已缓存在本地存储库中,直到更新间隔才会重新尝试解析中央已过或强制更新

设置.xml

这是我对 ojdbc 的依赖。

我已将 Ojdbc jar 放在 C:\Rahul\Repository\com\oracle\ojdbc6\11.2.0 中。

我仍然遇到同样的错误。请让我知道如何解决这个问题。提前致谢。

0 投票
4 回答
31574 浏览

java - java.sql.SQLException:Io 异常:端口号的数字格式无效

错误 -

0 投票
1 回答
9893 浏览

hibernate - Oracle Clob Reader 问题:协议违规

我正在使用 java7、jboss7、ojdbc7、hibernate 4。表有一个 CLOB 列,在域类中,代码是这样的:

@Lob 私有字符串 MyClob;

我在查询时遇到了这个奇怪的错误,这并不一致。

0 投票
1 回答
2053 浏览

java - 在 ojdbc 12.1 中使用 TNS 别名

我正在开发一个需要访问 Oracle 数据库的 Java 应用程序。到目前为止,我使用 ojdbc6 驱动程序没有任何问题。现在我们将数据库切换到 Oracle 12c,所以我想使用更新的 JDBC 驱动程序。

这是代码

这是 tnsnames.ora (HOST 改变了,因为它是我们内网的东西)

这是所有四种变体(2 个驱动程序,2 个 tnsaliases)jdbc 11.2,TNSALIASWITHOUTDOTS 的输出

jdbc 11.2 TNSALIAS.WITH.DOTS

jdbc 12.1 TNSALIASWITHOUTDOTS

jdbc 12.1 TNSALIAS.WITH.DOTS

对于不懂德语的人,ORA-01017 表示“无效的用户名/密码”

这意味着除了 12.1 与 TNS Alias 中的点之外的所有组合都能够连接到数据库。有什么建议么?

0 投票
1 回答
7499 浏览

oracle - ubuntu 上的 JDBC 和 Oracle 11g 连接重置

我在连接 JDBC 到 Oracle 11g 时遇到了这个奇怪的问题。这周一突然开始发生,我或团队都没有意识到任何设置更改。阅读 Stackoverflow 和 Oracle 论坛(请参阅底部的链接)我了解到在 linux 64 位机器上生成随机字节存在问题。它导致我尝试了几件事,不幸的是没有奏效。这是我所知道的所有信息的摘要。

奇怪的是我可以使用 sqlplus 通过终端连接,但不能使用 JDBC。

感谢您的任何想法或帮助,

阿米特

我的设置:

JDBC 清单:

odbc7.jar:

odbc6.jar:

星期五一切仍在工作:

  • 我可以启动我的应用程序并与 Oracle DB 建立 Java 连接。
  • 从星期一开始,我遇到了这个问题
  • 我的旧电脑(Ubuntu 12.04)也是如此,我几乎一周没有碰过这个问题,即使我让它处于工作状态。

使用 SQLPLUS 的终端连接正在工作:

amit@mymachine:/usr/lib/oracle$ sqlplus /@DB_HOST_IP:1521/DB_NAME

SQL*Plus:2014 年 4 月 22 日星期二 11:35:58 发布 12.1.0.1.0 生产版

版权所有 (c) 1982, 2013,甲骨文。版权所有。

连接到:Oracle 数据库 11g 版本 11.2.0.3.0 - 64 位生产

SQL>

但与 JDBC 的连接失败:

挂起约 20 秒并抛出:

从服务器的日志中:

从两个服务器错误的 Oracle 文档中:

我尝试过的解决方案:

  1. -Djava.security.egd=file:///dev/urandom按照下面的 Stackoverflow 讨论中的建议添加以下系统属性。
  2. 设置 rng-tools 以“帮助”操作系统的熵生成器。(见链接)

  3. 以下代码运行没有问题,产生随机字节数组(无论参数如何-Djava.security.egd

int a = 10000; while (a-- > 0){ byte[] array = new byte[2048]; new SecureRandom().nextBytes(array); System.out.println(a); }

以上似乎都没有改变错误(超时)。

编辑:新尝试:

  1. 运行我的应用程序,我可以识别导致我出现实时问题的确切查询。这是在读取 1-2kb 大小的 CLOG 列时。

SQL> select secure_params from session_token where id=11065073;<- 查询卡住了。

重启客户端,

越来越多地更新此特定行中的该字段,如果该字段的大小为 429 个字符,我仍然可以读取该字段,但是当我将其增加到 587 个字符时,它又被卡住了。

SQL> select secure_params from session_token where id=11065073;<- 查询再次卡住。

第 4 次尝试让我想到这里可能还有一个额外的问题,因为应用程序能够创建初始连接并从数据库中获取一些短数据,但只有在结果集变得有点胖时才会失败。

编辑结束

链接:

Stackoverflow:Oracle JDBC 间歇性连接问题

Rng 熵生成器:http: //www.howtoforge.com/helping-the-random-number-generator-to-gain-enough-entropy-with-rng-tools-debian-lenny

0 投票
1 回答
2690 浏览

java - 尝试从 ojdb6.jar 升级 oto ojdbc7.jar 时出现异常

我用 ojdb7.jar 替换了我在 tomcat/lib 中的 ojdb6.jar 文件。打开Tomcat,尝试使用时出现以下错误...

这是我正在使用的连接池配置....

知道是什么原因造成的吗?我们使用的是 Oracle 数据库 11g。

任何帮助将不胜感激。当我放回 ojdb6.jar 文件并删除 ojdb7.jar 文件时,一切正常。

0 投票
4 回答
230 浏览

java - 程序永远不会结束,但线程池声称要关闭

我遇到了多线程程序的问题。

我需要模拟很多人试图同时预订同一个航班,不使用锁。

所以我做了一个 ExecutorService 并用它来池线程,这样我就可以同时进行许多尝试。

但问题是,程序在打印出所有结果之前就到达了终点,它只是坐在那里并永远运行。我试图进入所有其他使用数据库连接的类,并简单地手动关闭它们。没运气。

以下是它不会立即执行的其余代码:

你能发现问题吗?我在代码停止运行的地方添加了注释。

0 投票
1 回答
1746 浏览

sql - 如何使用多个表来获取 JDBC 连接中的数据?

您好,我正在编写一个SQL从多个表中获取数据并从结果集中检索数据的查询,我们需要rs.getString(1)从相应的表中进行操作,但对我而言,数据来自多个表。

你能告诉我怎么做吗?

为了便于参考,我将我的SQL查询包括在内

0 投票
0 回答
1061 浏览

java - 在spring存储过程中为自定义对象声明out参数

我有以下存储过程,其中 IN OUT 参数作为自定义对象。我想获取从过程返回的数据,并使用 spring 存储过程将其映射到 java 对象。

存储过程参数:

PROCEDURE get_prev_record (p_curr_rec_i SCRUM.employee_ot, p_prev_rec_io IN OUT SCRUM.employee_ot)

对象类型声明:

创建或替换类型 CORE.EMPLOYEE_OT 作为对象 (SCRUM.EMPLOYEE_ID NUMBER (18), SCRUM.EMPLOYEE_NAME VARCHAR2 (30));

我使用经典的存储过程定义了以下参数。

Spring存储过程参数:

declareParameter(new SqlParameter("p_curr_rec_i",OracleTypes.STRUCT,"SCRUM.EMPLOYEE_OT"));

declareParameter(new SqlOutParameter("p_prev_rec_io",OracleTypes.STRUCT,"SCRUM.EMPLOYEE_OT",new SqlReturnStruct(Employee.class) ));

但是输出没有从数据库返回任何值。当我将 SqlOutParameter 更改为 SqlInOutParameter 时,出现以下错误。

“提供了 1 个参数,但在类中声明了 2 个参数”

谁能帮我用java对象映射输出数据。

0 投票
1 回答
354 浏览

jdbc - BoneCP vs WebLogic自带的DB连接池

我有一个使用 JDBC (ojdbc6.jar) 和 BoneCP 连接到 Oracle DB 的 servlet。我现在需要将我的使用 BoneCP 的代码移植到可以在 WebLogic 中开箱即用的东西上,而不需要在包中包含 BoneCP。

推荐的方法是什么?我可以使用哪些 WebLogic 功能,特别是获得与 BoneCP 等效的功能:

  • 表现
  • 能够记录失败的 SQL 语句
  • 从丢失的数据库连接中自动恢复

提前致谢。