同步错误升级SQL Compact 3.5到SP1或SP2长列名称 [英] Synchronization Error Upgrade SQL Compact 3.5 to SP1 or SP2 long column names

查看:87
本文介绍了同步错误升级SQL Compact 3.5到SP1或SP2长列名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在我的同步项目上工作了几年。这是一个大项目。我们使用SQL Compact 3.5和ADO.NET Synchronization Services 1.0在Visual Studio 2008中创建了该项目。

I have been working on my Synchronization project for a couple of years now. This is a large project. We created the project in Visual Studio 2008 with SQL Compact 3.5 and ADO.NET Synchronization Services 1.0.

在SQL Compact 3.5 SP1可用之前,同步一直运行良好。几个月前,我们有新的开发人员加入我们的团队。他们在不知不觉中安装了SQL Compact 3.5 SP1。他们开始收到以下错误。当时我们让他们将
回滚到没有服务包的基本3.5。这解决了当时的错误。

Synchronization has been running fine until SQL Compact 3.5 SP1 was available. A few months ago we had new developers join our team. They unknowingly installed SQL Compact 3.5 SP1. They started receiveing the errors below. At the time we had them roll back to the basic 3.5 with no service pack. This resolved the error at that time.

现在Office 2010即将在我们公司推出,我们已经将许多测试PC升级到Office 2010.现在我们运行同步应用程序时在这些机器上,我们开始得到与之前相同的错误(见下文)。经过对
互联网的大量研究后,我发现Office 2010正在安装Business Connectivity Services(BCS)。 http://msdn.microsoft.com/en-us/library/ee557658.aspx  安装了
BCS后,我发现BCS还安装了SQL Compact 3.5 SP1。

Now that Office 2010 is being rolled out soon in our company, we have had many test pc's upgraded to Office 2010. Now when we run our sync app on these machines, we start getting the same error as we have seen before (see below). After much research on the internet I found that Office 2010 is installing Business Connectivity Services (BCS).http://msdn.microsoft.com/en-us/library/ee557658.aspx With BCS being installed, I found that BCS also installs SQL Compact 3.5 SP1.

回到同步和Service Pack升级问题...我跟踪了同步堆栈跟踪错误,并且在将表列添加到Generic.Dictionary集合时它正在爆炸。

为什么我们这样做?看到这个重大变化只是转到SP1或SP2?

我相信发生的事情是我们的一些列名被切断,将它们缩小到与同一(现在已切断)名称的另一列相匹配的大小。

我知道我们有长名称的列,但这些不应该是一个因素。我的意思是SP1和SP2应该向后兼容。为什么我们有这个新功能打破我的应用程序
?由于通过数据库,应用程序代码,应用程序sql,外键和索引更改了这些列名称的大范围,我们不确定是否要减少列名称大小或只是移动到与SQL $ b同步$ b快递。我的猜测是,即使我们将SQL Express作为我们的后端数据源,这些错误也不会消失。

错误:

"已添加具有相同键的项目"

堆栈跟踪:

   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)

  在System.Collections.Generic。 Dictionary`2.Insert (TKey键,TValue值,布尔加法)

   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)

  在Microsoft.Synchronization.Data.SqlServerCe.SqlCeSyncUtil。 GetTableColumns (SqlCeCommand cmdUtil,String tableName)

   at Microsoft.Synchronization.Data.SqlServerCe.SqlCeSyncUtil.GetTableColumns(SqlCeCommand cmdUtil, String tableName)

  在Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.ApplyChanges(SyncGroupMetadata groupMetadata,DataSet dataSet,SyncSession syncSession)

  在Microsoft.Synchronization.SyncAgent.DownloadChanges(SyncGroupMetadata groupMetadata)

  在Microsoft.Synchronization.SyncAgent.DataSynchronize()

  在Microsoft.Synchronization.SyncAgent.Synchronize()

有人可以解释这个新进程正在做什么以及为什么这个新进程已经与SQL CE 3.5 SP1一起发布了?

Can someone please explain what this new process is doing and why this new process has been released with SQL CE 3.5 SP1?

这可能与同步升级中的更改有关,但根据我的经验,升级SQL CE时会出现错误。

This may be related to a change in a Synchronization upgrade but from my experience the error comes when upgrading SQL CE.

谢谢,Jason

 

推荐答案

我们希望对您的问题进行内部责备。 请提供SQL CE表模式(提及长列名称)和其他相同的同步组表。谢谢。

We would like to have a in-house repro of your issue.  Please provide the SQL CE table schema (with long column name mentioned) and other related tables which are of the same sync group. Thanks.


这篇关于同步错误升级SQL Compact 3.5到SP1或SP2长列名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆