2014-04-27 70 views
0

我正在使用遠程SQL Server數據庫的Winforms應用程序。由於我是新手,我不知道從遠程數據庫獲取數據的速度非常慢。所以我想出了一個使用Visual Studio 2010對話框的Local Database Cache解決方案。但SQL Server CE的問題在於它似乎不支持批量查詢。在SQL Server Compact Edition中是否可以批量查詢?

我發現有人說可能在查詢之間使用GO進行批量查詢,而有些人則說在SQL Server CE中不可能;參考鏈接link1。我知道這個問題已被多次詢問,但有不同的答案。

如果它可能然後我們如何我執行

select * 
from tabl1 
where a = (select b from table2) 

如果這是不可能的,那麼還請建議其他然後join,因爲它不可能爲我改變所有內置數據庫功能的解決方案。

有沒有其他可能的方法可以用來實現我的想法?我也想在客戶端使用SQL Server,但我不知道如何手動實現數據同步。

+2

在客戶端上使用SQL Server(例如Express)可能會容易得多,因爲它提供了與完整的遠程SQL Server相同的功能。 SQL Server CE在許多方面相當有限(並且在出路上 - 它不會再真正被開發出來,被SQL Server Express取代) –

+0

您能否給我一個代碼示例如何在此實現同步場景。 –

+0

沒有對不起 - 這是一個太廣泛的話題,只是給一個「代碼示例」。它取決於你的表格結構以及數據如何在本地修改。它可以完成 - 這是一個工作。但是,在本地使用* real * SQL Server的好處是擁有所有的功能(存儲過程,視圖等) - 所有SQL Server ** Compact Edition **不提供(或者只有非常有限的) –

回答

0

SQL Server CE用於由客戶端上託管的本地數據庫文件使用,而不是在服務器上使用。

因此,它有一個非常有限的T-SQL命令集可以使用。

例如,您在請求中指出的嵌套選擇不起作用。

SQL Server Compact旨在作爲本地數據庫選項,可在與主服務器的連接有問題時使用,或者希望臨時存儲來自遠程數據庫的用戶計算機信息以用於應用程序。

此鏈接描述了可用的命令和語法:http://msdn.microsoft.com/en-us/library/ms173372(v=sql.105).aspx

關於同步的問題,這似乎更多關於您正在尋找的內容,請參閱:(同步SQL Server和SQL Server Compact) - http://msdn.microsoft.com/en-us/library/ee617382.aspx

我一直在使用它,因爲我現在還沒有SQl服務器連接權限在我的計算機上或任何我使用的網絡上, 461考試(當然有限制)。

這不是一個通用數據庫選項。

這些鏈接應該可以幫助您滿足您的需求。

壞消息是,如果您需要上述類型的命令,您可能無法在應用程序中使用它,除非您編寫單獨的引擎以將這些命令解析爲SQL CE支持的語法。

祝你好運,我希望這會有所幫助。

相關問題