2012-08-06 24 views
3

我想用Python(PyGTK)實現數據庫桌面應用程序。到目前爲止,我正在使用sqlite3,但我讀到它不是很好,如果很少有人想同時訪問它。我正在考慮切換到另一個界面,但我不知道哪一個或者它是否真的有必要。數據庫接口

我需要/什麼都有:

  • 2,每個約2000個條目表,這是主要的數據集,但更多的將被添加。
  • 數據庫將存儲在本地網絡中。該應用程序將由5個人使用,5個不同的PC上。
  • 該工具的使用並不常見,很少有人會同時使用/編輯,但可能會發生。
  • 安全是一個重點,但由於該工具在Intranet中運行,因此我不需要關心登錄/備份。這是由服務器和IT人員完成的。
  • 數據庫應該不會太慢,這裏還有另外一點,每個條目都有大約3個圖像(全部共15000個)。我認爲,如果用戶選擇相應的條目會慢,但生成它們中的每一個,但我必須嘗試一下。或者,我生成所有圖像並將文件路徑存儲在數據庫中。
  • 操作系統必須是Windows(XP/7/64)

有什麼建議?

回答

1

SQLite允許一個作家,但多個讀者。

當然在這種情況下並不重要。當多個用戶嘗試打開並寫入網絡上的SQLite數據庫文件時,DB文件的最後一位作者將獲勝,其他更改將會丟失。

你要使用像一個數據庫服務器:

括號中的鏈接鏈接到那些da的Python DB-API驅動程序的信息tabases。

好消息是,如果您已經有了一個可與sqlite3驅動程序配合使用的應用程序,那麼您只需使用相應的驅動程序替換sqlite3即可。那麼,您還需要更新您的應用程序,並提供一些關於連接到網絡上的數據庫服務器的附加信息。

例如,SQLite只需要一個DB文件的路徑,而上述任何數據庫都需要主機/ IP地址,端口,數據庫名稱,數據庫用戶名和數據庫密碼。

我個人喜歡PostgreSQL,但這最有可能取決於您的IT和服務器工作人員他們想要支持。我想你可以通過SQLServer Express之類的東西(因爲你的數據集看起來不那麼大),並且可能更適合Windows環境。

1

如果您確信應用程序只能在Windows上運行,那麼JET(後端Access使用)將是我的建議。

如果您沒有安裝在機器上訪問你可以創建一個使用

import ctypes 
ODBC_ADD_DSN = 1 
Return = ctypes.windll.ODBCCP32.SQLConfigDataSource(0, ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)", "CREATE_DB=C:\Temp\database.mdb" + chr(0)) 

然後連接到與pyodbc或adodbapi數據庫中的空白數據庫。

+0

我從來沒有聽說過Jet,我會看看。 – snowflake 2012-08-06 15:23:37