2011-02-06 454 views
8

我需要一個小型/輕量級 DB控制(可能作爲單個PAS文件提供),我可以直接將其集成到我的應用程序中。我需要在少量表格中存儲相對少量的數據,並且我想快速訪問某些列。我知道Delphi 7具有很好的BDE,但我不想在安裝過程中給用戶帶來麻煩。Delphi嵌入式數據庫

我用Delphi 7


編輯:
我想我問錯了問題。所以,這裏是我真正需要的:
How to store dynamic data (unknown number of fields) to a file?

+0

見的問題:http://stackoverflow.com/questions/222699/which-embedded-database-to-use-in-a-delphi-應用程序 – lkessler 2011-02-07 06:57:34

+0

嘿!我只是用1)縮小了這個問題,如上所述,你只需要一個存儲引擎2)因爲你想要它靜態鏈接,許可證事宜3)確定是否有多個文件。就個人而言,我會去TClientDataSet或ADO /噴射 – 2011-02-07 10:47:05

回答

1

我試圖(通過輕量級排列):

  • NexusDB - 商業,太大了,我需要什麼;增加了一些開銷
  • DISQLite - 看起來很強大;難以使用
  • kbmMemTable - 商業用途,無需試用(除非您購買文檔,首先符合TRIAL概念的目的,否則不得試用)
  • TDBF - 免費但不再維護;也完全缺乏文檔
  • Synopse BigTable - 似乎是我需要的解決方案。它只包含2個PAS文件。

在某些情況下,自定義系統可能更適合一般的系統。所以,爲了我的需要,我會量身定製我自己的系統。因爲我知道數據的大小/類型,所以我可以使字段完全適合我的數據。數據庫的大小會更小,速度更快(加上它是免費的)。 :)

解決方案:How to store dynamic data (unknown number of fields) to a file?

9

NexusDB提供免費的embedded版本。這裏是一個Example

+0

我只是試過Nexus DB,但它對我來說是矯枉過正。謝謝 – Ampere 2011-02-06 17:27:47

+1

你認爲它是如何矯枉過正?它完全編譯到您的應用程序中,沒有任何外部依賴(並且它是模塊化的,如果您不需要使用SQL,則不需要將SQL支持編譯到您的應用程序中),並提供與您所說的BDE類似的功能你原來的帖子,如果不是需要安裝的話,你會使用它。 – 2011-02-07 02:11:38

+0

@Engler。見PhilW的帖子。目前我正在看TDBF。它要小得多。它幾乎沒有添加任何應用程序的大小,尤其是編譯時間! – Ampere 2011-02-07 10:20:39

8

如果你承諾不包含任何更多的依賴與你的應用程序,看看TClientDataSet

我推薦某種「嵌入式」數據庫。示例:爲了將Firebird用作嵌入式數據庫,至少需要運送一個DLL。您可以將該DLL放入安裝程序,以便用戶不需要安裝任何東西。

+1

Sqlite是另一種選擇(也是1個DLL)。 – arthurprs 2011-02-06 15:14:52

+0

雖然我喜歡Nexus DB的替代品,但TClientDataSet是我認爲最好的方式,更不用說它與Delphi一起提供了這麼多版本。 – ComputerSaysNo 2011-02-07 16:54:58

7

作爲替代,如何對免費TDbf數據庫?它直接編譯到您的應用程序中,並且對於輕量級應用來說是可靠的另外,如果您足夠大的時間來記住DBase是標準桌面數據庫平臺的日子,那麼您可能已經知道如何使用它了。 :-)

這是在http://tdbf.sourceforge.net

(如果有似乎沒有很多最近的活動那是因爲它的存在了10年,是非常穩定的)。

只是一個想法。

+0

謝謝。我非常喜歡TDBF。我剛安裝它。我會試驗它。我必須看看它是否支持二進制字段。 – Ampere 2011-02-06 21:45:32

+1

回覆:無活動 - 這是因爲dBase(及其所有分支)格式已過時。 – 2011-02-06 23:59:23

7

你可以嘗試SQLite。它是一個優秀的嵌入式數據快速,可靠,你不能擊敗價格(開源,公共領域)。有很多Delphi包裝器,或者如果你想要一個輕量級的解決方案,你可以直接使用庫。

3

如果有一些預算花費,請給AnyDAC一試。它提供本機和嵌入式SQLite訪問,所以你甚至不需要運送外部DLL。

4

兩個開源溶液(工作距離Delphi 6到XE):

  1. 一個ORM oriented solution,其可以使用SQLite或純的Delphi存儲存儲數據。它既可以作爲獨立的,也可以作爲客戶端/服務器。

  2. 其中一個very fast pure Delphi NoSQL table storage engine。示例基準測試能夠在800毫秒內存儲1,000,000個具有一個整數和一個文本字段的記錄(並自動創建索引)。您可以創建自己的表格列,然後通過Late-Binding訪問字段內容。

-2

雖然手冊付款的,實際的組件是免費提供的,其中包括一個相當廣泛的演示應用程序展示了很多功能。此外,互聯網上還有很多關於如何使用它的信息。 使用www.codenewsfast.com或google.com進行搜索。

問候 金馬德森 [email protected]