如题
谢谢各位大师指点迷津。
如果微软没做同步功能,那么该如何让它和服务其中数据库同步呢?
Comparing EDB with SQL Server CE
EDB is based on the Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) engine, and so both share many core functions. However, SQL Server CE is designed as a complete database solution, providing not only the engine, but also a query processor, full data synchronization support (merge replication and remote data access) with SQL Server, and row- and column-level tracking. SQL Server CE also supports much larger volume sizes. If your application will use very large volumes, SQL Server CE is a more appropriate database engine to use.
When developing applications that use EDB, you must develop your applications in Microsoft eMBedded Visual C++ and access features through the EDB APIs. When developing applications that use SQL Server CE, however, you can make use of the Microsoft .NET Compact Framework and the System.Data.SqlServerCe namespace.
Note Databases created with EDB are not accessible through the SQL Server CE API, and SQL Server CE databases are not accessible through the EDB API.
看这个说明感觉edb只是一个本地的数据而已。
恩~我这两天查了一下文档,EDB是个本地数据库,非sql数据库,不可用查询分析器查询数据库。只能用C++编写,但在一定复杂程度上,他是在CE设备上操作起来最快的数据库。
我现在已经把EDB数据库用于本地数据的操作,将一些需要上传主服务器的数据通过SQL SERVER COMPACT 3.5与SQL SERVER 2005连接了。
但是我现在遇到了新问题。我在选择时采用Merge replication方法还是采用Synchronization Services技术有些犹豫。技术文档上是这么写的
For some applications, the decision to use a technology is easy: If you must synchronize a data source other than a SQL Server database, Synchronization Services is the way to go. If you are a database administrator who wants to configure synchronization without much programming, merge replication might be a better choice. Ultimately, you must look carefully at your application requirements and determine whether the Synchronization Services API is the appropriate technology to use. We think that if you are moving beyond replicating a schema and its data from one database to another, Synchronization Services is clearly the appropriate choice.
而我只需要将CE上的数据上传到服务器,而不需要将服务器的数据下载到本地。Synchronization Services里面的Up-Load功能很吸引我,但是看到上面写到的If you are a database administrator who wants to configure synchronization without much programming, merge replication might be a better choice,我就开始犹豫了。。
RDA ,Merge replication,Synchronization Services三种方法的对照片如下
Synchronize using services RDA Merge Replication Synchronization Services
No No Yes
Supports heterogeneous databases
No No Yes
Incremental change tracking
No Yes Yes
Conflict detection and resolution
No Yes Yes
Easily create data views on the client
No No Yes
Automatically initialize schema and data
Yes Yes Yes
Supports large data sets
Yes Yes Yes
Query processor is locally available
Yes Yes Yes
Automatically propagate schema changes
No Yes No
Automatically repartition data
No Yes No
Use on devices
No Yes Not in this version
我的CE设备之间得EDB要通信,我肯定用Synchronization Services (如果能用)。然后在SQL Server ce与服务器之间用MErge或者Synchronization Services
但是注意上边比较的最后一行。那个Use on devices Not in this version是个啥意思。。
这是我在SQL SERVER COMPACT技术文档上看到的。我觉得是不是说SQL Server Compact 3.5还不支持Synchronization Services 这个技术?那也许我只能用Merge了。。。
谢谢楼上