连接H2数据库

3

我有一个名为xxx.h2.db的文件 我的目标是能够执行查询以删除/编辑记录(最好在C#应用程序中)。

DBeaver

我尝试使用H2嵌入式选项打开DBeaver中的文件。这会导致两个模式:

  • INFORMATION_SCHEMA
  • PUBLIC

不幸的是,公共模式没有表。 考虑到文件大小约为150mb,我没有预料到这种结果。 在打开数据库时,我注意到它在H2数据库目录中创建了另外两个文件:

  • xxx.h2.db.mv.db
  • xxx.h2.db.trace.db

C#

在尝试使用ODBC驱动程序时阅读了此文章:https://wiki.postgresql.org/wiki/Using_Microsoft_.NET_with_the_PostgreSQL_Database_Server_via_ODBC

我遇到了以下步骤,不确定要输入什么信息。ODBC数据源管理员图像

安装ODBC驱动程序后,您需要添加新用户数据源。通过转到'控制面板'、'管理工具'、'数据源(ODBC)'. 然后选择“添加用户DSN”。[注意:这些名称和位置在不同的Win OS中可能略有不同。]

选择PostgreSQL驱动程序,并填写您的服务器和数据库详细信息。您还必须指定唯一的DSN名称;在Windows 2000中,此字段在数据输入对话框中以“数据源”而不是更合适的“数据源名称”标记。将来您将使用此名称指定要使用的哪个数据库连接。当然,您可以为不同的数据库、服务器和用户拥有任意数量的User DSN条目。

问题

  1. 为什么我在DBeaver中看不到任何公共表?
  2. 我是否正在通过ODBC正确地进行操作?应该输入哪些信息?

谢谢


数据库没有数据,或者您没有读取表的凭据。 - jdweng
1个回答

4
  1. 看起来你在连接URL中包含了文件名扩展名(xxx.h2.db),但你需要指定不带扩展名(xxx)的数据库路径。

    请注意,.h2.db扩展名属于旧的存储引擎(PageStore),它仍然受支持,但有一些限制。

    此外,你需要确保使用与创建你所拥有的数据库文件相同版本的H2, 否则使用不同版本可能会导致其损坏。

  2. 通过ODBC连接到H2并使用PostgreSQL的ODBC驱动程序仅是实验性的,可能根本无法工作。自上次发布以来,在这个领域有了一些改进,但即使使用从当前源代码编译的H2,这也不是一个可靠的功能。此外,使用此驱动程序的ODBC连接现在使用H2的PostgreSQL兼容模式,因此它们可能与你现有的数据库并不真正兼容。你也可以尝试使用一些第三方(可能是商业)JDBC桥接到.NET,而不是使用这个功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接