曾經在自己的ASP.NET空間上安裝過一個基於SQLite的開源CMS-Eucalypto ,很順利。
這次客戶的系統,由於用戶端的資料庫使用了SQLite,客戶希望把整理好的資料放到網上方便各offer查詢,因為只保留3個月的資料,而且只提供查詢功能,SQLite應該夠用,而且這樣我不用再做太多修改了。客戶購買的是Godaddy的ASP.NET hosting, 上傳後遇到麻煩了,
Parser Error Message: Could not load file or assembly ‘System.Data.SQLite, Version=1.0.51.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139′ or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0×80131417)
一開始沒有反應過來,跑到網上搜尋答案,原來是System.Data.SQlite是對dynamic library sqlite.dll的封裝,出於安全考慮Godday只允許使用manged code library。 很無奈,我還是得考慮使用別的資料庫了。
網上很多資料對SQLite的評價很高,尤其是和MS Access對比,這次卻遇到了個大麻煩,幾乎所有的ASP或者ASP.NEThosting都支援MS Access,但SQLite呢?
不過網上也有一個managed code version SQLite.dll--ManagedSQLite,也許必須在ASP.NET hosting使用SQLite的朋友可以嘗試下,由於時間的關係,暫時還沒有做過測試。
這裡順便扯點題外話,在.net商業組件領域有個名氣很響的外國企業(老闆是中國人,Team Dev也在中國)的一個組件中的某幾個功能的實現就用到了基於GPL協議和商業協議(價格很貴)的exe程式改的dynamic library(有些拗口),但卻說是100% managed library, 而且刻意對那個非.net library進行了偽裝,我曾經和他們的管理員聊過這個話題,他們對我警惕性很高,懷疑我是敵方派來的,我無意揭發他們,只是提他們擔心紙能否保住火。