2010-01-28 30 views
3

我試過在不同的操作系統和體系結構之間通過網絡傳遞二進制SQLite數據庫 - 它沒有工作。SQLite是否具有C API可讀寫的機器可移植文件格式?

你們都用什麼格式?我嘗試了一種非法的方法來複制SQLite的shell.c,並用在Mac上成功的hack argc,argv,stdin調用shell_main()。可惜我正在爲iPhone開發,它只會在那裏失敗。

是否每個人都做這樣糟糕的事情?

回答

5

這是SQLite的核心功能之一。

穩定的跨平臺數據庫文件

SQLite的文件格式是跨平臺的。寫在一臺機器上的數據庫文件可以複製到具有不同體系結構的不同機器上使用。大端或小端,32位或64位無關緊要。所有機器使用相同的文件格式。此外,開發人員已承諾保持文件格式穩定並向後兼容,因此較新版本的SQLite可以讀取和寫入較舊的數據庫文件。

其他大多數SQL數據庫引擎需要您從一個平臺遷移到另一個時,經常升級到軟件的新版本時,轉儲和恢復數據庫。

http://sqlite.org/different.html

檢查的傳球數據庫的代碼。進行逐字節比較以確保傳輸後它們相等。這絕對應該工作。

Beyond Compare具有良好的二進制文件比較支持。

+1

你完全正確的山姆。我們的測試受到一個簡單的事實的影響,一直使用ascii ftp put。切換到二進制解決了一切。 令人討厭的是,頭文件被ascii的ftp文件保存,但是數據/表格結構不那麼明顯! – gavinbeatty 2010-02-05 13:49:48

相關問題