2013-01-01 134 views
12

我一直在試圖讓SQLite在Azure網站上工作。我已經成功部署了一切,但我需要將它指向數據庫的文件名。我已經着眼於創建Blob存儲,但我不確定如何將其轉換爲SQLite將接受的文件名。Azure網站上的SQLite

我確信這已完成,因爲我可以看到有關與Azure上的SQLite相關的其他問題的參考。

我已閱讀http://www.sqlite.org/whentouse.html

+2

通過將連接字符串設置爲:'ConnectionString =「Data Source =」+ HttpContext.Current.Server.MapPath(@「\ App_Data \ database.db」);'我也必須ftp到azure網站爲該網站設置App_Data文件夾。 (ftp的詳細信息存儲在發佈設置,你下載btw !!) – James

+1

你在哪裏設置連接字符串?在Global.asax中?你不能直接在web.config中做動態的東西。我一直在收到「給定路徑的格式不被支持。」例外情況,無論我是否填寫相對或絕對路徑。它看起來像Azure希望'/'斜槓而不是'\',但是我使用的任何組合都會導致無效的路徑格式。 –

回答

10

根據我的經驗,如果您要將SQLite與Azure網站一起使用,您可以將數據庫文件保留在您的部署包中,以便它將保留在您的網站所在的同一臺服務器上。 Azure網站提供1GB的應用程序存儲空間,這對於數據庫文件來說是足夠的。您的網站內容將持續存在,訪問SQLite數據庫將會很快。這是非常容易的,你可以很容易地使用ASP.NET Web應用程序或任何其他。

選擇Azure Blob存儲的問題在於,如果數據庫文件存儲在Azure Blob存儲中,則不存在SQLite可以寫入該文件的API。因此,您可以選擇的一種方法是先在本地編寫,然後同步到Azure Blob存儲,而其他人則可能有其他選項。如果您想將數據庫文件備份到Azure Blob存儲器出於任何原因,您確實可以單獨做到這一點,但我認爲如果您選擇擁有SQLite,最好的方法是將數據庫文件與網站保持一致,以使其變得簡單。

+0

嘿,謝謝,那是我以後的事。真的很簡單!我有連接字符串錯誤,所以它試圖把數據庫文件放入臨時的asp.net文件 – James

+3

但是,網站可以從不同的機器上運行。你的寫作只會被困在其中的一箇中。我對嗎? –

+0

我相信@Eduardo Molteni是正確的。如果您的網站沒有跨多臺計算機進行縮放,或者您擁有隻讀數據庫,則此功能纔有效。在現實世界中,這隻適用於一組非常狹窄的應用程序。 – Josh