Missing Forms - InfoPath Dev
in

InfoPath Dev

Use our Google Custom Search for best site search results.

Missing Forms

Last post 02-21-2011 09:58 AM by Jimmy. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 02-20-2011 04:22 PM

    Missing Forms

    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).

     

  • 02-21-2011 06:20 AM In reply to

    Hi Donna,

    Since the forms are in DBXL and the database, then the issue can be fixed by taking a look at the SharePoint mapping. I believe you might be using the steps in this article (since you mention that the link is on the Name, and this is not the default mapping); if so, then it's possible that if the columns used (e.g. DBXL::Name) are blank, then this yields a SharePoint mapping error.

    One suggestion is to test that a new SharePoint mapping for your doctype works (if your DBXL license allows inserting a second mapping for your document type). Once the new mapping is added, you can Reshred All to push the documents out to the new SharePoint form library.

    But to troubleshoot the issue itself: the first step I would recommend is to make sure that your form sets the DBXL::Name, Author and Description (especially if these are necessary in the next step). Second step would be to check which data is used for your custom SharePoint column. 

    Hope this helps!

    Ernesto Machado
    Qdabra® Software/ InfoPathDev.com
    The InfoPath Experts – Streamline data gathering to turn process into knowledge.™


  • 02-21-2011 07:07 AM In reply to

    Well, I thought of that, Ernesto - and I actually re-did the mapping... but it did not repair the problem...

    I am not mapping to Sharepoint, but to the DAT.  The documents are viewed in Sharepoint via a data view web part.

    So my question is, why would this happen to only about 6 forms or so out of 50 edited?  Most of the forms operated perfectly, but only a handful had the problem and even those actually did write to DAT and the Database.

    If it were the mapping in the submit on the form, wouldn't there be a problem with all of them?

    The fields used for the mapping are all filled, too...  They were pre-populated into non-editable fields on the forms.

  • 02-21-2011 08:33 AM In reply to

    Hello,

     If you query for these documents in the Documents tab of DAT, is the Name field blank there as well?

    Jimmy Rishe / Software Developer / Microsoft MVP
    Qdabra Software
  • 02-21-2011 08:56 AM In reply to

    Yes.  Since I am using the DAT and a data view from the DAT, the Name and Author are missing in both places:

    How can I send you some screen shots?  That might make it a little clearer.  Also, I did send the error text from one of the forms...

      

     

     

  • 02-21-2011 09:58 AM In reply to

    You can send screen shots to our support alias - support at qdabra dot com.

    I inspected the errors you posted above, but as far as I can tell, they do not appear to be related to this particular issue.

    What are you using to submit the forms to DBXL from InfoPath?  Is it an ordinary Submit data connection that you are executing, or are you using qRules?

    Jimmy Rishe / Software Developer / Microsoft MVP
    Qdabra Software
Page 1 of 1 (6 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.