Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQLServerCE/本地数据缓存/同步框架-插入错误_C#_Sql Server_Sql Server Ce_Microsoft Sync Framework - Fatal编程技术网

C# SQLServerCE/本地数据缓存/同步框架-插入错误

C# SQLServerCE/本地数据缓存/同步框架-插入错误,c#,sql-server,sql-server-ce,microsoft-sync-framework,C#,Sql Server,Sql Server Ce,Microsoft Sync Framework,希望有人能帮助我。我有一个VisualStudio2008 WinForms 已向其添加本地数据缓存的应用程序。本地数据缓存正在运行 通过SqlServerCE使用SDF文件,并且正在使用缓存SQL Server 2008数据库 已启用更改跟踪 这是工作,我可以做双向同步等 我遇到的问题是将数据插入到 已由VS向导创建。当我尝试插入数据时 通过编程或甚至通过VS接口显示数据,我得到一个错误 声明“无法将重复值插入唯一索引”,因为 主键约束 这些表有一个auto inc int主键,看起来像种子一

希望有人能帮助我。我有一个VisualStudio2008 WinForms 已向其添加本地数据缓存的应用程序。本地数据缓存正在运行 通过SqlServerCE使用SDF文件,并且正在使用缓存SQL Server 2008数据库 已启用更改跟踪

这是工作,我可以做双向同步等

我遇到的问题是将数据插入到 已由VS向导创建。当我尝试插入数据时 通过编程或甚至通过VS接口显示数据,我得到一个错误 声明“无法将重复值插入唯一索引”,因为 主键约束

这些表有一个auto inc int主键,看起来像种子一样 已重置为1。不过,并非所有的表都会出现这种情况,只有一个表会出现这种情况 很少

有没有办法解决这个问题

问候,, 亚当

您可以发布相关表的服务器DDL语句吗? 如何在客户端上创建主键?错误消息表示您正试图在表中再次插入相同的PrimaryKey。 也可能考虑
我也有同样的问题,用guid替换Int/auto-incremental值。这对我有好处。

我也有同样的问题。我通过使每个表上的每个主键都成为GUID来修复它。这样,当在脱机环境中在客户端上创建记录,然后与服务器同步时,客户端/服务器主键之间就不会发生冲突。这还可以防止在每次插入到已存在的值时属性标识自动递增的冲突

如下面的屏幕截图所示,数据类型设置为nvarchar50。它可以是任何类似字符串的数据类型,默认值设置为newid,标识规范设置为No

SQL Server Management Studio中的GUID属性屏幕截图:

您可以从中阅读有关GUID数据类型的更多信息,并查看它们是否适合您的特定场景