我和我的同事正在使用RavenDB(目前是Stable Build 3800)。当我们其中一个人创建我们的开发服务器数据库的导出(有或没有启用索引)时,我的同事能够在本地导入它而没有任何问题,但我每次都得到相同的错误
错误是:
System.AggregateException:发生了一个或多个错误。 ---> Raven.Imports.Newtonsoft.Json.JsonReaderException:解析属性名称后的字符无效。预期':' 但得到了:......
有关此错误的一些注意事项:
:
是随机字符。我的错误包含.
,/
,字母B
等,并带有不同的.ravendump导出文件。我尝试过多次删除RavenDB,我尝试过从Windows 8.1更新到Windows 10(或许有点不相关,但是因为我的同事使用的是Windows 7和10而且我是只有一个8.1,我们只是尝试更新到10 Enterprice)。我在导入时尝试使用或不使用禁用索引。今天下午,如果我的老板还有一些人躺着,我会尝试在我的笔记本电脑上添加更多内存(目前我有10MB,而我的同事有10,14和16)。虽然当我导入文件时,我的内存稳定在70-80%..
我的同事可以毫无问题地导入完全相同的.ravendump文件,但我无法做到。有什么东西可能导致这种差异吗?我们都使用Raven Build 3800,但可能是Newtonsoft版本不同,或者是JavaScript版本,或者其他什么。导致这个问题的一些差异..
所以,目前我被困住了。我可以使用一种解决方法:获取生产数据库(而不是开发数据库)并运行我们迄今为止在本地进行的所有更新(补丁,预测,什么不是),这需要大约整天都要完成。我可能会在等待答案时开始这样做。尽管如此,这个问题在我这个项目的开发过程中已经多次出现过,而且由于数据库的增长,我每隔4-7天就不能花一整天的时间。我们已经开发了一些需要数据库重置的更改..
我已经对这个问题进行了一些搜索,并且我已经看到了其他一些有同样问题的人,但在我的案例中没有真正的解决方案。与本地相比,其中一个服务器数据库版本不同,但我们拥有相同的3800版本。
下面是错误和整个堆栈跟踪的屏幕截图,虽然它是一种无关的错误,因为我的同事可以使用完全相同的RavenDB版本导入完全相同的文件而没有问题。
System.AggregateException:发生了一个或多个错误。 ---> Raven.Imports.Newtonsoft.Json.JsonReaderException:无效的JavaScript属性标识符:/。 Path' Docs [79699] .Tussenpersonen [81] .Id',line 12179618,position 2。 在Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseUnquotedProperty()在c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:899行 at Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseProperty()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 851 at Raven.Imports.Newtonsoft.Json.JsonTextReader.ReadInternal()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 396 at Raven.Imports.Newtonsoft.Json.JsonTextReader.Read()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 314 在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:第261行 在Raven.Json.Linq.RavenJArray.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJArray.cs:139行 在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:235行 在Raven.Json.Linq.RavenJToken.ReadFrom(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJToken.cs:第178行 at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__a1.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 1211 ---内部异常堆栈跟踪结束--- 在System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase。<> c__DisplayClass70.b__69()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 796 at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__72.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 863 ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__5e.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 695 ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在Raven.Database.Server.Controllers.StudioTasksController。<> c__DisplayClassf。< b__b> d__14.MoveNext()在c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Database \ Server \ Controllers \ StudioTasksController.cs中:第173行 ---> (内部异常#0)Raven.Imports.Newtonsoft.Json.JsonReaderException:无效的JavaScript属性标识符:/。 Path' Docs [79699] .Tussenpersonen [81] .Id',line 12179618,position 2。 在Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseUnquotedProperty()在c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:899行 at Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseProperty()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 851 at Raven.Imports.Newtonsoft.Json.JsonTextReader.ReadInternal()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 396 at Raven.Imports.Newtonsoft.Json.JsonTextReader.Read()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 314 在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:第261行 在Raven.Json.Linq.RavenJArray.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJArray.cs:139行 在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:235行 在Raven.Json.Linq.RavenJToken.ReadFrom(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJToken.cs:第178行 at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__a1.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 1211< ---