问题标签 [h2]
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.
h2 - h2混合模式连接问题
我在 servlet 上下文侦听器中启动 h2 数据库:
然后我尝试使用 dbvisualizer 使用以下 url 连接到 h2:
但收到这些错误消息:
我试图用“172.17.33.181:58524”替换localhost(我在cdb.lock.db中找到它)重新连接用户“sa”密码“sa”,然后服务器响应更改为:用户名或密码错误!
database - h2 和 linux。如何启动数据库?
抱歉,我对 linux ubuntu 很陌生。我有一个我制作的应用程序,它与 tomcat 一起运行并连接到 h2 数据库。在我的 Windows 笔记本电脑上一切正常。我现在把它移到我的 linux 电脑上一直运行。但我无法启动数据库。我已经从他们的网站下载了 h2。它坐在我的桌面上。
问题是。如何启动数据库。
并且是我需要知道运行和操作它的任何其他命令。
谢谢你
sql - 从 SQL 脚本在 H2 数据库中插入长文本
我正在尝试使用 H2 的 runscript 运行 sql 脚本。
其中一个表包含存储 xml 文档(来自 SAP 数据库)的 longtext 类型
因此,Insert 语句包含 XML 的长文本(大约 200 行 XML),这相当难看,但仍然可以正常工作。
H2 在 SQL 解析期间崩溃并出现 ArrayOutOfBoundException。
- 插入语句接受的长度是否有限制?
- 在 nsert 中,我使用记号(在 mysql 中使用)来分隔值(xml)......这将最大限度地减少转义。这可能是问题的一部分吗(适用于其他短领域)
我更喜欢在这里使用普通的 runscript H2 工具而不是制作 Java 程序,尽管我认为它会更干净(可以使用蒸汽方法)
有什么见解吗?
java - 查询 sql 数据库中的索引表与使用自己的 HashMap
我在java中有一个性能问题。
我在 sql 数据库中有一个大型索引表(在本例中为 H2 数据库,但该问题可以应用于任何 sql 数据库)。
我必须经常通过这个索引在这个表中找到项目。
现在我想知道什么更快:
- sql数据库上的查询
- 为我最常使用的字段制作自己的哈希图
有人对此有任何想法吗?(在创建一些速度测试并自己找出之前)。
database - 使用 Spring 启动和设置内存数据库
我正在使用 Spring 用 Java 编写一个小型演示应用程序,它需要访问数据库。它应该在不同的机器上运行,并且设置一个真正的数据库会花费太多的精力。因此我想使用嵌入式。
数据库有一个给定的模式(两个表)和一些(非常少的)预定义条目。我正在寻找一种简单的方法来启动内存数据库、创建表并填写数据。所有这些都应该在初始化 Spring 上下文时发生。
我的方法是使用 H2 作为我的数据库,然后使用 Spring Batch 从 csv 或 xml 文件加载数据。但是我希望可能有一种更简单的方法来实现这一点。有没有开箱即用的数据库/框架/工具?
只需要几个 SQL 命令来设置我需要的一切。我正在寻找一种在 Spring 环境中尽可能简单的方法。
h2 - h2数据库有多可靠?
当我问这个问题时,我看到 H2 数据库的当前版本是在 2011 年 7 月 1 日(最近)发布的。这是非常好的和健康的。会保持这个速度吗?如果新版本发布速度慢,开源社区会长期支持吗?
出于成本原因,我目前正在考虑将 Postgresql 用于高性能应用程序,而 H2 数据库似乎具有正确的功能集(基本上是我需要的任何东西)。我不只是确定使用 H2 是否是一个正确的决定。基本上我的决定应该基于长期支持,无论是基于订阅还是社区。
java - 如何使用 H2 的 CSVREAD() 函数/查询访问 WAR 中的 CSV 文件?
我正在尝试从 Web 应用程序(Tomcat 5.5.x)中读取 CSV 文件,而我得到的只是“FileNotFoundExceptions”:
我认为我不能/不需要指定绝对路径(它将被部署到我无法访问的 Linux/Tomcat 服务器中)并且不确定所需的文件协议('jar:file',类路径: ETC)。
该文件位于“**/WEB-INF/classes/csvfile.csv”下
关于我需要传递给 CSVREAD() 的路径结构的任何想法?
谢谢
富有的
h2 - 更新表时 H2 数据库“重命名文件时出错”
我正在使用最新版本的 H2,即 1.3.150 版,并且在更新 VARCHAR2 时得到 org.h2.jdbc.JdbcSQLException。
SQL语句很简单
UPDATE STAMP_TABLE SET DESCRIPTION='a bit of text' WHERE STAMPID='s/1'
而表本身并没有什么特别之处,就是一堆 VARCHAR2 和一个 BLOB
它第一次工作,第二次失败并显示错误消息:
Error while renaming file "C:\my\local\path\1.t6.lob.db" to "C:\my\local\path\1.temp.lob.db"
使用 SQL 语句的方法如下:
/li>
知道有什么问题吗?
java - 无法将大型数据集加载到 h2 数据库中
问题是:在我的公司,我们有一个大型数据库,我们想在其中执行一些自动化操作。为了测试我们获得了大约 6 个 10MB 大小的 csv 文件的数据的小样本。我们想使用 H2 来测试我们的程序在其中的结果。H2 似乎与我们以前的 cvs 配合得很好,尽管它们最多有 1000 个条目。当涉及到我们的任何 10MB 文件时,命令
报告失败,因为其中一个注册表被认为是重复的并且违反了我们的主键约束。
将 mycsvfile.csv 分成更小的部分,我可以看到在插入大约 10000 行后问题开始出现(尽管数量取决于我使用的数据)。但是,如果我将文件分成几部分然后单独运行命令,我可以插入超过 10000 行。但即使我设法手动插入所有数据,我也需要一种自动化方法来填充数据库。
由于运行该命令不会给我导致问题的行,我猜测问题可能是 csvread 例程中的一些缓存。
然后我创建了一个小型java程序,可以手动将数据插入H2数据库。无论我是否批处理命令,关闭并打开 1000 行的连接,h2 都报告说我试图在数据库中复制一个条目。
使用 emacs 对该注册表进行正常搜索,我可以发现注册表没有重复,因为 datetime 列在整个数据集中是唯一的。
由于该公司出售该信息,因此我无法提供该数据供您测试。但这是我的表定义的样子。
这就是我们的 csv 的样子:
还有填充我们测试数据库的java代码(原谅我丑陋的代码,我绝望了:)
如果需要,我很乐意提供更多信息。
编辑
@Randy我总是在运行命令之前检查数据库是否干净,并且在我的java程序中,我有一个例程可以从无法插入的文件中删除所有数据。
blob - 为什么在 H2 数据库上通过 getBytes(long pos, int length) 窥视 BLOB 的速度如此之慢?
我有一个需要查看 blob 的应用程序获取少量字节(通过 getBytes(long pos,int length))。斑点约为 30MB。当我要求靠近 blob 开头的字节时,性能是合理的。当我要求接近 blob 末尾的字节时,性能要差得多。查看源代码 (JdbcBlob.java),似乎 blob 是按顺序读取的,而不是随机读取的(通过输入流)。
有人知道任何解决方法吗?我是一个巨大的 H2 粉丝,这个问题不是一个交易破坏者,但我认为它可以改进。
谢谢