问题标签 [jdbc]

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 投票
5 回答
45210 浏览

java - 插入大量数据时如何修复 MySQL 数据截断错误?

我正在使用来自 Java 应用程序的相当简单的数据库。我们尝试使用标准的 JDBC mysql 适配器一次插入大约 200k 的文本。我们间歇性地得到一个com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column error.

列类型是longtext,数据库排序规则是UTF-8。错误显示同时使用MyISAMInnoDB表引擎。客户端和服务器端的最大数据包大小都设置为 1 GB,因此这也不应该引起问题。

0 投票
2 回答
1631 浏览

java - 如何在不导入 Oracle 包的情况下接受 JAVA 中的 REF 游标

我正在编写使用 JDBC 进行数据库连接的 JAVA 程序,我正在调用一个返回 ORACLE REF CURSOR 的存储过程,有没有什么方法可以在不导入 ORACLE PACKAGES 的情况下处理它?

0 投票
1 回答
4685 浏览

java - 使用 JDBC 时,Oracle 的 REF CURSOR 在 Postgresql 中的等价物是什么?

在 Oracle 中,我可以声明一个引用游标...

...并使用它来传递游标作为返回值...

...然后使用 JDBC 将其捕获为结果集...

Postgresql 中的等价物是什么?

0 投票
5 回答
5000 浏览

java - 是否可以使用 Java JDBC 在 varchar 字段中存储和检索布尔值?

快速提问:我的客户有这样一种情况,他的数据库带有 varchar 字段,并且相应的 jdbc 代码正在存储/检索布尔值。

我猜布尔值 false 和 true 将被转换为“0”和“1”,但我想对此进行确认(我在网上找不到精确的行为规范,可能取决于每个驱动程序, 在这种情况下是 Oracle)。

我知道我可以自己进行实验,但我想在 stackoverflow.com 上尝试一下!

感谢您的回答,

埃里克。

0 投票
4 回答
1833 浏览

java - 从非常大的结果集中呈现数据的最佳方式是什么?

我正在编写审计跟踪的报告视图,我需要在 .jsp 中显示它。将数据从数据库获取到屏幕的“最佳”方式是什么?

我们使用 Spring 进行依赖注入、数据访问对象和 Hibernate。我可以为此报告使用休眠或直接 jdbc。

如果我将所有记录加载到内存中,我的内存就会用完。

任何不涉及在 jsp 中运行查询的想法?

0 投票
3 回答
4063 浏览

java - 加密 clob 的最佳方法是什么?

我正在使用 Oracle 9 和 JDBC,并希望在将 clob 插入数据库时​​对其进行加密。理想情况下,我希望能够插入明文并通过存储过程对其进行加密:

明文预计不会超过 4000 个字符,但加密会使文本更长。我们当前的加密方法使用 dbms_obfuscation_toolkit.DESEncrypt() 但我们只处理 varchars。下面的工作吗?

我对临时的clob感到困惑;我需要关闭它吗?还是我完全偏离了轨道?

编辑:混淆的目的是防止对数据的琐碎访问。我的另一个目的是以与我们已经混淆 varchar 列相同的方式混淆 clob。oracle 示例代码不处理我的具体问题所在的 clob;加密 varchars(小于 2000 个字符)很简单。

0 投票
8 回答
66009 浏览

java - 连接关闭时结果集未关闭?

我一直在对我们的一个宠物项目进行代码审查(主要使用 FindBugs 之类的工具),并且 FindBugs 将以下代码标记为错误(伪代码):

错误是此代码可能不会释放资源。我发现 ResultSet 和 Statement 没有关闭,所以我最终将它们关闭:

但是我在很多项目(来自不少公司)中都遇到了上述模式,并且没有人关闭 ResultSets 或 Statements。

当连接关闭时,您是否遇到过结果集和语句未关闭的问题?

我只发现了这个,它指的是 Oracle 在关闭连接时遇到关闭 ResultSets 的问题(我们使用 Oracle db,因此我进行了更正)。java.sql.api 在 Connection.close() javadoc 中什么也没说。

0 投票
1 回答
13748 浏览

java - Hibernate 3:无法查询 PostgreSQL 数据库

我正在使用Hibernate 3.3.1 GAand设置一个项目PostgreSQL 8.3。我刚刚创建了一个数据库,第一个表,在那里添加了一行,现在正在配置 Hibernate。

但是,即使是最简单的查询:

无法执行(尽管数据库中有一条记录,但返回空列表)。我查看了 PostgreSQL 日志以查看:

我使用纯 JDBC 编写了一个简单的程序来获取相同的数据,并且它工作正常。这种情况下的 PostgreSQL 日志如下所示(用于比较):

Hibernate 调试日志不指示任何错误。如果我采用日志中列出的查询:

并在 psql 中再次执行数据库,它可以工作(这意味着 Hibernate 已经生成了正确的 SQL)。

下面是休眠配置:

...和映射文件:

谷歌搜索unexpected EOF日志条目并不有趣。任何想法,社区?

0 投票
2 回答
654 浏览

java - 使用 Java 更新软件更新的后端数据库

使用哪个工具/库可以更新现有的数据库结构。在更新软件时,还需要更改数据库。因为可以有不同版本的软件,它应该将当前状态与数据库的目标状态进行比较。它应该:

  • 添加表格列,用默认值填充它。
  • 删除表列
  • 更改列的数据类型,例如 varchar(30) --> varchar(40)
  • 添加/删除索引
  • 添加/更改/删除视图
  • 更新表中的一些数据
  • ...

它应该支持 DBMS:

  • 微软 SQL 服务器 2000 - 2008
  • 甲骨文服务器 8 - 11
  • MySQL

因为我们的软件设置和应用程序在 Java 中运行,所以它也必须在 Java 中运行。我们可以使用什么?

理想情况下,它会扫描我们的开发并将其保存在 XML 文件中。然后我们可以添加一些数据修改SQL命令。然后它可以通过更新设置在客户端运行。

0 投票
2 回答
798 浏览

java - Web 应用程序 DAL 中的 JDBC 数据库连接

我正在使用相当标准的 Web/服务/数据访问分层设计构建一个用于娱乐/学习的小型网站。

对于数据访问层,处理创建连接对象以调用我的 SQL 存储过程的最佳方法是什么?为什么?请记住,我正在手动编写很多代码(我知道我可以使用 Hibernate 等为我做很多这样的事情)......

1) 我应该创建一个 Connection 的静态实例并通过它运行我的所有查询还是会导致并发问题?

2)我应该为每个数据库调用创建一个连接实例并接受性能开销吗?(如果是这种情况,我将在以后研究连接池)