gpt4 book ai didi

c# - 连接到H2数据库

转载 作者:行者123 更新时间:2023-12-05 02:46:44 25 4
gpt4 key购买 nike

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

DBeaver

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

  • 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

我遇到了这一步,我不确定要输入什么信息。 Image of ODBC datasource administrator

Once you've installed the ODBC driver you will need to add a new userdata source. This is achieved by going to 'Control Panel', 'Admin.Tools', 'Data Sources (ODBC)'. Then selecting 'Add User DSN'. [NOTE:These names and locations may vary slightly with different Win OS's.]

Select the PostgreSQL driver, and fill in your server and databasedetails. You must also specify a unique DSN name; in Windows 2000 thisfield is, confusingly, labelled 'Data Source' in the data entry dialogbox and not 'Data Source Name' which would be more appropriate. It isthis name that you will later use in your programs to specify whichdatabase connection you want to use. Of course you can have as manyUser DSN entries as you want for different databases, servers andusers.

问题

  1. 为什么我在 DBeaver 中看不到任何公共(public)表?
  2. 我是否在正确的轨道上让它通过 ODBC 工作?我应该输入哪些信息?

谢谢

最佳答案

  1. 看起来您在连接 URL 中包含了文件扩展名 (xxx.h2.db),但是您需要指定没有扩展名的数据库路径 (xxx >).

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

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

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

关于c# - 连接到H2数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65357461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com