SQL Server Compact Edition中是否可以进行批量查询?

时间:2014-04-27 08:31:36

标签: c# .net sql-server winforms sql-server-ce

我正在使用远程SQL Server数据库的Winforms应用程序。由于我是新手,我不知道从远程数据库获取数据的速度非常慢。所以我想出了一个使用Visual Studio 2010对话框Local Database Cache的解决方案。但SQL Server CE的问题在于它似乎不支持批量查询。

我发现有些人说在查询之间可能使用GO进行批量查询,而有些人说它在SQL Server CE中不可能;参考链接link1。我知道这个问题已被多次询问,但答案不同。

如果有可能那么我们如何执行

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

如果不可能,那么请提出除join之外的解决方案,因为我无法更改所有构建的数据库功能。

我可以使用其他任何可能的方法来实现我的想法吗?我也在考虑在客户端使用SQL Server,但我不知道如何手动实现数据同步。

1 个答案:

答案 0 :(得分: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服务器连接权限,并且它对于70-461的练习很有用考试(当然,以有限的方式)。

它不是一般用途数据库选项。

这些链接可以帮助您满足需要。

坏消息是,如果您需要上面讨论过的类型的命令,您可能无法在应用程序中使用它,除非您编写一个单独的引擎来将这些命令解析为SQL CE支持的语法。

祝你好运,我希望这会有所帮助。