3

默認情況下,當您使用Visual Studio 2008提供的嚮導創建本地數據庫緩存時,它將爲您創建一個SQL Server Compact Edition數據庫,並使用Sync Framework爲您提供緩存和遠程SQL Server之間的同步功能(1.0 )。這使我們能夠在基於客戶端服務器的應用程序中提供脫機功能。使用SQL Server Express版本而不是Compact Edition作爲本地數據庫緩存?

我的問題是,而不是使用SQL Server Compact Edition,是否可以使用SQL Server Express版本,以便我們可以使用存儲過程?所有客戶都是在Core 2 Duo上運行的健壯筆記本電腦,所以處理能力根本不是問題。但對我們的用戶來說,離線是最有價值的功能。

另外,它將需要我們一些主要的重寫將所有存儲過程代碼轉換爲使用LINQ的C#中間層代碼。最後也是最重要的是,我們的老闆希望業務邏輯處於存儲過程中。 SQL Server CE不會削減它。

回答

0

是否可以使用SQL Server EXPRESS版本以便我們可以使用 存儲過程?

是的。

您可以使用Click Once來簡化安裝和部署。

如果需要,可以通過發出適當的配置命令來限制SQ​​L Express使用的內存量。

由於您的客戶使用筆記本電腦,因此您可能會考慮提供一個選項,以便在您的應用程序中停止並啓動SQL Express,而不是將其作爲服務自動啓動。

P.S.如果你使用SP,你可能不需要LINQ。 ADO.NET可以產生更高性能的代碼,特別是如果您可以利用命令批處理,異步查詢,多個結果集等功能,而這些功能對於LINQ來說是不可能的。

0

是的,你可以做到這一點。您可以讓安裝程序將SQL Server Express安裝到他們的計算機上。

但我唯一要警告的是,SQL Server可以佔用一些額外的RAM(200-500 megs),並且它對用戶來說並不總是很明顯,他們的計算機爲什麼總是消耗這麼多的RAM。如果他們都有足夠的內存,這不是問題,但任何電腦少於2演出的人都可能會注意到這一點。

你可以在SQL Server Express中編寫存儲過程。我已經使用SQL Server Express來處理某些產品,對於我需要構建的大多數數據庫來說,它是完美的,因爲它們從未達到限制。

-1

LocalDataCache的自動生成代碼僅在我所知的情況下支持SQLCE。將SQL2008 Express同步到SQLServer在技術上是可行的,但它似乎需要很多代碼,並且與VS2008中優雅的SQLCE支持一樣簡單。

+0

但SQLCE不支持存儲程序,其中原始問題列爲要求。 – RickNZ 2011-12-02 03:59:23

+0

我沒有推薦SQLCE。仔細閱讀。 – Damien 2012-01-11 12:10:40

0

This article表示Sync Framework 1.0不支持SQL Server Express作爲客戶端。 Sync Framework 2.0可以支持Express作爲客戶端。

同步框架1。0 -

我們有2個數據庫同步提供程序可用,即 SqlCeClientSyncProvider和DbServerSyncProvider。這些供應商 支持脫機(或集中輻射)方案 - 因此,我們只有客戶DBMS我們 可以使用SQL Server精簡版,並在服務器端我們有 能夠使用SQL Server或任何其他ADO .net兼容DBMS。

在同步框架2.0 -

除了老供應商,我們也有3所新的數據庫 同步提供,即SqlSyncProvider,SqlCeSyncProvider, 和DbSyncProvider。這些新提供商可以與協作 以及脫機方案一起使用,從而使任何ADO .net兼容的數據庫能夠在脫機方案中作爲客戶端或服務器加入,或者在協作方案中作爲對等方加入。

0

對Tim上面的回答的評論。實際上,我的問題與上述最初的問題差不多。我目前正在努力通過Sync Framework,Sync Services,SQL Server版本等等的這些版本謎題,以及哪些版本可以使用哪些版本。

我發現有蒂姆指(上圖)在文章中一對矛盾:

根據答案在這篇文章中,以問題#13,好像SQL Compact是唯一一個能與SF 1.0一起使用。對於那些在ASP.NET上開發並且堅持使用SF 1.0的開發人員來說,這太糟糕了,因爲在嘗試將SQL Compact與ASP.NET結合使用時會遇到異常(自己弄明白了)。除非有人可能會有SQL CE v4?

「SQL Server Compact不適用於ASP.NET開發」。

例如:

http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/b8763568-c7b0-4e4a-bdf3-14969a0f67a0/

根據回答問題3同一篇文章中,SF 1.0的默認安裝與SQL Server 2008和SQL Server Express 2008年。我可以證明對此,我沒有要求它,當我在客戶端Express上安裝我的東西時,它就在那裏。

這是令人困惑的許多事情之一:我們可以很容易地弄清楚在每個場景/設置中使用什麼或我們可以使用什麼?如果它可以幫助回答原始問題,經過爲期一個星期的深入研究並在C#中掙扎在與最簡單的可能情況下的同步相關,這裏是我的發現:因爲SF 1.0與SQL Express 2008一起安裝,所以可以得出結論它們可以一起使用。錯誤。我嘗試了一切。我在互聯網上發現很少有關於這兩者的信息,因此它們不能一起使用。不要浪費你的時間。是的,您可以使用SQL Express,但僅​​適用於Sync Framework 2.0。這是我個人的結論。現在我知道了,我即將在客戶端上安裝Sync Framework 2.0(儘管複雜的RFC和批准過程會阻止我在服務器端安裝任何東西)。我相信集中模式(客戶端連接到中央服務器但不連接在一起,服務器本身沒有安裝Web應用程序/ IIS),Sync Framework的使用僅限於客戶端。合理?

無論如何,謝謝蒂姆分享這個。我讀過的常見問題了,但通過查看您的文章我去重讀它,並意識到我真的應該安裝2.0 ;-)

最親切的問候,

Zyxy

相關問題