簡體   English   中英

從Java訪問NexusDB

[英]Accessing NexusDB from Java

我正在嘗試使用Java從稱為NexusDB的嵌入式數據庫中獲取信息。

選擇1:

我在NexusDB網站上看到有一個ODBC驅動程序,因此我可以將它與unixODBC一起使用。 然后,我需要按此處所述進行JDBC-ODBC橋接。

選擇2:

獲取某種應用程序以將NexusDB數據庫遷移到另一個數據庫。 想知道一個。

我想知道是否有人這樣做,最好的解決方案是什么?

謝謝閱讀。

選擇1:

不可能。

unixODBC需要linux驅動程序,而nexusDB則不需要。

選擇2:

沒找到。

到目前為止的解決方案

用delphi編寫一個小型Web服務或獲取odbc,並在小型代理中使用它。 換句話說,不是連接到nexusdb服務器,而是連接到專用應用程序或Web服務傳遞信息,並且該應用程序確實連接到nexusd並寫入數據。

在葡萄酒下運行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傳遞-相對路徑也可以)

是的,我知道這是一篇死靈文章,但這是一個相當利基的情況,那里沒有太多信息可以使nexusdb和odbc在linux上很好地播放,如果幾個月前我可以得到這些信息,我正在四處搜尋,遇到了這個線程,這可能節省了我很多時間。 希望其他人覺得有幫助。

如果您通過.NET連接到Nexus,也許可以使用IKVM運行Java應用程序並通過.NET api連接?

否則,我認為您自己的“到目前為止的解決方案”聽起來還可以。

最佳安德斯

由於它是嵌入式的(並且您可能擁有對計算機的完全訪問權限),將數據庫文件復制到Windows系統,設置NexusDB及其ODBC驅動程序,然后在該計算機上使用ODBC-JDBC橋該怎么辦? 橋運行后,您可以選擇一個新的兼容JDBC的DBMS,進行連接,並使用一些代碼從NexusDB中進行SELECT,然后插入到新數據庫中。

如果您要遷移到另一個嵌入式DBMS,那么我正在使用Java的H2數據庫 ,我必須說它確實很不錯。 嵌入式和客戶端/服務器模式都可以跨平台使用,並且對於1M行以下的任何事物都非常快。 支持幾乎任何您在嵌入式DBMS中擁有的功能,然后再提供某些功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM