2011-05-18 51 views
6

到目前爲止,我一直在我的桌面應用程序上使用SQL Server Express,即使通常服務器僅由單個應用程序(由單個用戶)在同一臺機器上使用。由於全功能服務器相當沉重,這對我來說似乎有點無聊。從使用SQL Server Express切換到SQL Server Compact

然後我發現有一些叫做SQL Server Compact的東西。事情是,我的應用程序已經相當大。所以我的問題是,如果我想更改爲SQL Server Compact,那麼我們在討論(使用C#)時對我的代碼進行了哪些更改?

主要是我想知道是否可以像訪問Express一樣使用ADO.NET並將其指向localhost \ sqlexpress的方式訪問Compact -version。那麼是否可以用Compact創建另一個實例,並將其應用指向它,還是以完全不同的方式使用?

回答

10

對於獨立的桌面產品,它當然是一個輕量級選項,可以考慮使用SQL Express。

但是,除了連接字符串之外,兩者之間還是有區別的。例如,SQL CE不支持存儲過程,用戶定義的函數或觸發器。此外,它不支持Express支持的全部數據類型。在技​​術層面上,它也與您的應用程序一起運行。

另一個考慮因素是雖然SSMS將與SQL CE數據庫一起使用,但它不像SQL Express那樣功能全面。然而,有很多好的工具可以填補這些空白。請看一下Erik Jensen的博客,以獲得一個好的概述。

Everything SQL Server Compact

還檢查了他的工具,遷移的SQL Express數據庫SQL緊湊:

How to Migrate/Downsize a SQL Server database to SQL Server Compact 4.0 (and 3.5)

最後看一看這太問題兩個產品之間更多的背景:

What are the limitations to SQL Server Compact? (Or - how does one choose a database to use on MS platforms?)

+0

那麼什麼可能是Windows應用程序的最佳選擇? express或CE? – Neo 2013-11-15 05:18:59

1

我最近和它一起工作,順便說一下,我所知道的關於使用它們的事情是SQL Express有一個服務器可以連接到,而Compact是一個sdf文件,所以你必須改變的第一件事是連接字符串。

經過這個改變,沒有更多的重大改變要做,我記得,Compact可以使用Express服務器幾乎所有的指令,所以,它不會有太大的問題。

請查看Microsoft文檔以獲取更多信息,或登錄Wikipedia

再見。

0

SQL CE與Express有相同的大小限制,所以你應該很好。

只要在兩者之間移動,我發現this用於在快速數據庫和精簡型3.5數據庫之間移動。那麼我認爲你只需要改變你的connection strings(而不是指向主機/實例,你指向轉換後的文件)。但是,兩者之間有不同的features,因此您可能必須在原始數據庫中更改架構才能順利進行轉換。

+1

大小限制:SQL CE 4.0限於4GB。從SQL Express 2008開始,Express的限制已經提高了10GB。 – 2012-04-23 14:29:09

1

我會再次投票st SQL CE:

  1. 它有no views,這可能是遷移時的問題。
  2. 我們最近做了類似的事情,當您從SQL Server Express切換到SQL Server Compact Edition時,您所描述的內容會產生巨大的性能影響。

我的建議是:

  1. 使用SQLite(我們沒有爲我所提到的項目 - 這是比SQL CE更好的性能,在我們的例子) - 或 -
  2. 使用VistaDB(我在其他項目中做過;不像SQL Server Express那樣高效,但仍然足夠)

這兩個數據庫都可以是XCO部署PY,就像SQL Server Compact Edition一樣。

相關問題