I have a strange problem with the DAT tool. I have about 50 pre-populated forms that I processed with the Excel to Infopath tool.
They were all sitting out there being happily revised by my users, when suddenly a handful of them errored and "disappeared" according to the users.
What happened is that these few forms did not write the Name and Author fields back to DAT, so they disappeared from their place in order on the Sharepoint view. They actually wrote to DAT and the database. The users just couldn't see them or open them anymore because the link was on the Name...
I don't know what is causing this on just a few items... Here is an example of the error from the Qdabra event handler:
I am getting two errors – Here is number one : QueryDocuments encountered a critical error and needs attention: User: CO\Donna.Nightthunder Url: /QdabraWebService/dbxldocumentservice.asmx System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Qdabra.Dbxl.Domain.Document.GetIndexSearchOperator(DbxlDocumentType type, IndexQueryInfo queryInfo) at Qdabra.Dbxl.Domain.Document.GetByTypeAndIndexCriteria(Session session, DbxlDocumentType type, IndexQueryInfo queryInfo) at Qdabra.Dbxl.WebService.Implementation.ServiceImplementation.QueryDocuments(String docTypeName, String xpath, Boolean searchHistory, IndexQueryInfo queryInfo, DocumentInfo[]& docInfos) The stack trace was: at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Qdabra.Dbxl.Domain.Document.GetIndexSearchOperator(DbxlDocumentType type, IndexQueryInfo queryInfo) at Qdabra.Dbxl.Domain.Document.GetByTypeAndIndexCriteria(Session session, DbxlDocumentType type, IndexQueryInfo queryInfo) at Qdabra.Dbxl.WebService.Implementation.ServiceImplementation.QueryDocuments(String docTypeName, String xpath, Boolean searchHistory, IndexQueryInfo queryInfo, DocumentInfo[]& docInfos). Here is number two:
Error updating document id 3193. SetDocument encountered a critical error and needs attention: User: CO\Donna.Nightthunder Url: /QdabraWebService/DbxlDocumentService.asmx DevExpress.Xpo.DB.Exceptions.SqlExecutionErrorException: Executing Sql 'insert into "dbo"."DocumentHistory"("DocID","Size","VersionNo","Name","Author","Type","Description","Data","DateCreated","DateModified","CreatedBy","ModifiedBy","OptimisticLockField")values(@p0,@p1,@p2,@p3,@p4,@p5,@p6,@p7,@p8,@p9,@p10,@p11,@p12) set @p13=SCOPE_IDENTITY() insert into "dbo"."DocumentProperty"("Document","ColumnName","DocumentTypeProperty","Value","OptimisticLockField")values(@p14,@p15,@p16,@p17,@p18) set @p19=SCOPE_IDENTITY() update "dbo"."Document" set "Size"=@p20,"VersionNo"=@p21,"Name"=@p22,"Author"=@p23,"Type"=@p24,"Description"=@p25,"Data"=@p26,"DataExtractedPlaintext"=@p27,"RefID"=@p28,"IsLocked"=@p29,"LockedBy"=@p30,"LockExpires"=null,"LockComments"=@p31,"DateCreated"=@p32,"DateModified"=@p33,"CreatedBy"=@p34,"ModifiedBy"=@p35,"OptimisticLockField"=@p36 where (("DocID" = @p37) and ("OptimisticLockField" = @p38)) IF @@ROWCOUNT <> 1 begin set @r=0 RETURN end delete from "dbo"."DocumentProperty" where (("PropertyID" = @p39) and ("OptimisticLockField" = @p40)) IF @@ROWCOUNT <> 1 begin set @r=0 RETURN end set @r=1' with parameters '{3193},{2233},{1},{260},{Environment and Community Development},{2921},{Environment and Community Development},{System.Byte[]},{2/15/2011 8:14:21 AM},{2/15/2011 8:28:03 AM},{CO\Donna.Nightthunder},{CO\Donna.Nightthunder},{0},{},{3193},{{38628376-3E67-4C9E-926D-3C7DAD752326}},{0},{Environment and Community Development},{0},{46676},{3696},{2},{260},{Environment and Community Development},{2921},{5},{System.Byte[]},{ en-us 5 South Fulton Environment and Community Development 260 ...},{110},{False},{},{},{2/15/2011 8:14:21 AM},{2/15/2011 8:28:03 AM},{CO\Donna.Nightthunder},{CO\Donna.Nightthunder},{1},{3193},{0},{46672},{0},{1}' exception 'System.Data.SqlClient.SqlException: String or binary data would be truncated. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DevExpress.Xpo.DB.MSSqlConnectionProvider.Exec()' ---> System.Data.SqlClient.SqlException: String or binary data would be truncated. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DevExpress.Xpo.DB.MSSqlConnectionProvider.Exec() --- End of inner exception stack trace --- at DevExpress.Xpo.DB.ConnectionProviderSql.OnException(IDbCommand query, Exception e) at DevExpress.Xpo.DB.MSSqlConnectionProvider.OnException(IDbCommand query, Exception e) at DevExpress.Xpo.DB.MSSqlConnectionProvider.Exec() at DevExpress.Xpo.DB.MSSqlConnectionProvider.ProcessUpdateRecords(ModificationStatement[] dmlStatements) at DevExpress.Xpo.DB.DataStoreBase.ModifyData(ModificationStatement[] dmlStatements) at DevExpress.Xpo.ThreadSafeDataLayer.ModifyData(ModificationStatement[] dmlStatements) at DevExpress.Xpo.Session.CommitChangesInsideTransaction() at DevExpress.Xpo.Session.CommitTransaction() at Qdabra.Dbxl.WebService.Implementation.ServiceImplementation.SetDocumentSingleAttempt(Int32 docId, XmlDocument xml, String name, String author, String description, String currentUser, Boolean shred, String& refId) at Qdabra.Dbxl.WebService.Implementation.ServiceImplementation.SetDocument(Int32 docId, XmlDocument xml, String name, String author, String description, String currentUser, Boolean shred, String& refId) The stack trace was: at DevExpress.Xpo.DB.ConnectionProviderSql.OnException(IDbCommand query, Exception e) at DevExpress.Xpo.DB.MSSqlConnectionProvider.OnException(IDbCommand query, Exception e) at DevExpress.Xpo.DB.MSSqlConnectionProvider.Exec() at DevExpress.Xpo.DB.MSSqlConnectionProvider.ProcessUpdateRecords(ModificationStatement[] dmlStatements) at DevExpress.Xpo.DB.DataStoreBase.ModifyData(ModificationStatement[] dmlStatements) at DevExpress.Xpo.ThreadSafeDataLayer.ModifyData(ModificationStatement[] dmlStatements) at DevExpress.Xpo.Session.CommitChangesInsideTransaction() at DevExpress.Xpo.Session.CommitTransaction() at Qdabra.Dbxl.WebService.Implementation.ServiceImplementation.SetDocumentSingleAttempt(Int32 docId, XmlDocument xml, String name, String author, String description, String currentUser, Boolean shred, String& refId) at Qdabra.Dbxl.WebService.Implementation.ServiceImplementation.SetDocument(Int32 docId, XmlDocument xml, String name, String author, String description, String currentUser, Boolean shred, String& refId).