问题标签 [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.
java - 插入大量数据时如何修复 MySQL 数据截断错误?
我正在使用来自 Java 应用程序的相当简单的数据库。我们尝试使用标准的 JDBC mysql 适配器一次插入大约 200k 的文本。我们间歇性地得到一个com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column error.
列类型是longtext
,数据库排序规则是UTF-8
。错误显示同时使用MyISAM
和InnoDB
表引擎。客户端和服务器端的最大数据包大小都设置为 1 GB,因此这也不应该引起问题。
java - 如何在不导入 Oracle 包的情况下接受 JAVA 中的 REF 游标
我正在编写使用 JDBC 进行数据库连接的 JAVA 程序,我正在调用一个返回 ORACLE REF CURSOR 的存储过程,有没有什么方法可以在不导入 ORACLE PACKAGES 的情况下处理它?
java - 使用 JDBC 时,Oracle 的 REF CURSOR 在 Postgresql 中的等价物是什么?
在 Oracle 中,我可以声明一个引用游标...
...并使用它来传递游标作为返回值...
...然后使用 JDBC 将其捕获为结果集...
Postgresql 中的等价物是什么?
java - 是否可以使用 Java JDBC 在 varchar 字段中存储和检索布尔值?
快速提问:我的客户有这样一种情况,他的数据库带有 varchar 字段,并且相应的 jdbc 代码正在存储/检索布尔值。
我猜布尔值 false 和 true 将被转换为“0”和“1”,但我想对此进行确认(我在网上找不到精确的行为规范,可能取决于每个驱动程序, 在这种情况下是 Oracle)。
我知道我可以自己进行实验,但我想在 stackoverflow.com 上尝试一下!
感谢您的回答,
埃里克。
java - 从非常大的结果集中呈现数据的最佳方式是什么?
我正在编写审计跟踪的报告视图,我需要在 .jsp 中显示它。将数据从数据库获取到屏幕的“最佳”方式是什么?
我们使用 Spring 进行依赖注入、数据访问对象和 Hibernate。我可以为此报告使用休眠或直接 jdbc。
如果我将所有记录加载到内存中,我的内存就会用完。
任何不涉及在 jsp 中运行查询的想法?
java - 加密 clob 的最佳方法是什么?
我正在使用 Oracle 9 和 JDBC,并希望在将 clob 插入数据库时对其进行加密。理想情况下,我希望能够插入明文并通过存储过程对其进行加密:
明文预计不会超过 4000 个字符,但加密会使文本更长。我们当前的加密方法使用 dbms_obfuscation_toolkit.DESEncrypt() 但我们只处理 varchars。下面的工作吗?
我对临时的clob感到困惑;我需要关闭它吗?还是我完全偏离了轨道?
编辑:混淆的目的是防止对数据的琐碎访问。我的另一个目的是以与我们已经混淆 varchar 列相同的方式混淆 clob。oracle 示例代码不处理我的具体问题所在的 clob;加密 varchars(小于 2000 个字符)很简单。
java - 连接关闭时结果集未关闭?
我一直在对我们的一个宠物项目进行代码审查(主要使用 FindBugs 之类的工具),并且 FindBugs 将以下代码标记为错误(伪代码):
错误是此代码可能不会释放资源。我发现 ResultSet 和 Statement 没有关闭,所以我最终将它们关闭:
但是我在很多项目(来自不少公司)中都遇到了上述模式,并且没有人关闭 ResultSets 或 Statements。
当连接关闭时,您是否遇到过结果集和语句未关闭的问题?
我只发现了这个,它指的是 Oracle 在关闭连接时遇到关闭 ResultSets 的问题(我们使用 Oracle db,因此我进行了更正)。java.sql.api 在 Connection.close() javadoc 中什么也没说。
java - Hibernate 3:无法查询 PostgreSQL 数据库
我正在使用Hibernate 3.3.1 GA
and设置一个项目PostgreSQL 8.3
。我刚刚创建了一个数据库,第一个表,在那里添加了一行,现在正在配置 Hibernate。
但是,即使是最简单的查询:
无法执行(尽管数据库中有一条记录,但返回空列表)。我查看了 PostgreSQL 日志以查看:
我使用纯 JDBC 编写了一个简单的程序来获取相同的数据,并且它工作正常。这种情况下的 PostgreSQL 日志如下所示(用于比较):
Hibernate 调试日志不指示任何错误。如果我采用日志中列出的查询:
并在 psql 中再次执行数据库,它可以工作(这意味着 Hibernate 已经生成了正确的 SQL)。
下面是休眠配置:
...和映射文件:
谷歌搜索unexpected EOF
日志条目并不有趣。任何想法,社区?
java - 使用 Java 更新软件更新的后端数据库
使用哪个工具/库可以更新现有的数据库结构。在更新软件时,还需要更改数据库。因为可以有不同版本的软件,它应该将当前状态与数据库的目标状态进行比较。它应该:
- 添加表格列,用默认值填充它。
- 删除表列
- 更改列的数据类型,例如 varchar(30) --> varchar(40)
- 添加/删除索引
- 添加/更改/删除视图
- 更新表中的一些数据
- ...
它应该支持 DBMS:
- 微软 SQL 服务器 2000 - 2008
- 甲骨文服务器 8 - 11
- MySQL
因为我们的软件设置和应用程序在 Java 中运行,所以它也必须在 Java 中运行。我们可以使用什么?
理想情况下,它会扫描我们的开发并将其保存在 XML 文件中。然后我们可以添加一些数据修改SQL命令。然后它可以通过更新设置在客户端运行。
java - Web 应用程序 DAL 中的 JDBC 数据库连接
我正在使用相当标准的 Web/服务/数据访问分层设计构建一个用于娱乐/学习的小型网站。
对于数据访问层,处理创建连接对象以调用我的 SQL 存储过程的最佳方法是什么?为什么?请记住,我正在手动编写很多代码(我知道我可以使用 Hibernate 等为我做很多这样的事情)......
1) 我应该创建一个 Connection 的静态实例并通过它运行我的所有查询还是会导致并发问题?
2)我应该为每个数据库调用创建一个连接实例并接受性能开销吗?(如果是这种情况,我将在以后研究连接池)