H2控制台-通过浏览器查看数据库显示旧数据
我正在使用 H2 数据库 来构建一个简单的 Web 应用程序。
当我尝试通过 H2 控制台 Web 浏览器查看数据时,它似乎没有更新数据库中的最新数据。
例如:
我使用网络应用程序向表中添加一条新记录,当我从添加记录的表中执行 select *
时,它不会显示新记录。
当我通过浏览器连接到 H2 控制台时,我对登录进行了以下设置:
保存的设置:通用 H2(嵌入式)
设置名称:通用 H2(嵌入式)
驱动程序类:org.h2.Driver
JDBC URL:jdbc:h2:file:/Develops/Databases/snowy_db;FILE_LOCK=NO
关于我如何进行的任何想法使用H2控制台浏览器访问数据库中的最新数据?
提前致谢。
编辑
只是添加:我可以在我的网络应用程序中看到新记录,但在使用 H2 控制台浏览器时却看不到。
I'm using H2 database for a simple web application.
When I try and view the data via the H2 console web browser, it doesn't seem to update with the latest data in the database.
For example:
I add a new record to a table using my web app and when I do a select *
from the table I added the record to, it doesn't show the new record.
I have the following settings for the Login when I connect to H2 console via the browser:
Saved Settings: Generic H2 (Embedded)
Setting Name: Generic H2 (Embedded)
Driver Class: org.h2.Driver
JDBC URL: jdbc:h2:file:/Develops/Databases/snowy_db;FILE_LOCK=NO
Any ideas on how I go about accessing the latest data from the database using the H2 console browser?
Thanks in advance.
Edit
Just to add: I can see the new record in my web app but not when I use the H2 console browser.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我猜你的问题是 FILE_LOCK=NO 选项。 文档对此进行了说明:
我强烈建议您使用更复杂的 H2 模式,例如 自动混合模式。在此模式下,连接到给定数据库的第一个应用程序将打开套接字服务器,并且从其他应用程序连接到此数据库的每次后续尝试都使用套接字连接而不是原始文件系统访问。
如果您对此感到不舒服,只需将 H2 作为独立服务器单独运行或在您的 Seam 应用程序中运行即可。然后更改您的 JDBC URL,以便它通过
localhost
和 TCP 连接进行连接。I guess your problem is
FILE_LOCK=NO
option. The documentation states about it that:I am strongly recommending you to use more sophisticated H2 mode like automatic mixed mode. In this mode the first application that connects to a given database opens a socket server and every subsequent attempt to connect to this database from other applications uses socket connection rather than raw file system access.
If you don't feel comfortable with that, just run H2 as a standalone server separately or inside your Seam application. Then change your JDBC URL so that it connects via
localhost
and TCP connection.