2008-10-10 72 views
7

我一直在準備在SQL Server Compact Edition 3.5(SP1 - 最近發佈)上發佈演示文稿,我想知道是否有人使用SQL Server CE 3.5(或更早版本)設計(或設想設計)系統?有沒有人使用(或考慮使用)Sql Server精簡版?

特別地,具有人的思想(或有經驗的),使用SQLCE作爲離線數據存儲中的溶液(作爲連接系統的設計的一部分)?

與其前身相比,版本3.5看起來功能非常豐富,是否可以認真考慮(現在它支持LINQ to SQL,標識列和各種重要的T-SQL)?

您會考慮使用它,如果你有一個輕量級的低佔用基於文件的數據庫(尤其是如果它需要在移動設備和桌面系統支持)的需要,或者有其他更好的選擇嗎?

回答

9

在工作中,我們最近必須將一個專爲SQL Server Express設計的項目遷移到SQLCE。起初我認爲它會變得糟糕,主要是由於沒有存儲過程。一旦我們開始深入研究,並看到它提供了什麼,我們相信這是正確的舉措。它支持LINQ,查詢大量數據比我們想象的要快得多。插入和更新有點慢,但實際上並不算太差。我們碰到的唯一問題是A)Management Studio 2005不支持它,雖然2008年,但它非常有限。不知道爲什麼,希望他們會爲將來的版本改變這個,但它會讓我失去信心。 B)當試圖將現有的SQL Server數據庫遷移到SQLCE時,真的沒有簡單的方法從現有的數據庫創建模式,並移動所有的數據。你可能不得不推出自己的工具來做到這一點(我們必須)。

儘管如此,最終的結果是驚人的。現在安裝時間縮短到三分之一,用戶不必安裝SQL Express,而且應用程序在內存較少的計算機上運行得更順暢。總而言之,我對它實際工作的效果感到驚訝。

+0

這很有趣 - 尤其是表演!你有沒有做基準測試? – RobS 2008-10-10 11:30:15

6

我試過SQLCE的幾個版本,並始終結束了使用的優秀ADO.NET SQLite implementation - 它更輕,更快,更容易使用(我的目的至少),它是便攜式跨幾乎所有的平臺。

0

嘗試了幾次SQLCE。總是使用其他的東西(Firebird(嵌入式),SQLite,VistaDB)。國際海事組織SQLCE是限於在或多或少複雜的情況下有用的方法。雖然我沒有用最新版本(3.5)現實世界的經驗,但我懷疑它仍然吮吸:)

0

我已經幫助開發和維護使用SQL Server CE 2.0 PDA軟件。只要你知道限制在哪裏,我認爲沒問題。

4

我目前在企業applicatino在SQL CE數據庫中獲取與同步框架通過WCF同步到一個SQL 2008服務器使用SQL CE與NHibernate。奇蹟般有效! 特別是從nhibernate映射文件生成數據庫是非常棒的。

但即使使用linq2sql它工作得很好!

+0

哇,這聽起來像一個非常有趣的項目!你是如何找到Sync框架的? – RobS 2008-10-10 11:29:13

+0

我第二次發表評論。 你有機會發表一篇關於你的實現的文章嗎? – 2008-12-03 23:27:21

0

我用SQLCE一次,我在面試中獲得了鍛鍊,這是足夠了這一點。現在,無論何時我需要這樣的功能,我都使用sqlite或firebird。

SQLCE在該練習中的可用性非常好。它很快,具有良好的可視化編輯器,並且很好地集成到Visual Studio中。

底線:如果你能處理SQLCE的限制,你確定你不需要更重要的是 - 使用它。

0

如果在移動設備上使用,則不能使用Linq to SQL。

我們使用它,這是不錯的,但LINQ到數據集是不是像你一樣的LINQ to SQL

0

我們在項目中使用SQLCE(3.0版本我相信)一年或2年前。
我遇到的問題是它需要安裝,不是XCOpy可部署的。表現也很糟糕。我們正在做大約20次插入,這可能超出了它的功能,但它絕對無法處理它。 性能和部署問題讓我相信有更好的選擇。我的下一個項目將使用SQLite或VistaDB。

我已經在Mac和iPhone上使用SQLite進行開發,並且在這兩個平臺上都表現得非常好。

0

如果在實體框架中使用SQLCE 3.5 SP1,則會出現問題。基本上,將某些參數傳遞給查詢時會出現問題。 解決方法是卸載SQLCE並安裝作爲修補程序發佈的另一個版本。與此相關的問題是當試圖將SQLCE包含在安裝項目中時。 更多的主題可以在這個主題中找到:http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/b6bac277-cf66-4c74-a0b3-e48abedbd161

另一個奇怪的問題是,除非你建立了目標86 SQLCE 3.5 SP1與實體框架將不會在64位系統上運行(http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/aa5850bb-34fe-4064-82b0-4a7cac675c91/