1

我正在尝试使用 java 从名为 NexusDB 的嵌入式数据库中获取信息。

备选方案 1:

我在NexusDB 网站上读到有一个 ODBC 驱动程序,所以我可以将它与 unixODBC 一起使用。然后我需要按照此处所述进行 JDBC-ODBC 桥接。

备选方案 2:

获取某种应用程序以将 NexusDB 数据库迁移到另一个数据库。想知道一个。

我想知道是否有人遇到过这种情况,最好的解决方案是什么?

谢谢阅读。

4

4 回答 4

2

备选方案 1:

不可能。

unixODBC 需要 linux 驱动程序,而 nexusDB 不需要。

备选方案 2:

没找到。

到目前为止的解决方案

使用 delphi 编写一个小型 web 服务或获取 odbc 并在小型代理中使用它。换句话说,不是连接到 nexusdb 服务器,而是连接到专用应用程序或 web 服务传递信息,并且该应用程序确实连接到 nexusd 并写入数据。

于 2009-06-19T16:10:14.223 回答
1

我在 wine 下运行 nexusDB 取得了一些成功。

我能够设置一个 WINEPREFIX,按照此处的说明进入 wine 的 odbc 管理面板(默认情况下它通过管道连接到 unixODBC,正如 Macarse 指出的那样,这是一个死胡同),在那里设置一个 DSN 并测试它是否可以访问数据。

我尝试的下一件事是安装 win32 PHP 并使用 odbc_connect 编写一个快速而肮脏的测试。在意外地使用 linux php 二进制文件并想知道为什么它不能使用(仅在 win32 上内置)函数 odbc_connect 浪费了大量时间之后,我确实让它工作了。

提示:为了避免像用头撞砖墙的感觉,请记住,在此环境中运行 php 脚本的任何尝试都必须如下所示

WINEPREFIX=/home/you/yourprefix wine php c:\phptest.php

不是

WINEPREFIX=/home/you/yourprefix php c:\phptest.php

第二个版本将使用 linux php 二进制文件。在运行第二个版本几十次之后感觉很愚蠢,并在意识到出了什么问题之前用谷歌搜索了一些错误——我想我需要晚点起床才能在凌晨 4 点继续工作:(

(上面示例中的 c:\ 路径可以按照/home/you/yourprefix/drive_c/whatever您的喜好传递 - 相对路径也可以)

是的,我知道这是一个 necro 帖子,但这是一个非常小众的情况,没有很多信息可以让 nexusdb 和 odbc 在 linux 上运行良好,如果几个月前我可以获得这些信息我在谷歌上搜索并发现了这个线程,它可以为我节省很多时间。希望其他人觉得它有帮助。

于 2014-04-09T17:54:27.433 回答
0

如果您通过 .NET 连接到 Nexus,也许您可​​以使用IKVM运行您的 Java 应用程序并通过 .NET api 连接?

否则,我认为您自己的“到目前为止的解决方案”听起来不错。

最佳安德斯

于 2009-06-24T14:00:12.103 回答
0

由于它是嵌入式的(并且您可能拥有对机器的完全访问权限),那么如何将数据库文件复制到 Windows 系统,设置 NexusDB 及其 ODBC 驱动程序,然后在该机器上使用 ODBC-JDBC 桥接器呢?桥运行后,您可以设置一个新的与 JDBC 兼容的 DBMS,您可以选择连接并使用一些代码从 NexusDB 中选择并插入到您的新数据库中。

如果您希望迁移到另一个嵌入式 DBMS,我正在使用H2 Database for Java,我不得不说它真的很棒。嵌入式和客户端/服务器模式,跨平台,对于 1M 行以下的任何内容都非常快速。几乎支持您在嵌入式 DBMS 中拥有的任何功能,然后是一些功能。

于 2009-06-24T19:22:53.540 回答