Newbe到MS Sync Frame使用修改后的FileSyncProviderSample项目 [英] Newbe to MS Sync Frame work using modified FileSyncProviderSample project

查看:91
本文介绍了Newbe到MS Sync Frame使用修改后的FileSyncProviderSample项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经成功编译了FileSyncProviderSample。当我使用几个测试目录运行该示例时,我收到以下错误消息: -

I have successfully compiled the FileSyncProviderSample. When I run the example using a couple of test directories I get the following error message:-

文件同步提供程序的异常:
$
Microsoft.Synchronization.MetadataStorage。 MetadataStorageEngineException:存储引擎操作失败,错误代码为28558(HRESULT = 0x80004005,源IID = {0C733A7A-2A1C-11CE-ADE5-00AA0044773D},参数=(0,0,0,z:\ AppUpdate \filesync.metadata) ,
,,))。

  ---> System.Runtime.InteropServices.COMException(0x80041288):存储引擎操作失败,错误代码为28558(HRESULT = 0x80004005,源IID = {0C733A7A-2A1C-11CE-ADE5-00AA0044773D},参数=(0,0,0,z :\ AppUpdate \filesync.metadata,
,,))。



  在Microsoft.Synchronization.Files.Interop.FileSyncProviderClass.Initialize(GUID&安培; guidReplicaId,字符串pcszReplicaRootPath,字符串pcszMetadataFilePath,字符串pcszTempDirectoryPath,FILESYNC_INIT_FLAGS dwSyncFlags,IFileSyncScopeFilter pScopeFilter,
IFileSyncProviderCallback pCallback,字符串pcszPathToSaveConflictLoserFiles)

  在Microsoft.Synchronization.Files.FileSyncProvider..ctor(Guid replicaId,String rootDirectoryPath,FileSyncScopeFilter scopeFilter,FileSyncOptions fileSyncOptions,String metadataDirectoryPath,String metadataFileName,String tempDirectoryPath,
String pathToSaveConflictLoserFiles)

    ---内部异常堆栈跟踪结束---

  在Microsoft.Synchronization.Files.FileSyncProvider..ctor(Guid replicaId,String rootDirectoryPath,FileSyncScopeFilter scopeFilter,FileSyncOptions fileSyncOptions,String metadataDirectoryPath,String metadataFileName,String tempDirectoryPath,
String pathToSaveConflictLoserFiles)

   在Microsoft.Synchronization.Files.FileSyncProvider..ctor(String rootDirectoryPath,FileSyncScopeFilter scopeFilter,FileSyncOptions fileSyncOptions)

  在FileSyncProviderSample.DetectChangesOnFileSystemReplica(字符串replicaRootPath,FileSyncScopeFilter过滤器,FileSyncOptions选项)

  在FileSyncProviderSample.Main(String [] args)

Exception from File Sync Provider:
Microsoft.Synchronization.MetadataStorage.MetadataStorageEngineException: A storage engine operation failed with error code 28558 (HRESULT = 0x80004005, Source IID = {0C733A7A-2A1C-11CE-ADE5-00AA0044773D}, Parameters=(0, 0, 0, z:\AppUpdate\filesync.metadata, , , )).
 ---> System.Runtime.InteropServices.COMException (0x80041288): A storage engine operation failed with error code 28558 (HRESULT = 0x80004005, Source IID = {0C733A7A-2A1C-11CE-ADE5-00AA0044773D}, Parameters=(0, 0, 0, z:\AppUpdate\filesync.metadata, , , )).

   at Microsoft.Synchronization.Files.Interop.FileSyncProviderClass.Initialize(Guid& guidReplicaId, String pcszReplicaRootPath, String pcszMetadataFilePath, String pcszTempDirectoryPath, FILESYNC_INIT_FLAGS dwSyncFlags, IFileSyncScopeFilter pScopeFilter, IFileSyncProviderCallback pCallback, String pcszPathToSaveConflictLoserFiles)
   at Microsoft.Synchronization.Files.FileSyncProvider..ctor(Guid replicaId, String rootDirectoryPath, FileSyncScopeFilter scopeFilter, FileSyncOptions fileSyncOptions, String metadataDirectoryPath, String metadataFileName, String tempDirectoryPath, String pathToSaveConflictLoserFiles)
   --- End of inner exception stack trace ---
   at Microsoft.Synchronization.Files.FileSyncProvider..ctor(Guid replicaId, String rootDirectoryPath, FileSyncScopeFilter scopeFilter, FileSyncOptions fileSyncOptions, String metadataDirectoryPath, String metadataFileName, String tempDirectoryPath, String pathToSaveConflictLoserFiles)
   at Microsoft.Synchronization.Files.FileSyncProvider..ctor(String rootDirectoryPath, FileSyncScopeFilter scopeFilter, FileSyncOptions fileSyncOptions)
   at FileSyncProviderSample.DetectChangesOnFileSystemReplica(String replicaRootPath, FileSyncScopeFilter filter, FileSyncOptions options)
   at FileSyncProviderSample.Main(String[] args)

 

执行此行代码时会发生以下情况: -

Which happens when this line of code is executed:-

 SyncFileSystemReplicasOneWay(replica1RootPath, replica2RootPath, null
, options);

I need some advice here on how to proceed. I have run some searches for the error code 28558 but the results have not been helpfull.
on the other hand the search result for 0x80004005 suggests that there is a problem with access rights to ODBC.

My OS is Vista32 (business), Processor Intel(R) Xeon(R) CPU E5410 @ 2.33GHz, 2327 Mhz, 4 Core(s), 4 Logical Processor(s) with 4GB Ram
and a 500 GB RAID disk set, MSVS 2008,2010 resident on system.

Many thanks in anticipation

推荐答案

错误代码(28558)表示FileSyncProvider在创建数据库时遇到问题。可能你在RAID磁盘集上看到了这个问题。我假设您具有磁盘集的写入权限,因此运行该示例的登录名可以将
写入RAID设置。但是,RAID端可能会发生某些文件/目录锁定,这可能会阻止FileSyncProvider创建数据库文件。

The error code (28558) indicates FileSyncProvider is encountered problems while creating the database. Likely you are seeing this issue on the RAID disk set. I assume you have write access to the disk set, so the login you are running the sample can write to the RAID setup. However, there could be some file/directory locking happening on the RAID side, which could be preventing FileSyncProvider from creating the database file.

问题是否一致?如果是这样,您可以尝试同步两个文件夹 - 驻留在非RAID本地系统驱动器上。如果可行,我们可以将问题缩小到RAID驱动器。

Does the issue happens consistently ? If so, can you try syncing two folders -residing on a non-RAID local system drive. If that works, we can narrow down the issue to the RAID drive.

如果RAID方面确实是单独遇到此问题,也许您可​​以检查一些可能会锁定的配置设置文件(比如镜像设置)。或者你有一些其他文件监视器程序,如文件索引器或反病毒在后台运行

If RAID side is indeed alone in facing this issue, maybe you can check some configuration settings which could potentially be locking up files (say mirroring settings). Or do you have some other file-watcher programs like file indexer or anti-virus running in the background.

 

希望这会有所帮助,但是
Sameer

Hope this helps,
Sameer


这篇关于Newbe到MS Sync Frame使用修改后的FileSyncProviderSample项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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