Importing large csv-File

LgooLgoo Member Posts: 44
edited 2014-10-13 in NAV Three Tier
Hello,

i have a large csv File with more then 5000 rows to import with an xmlport. when i trying to import the error "the specific path is invalide" appears. With less then 700 rows i can import the File, over 700 the error apears. Importing the File with using an codeunit it results in an crash.

Where can i define the max File size to import?

Comments

  • vaprogvaprog Member Posts: 1,116
    Lgoo wrote:
    i have a large csv File with more then 5000 rows to import with an xmlport.
    Number of rows will not matter. If anything does it was file size, row size, field size. And of course the structure of the file may matter. Pay special attention to quoting conventions. They are not defined for csv in general, and usually the convention used is unknown, if not ignored in the first place.
    Lgoo wrote:
    when i trying to import the error "the specific path is invalide" appears. With less then 700 rows i can import the File, over 700 the error apears.
    Does this error appear right in the beginning, or after some records were read? It appears to be a non-sense error messages if really it is caused be the import file and is dependent on the number of rows or the file size.
    Lgoo wrote:
    Importing the File with using an codeunit it results in an crash.
    There's no logical reason to this given you use reasonable code. With Classic, a file size limit of 2GB applied. I really expect this to be gone with the new architecture. But even if you hit this limit, which I consider unlikely with just 5000 rows, which really is not that large, you should get an error message; a runtime error in worst case.
    Lgoo wrote:
    Where can i define the max File size to import?
    There is no such setting

    Check the file structure,the data contained within the file (no binary data, no extremely long fields, no line endings within fields, ...), your memory, the disk storage and if it applies your network.
  • LgooLgoo Member Posts: 44
    Thanks for reply.

    you'r right, it has nothing to do with the row no. But also nothing to do with a spezific row, i deleted the one (834) in wich the error appears but without result...
    I have also deleted 50 rows at the beginning of the File and the error appears some 100 rows later. I checked also the file size but i can import some files with 500 kb that work and some with 55kb that are not working..

    So the error appears randomly?!


    This is the error in the Windows logs:
    Type: System.NotSupportedException
    Message: Die angegebene Methode wird nicht unterstützt.
    StackTrace:
         bei Microsoft.Dynamics.Nav.Runtime.FilterExpressionBinaryTokenizer.GetTokens(BinaryReader reader, FilterExpressionContext expressionContext)
         bei Microsoft.Dynamics.Nav.Runtime.FilterExpressionParser.ParseFromBinary(BinaryReader binaryReader, FilterExpressionContext expressionContext)
         bei Microsoft.Dynamics.Nav.Runtime.NavTableFilter.EnsureBinaryParsed()
         bei Microsoft.Dynamics.Nav.Runtime.NavTableFilter.get_MetaTable()
         bei Microsoft.Dynamics.Nav.Runtime.NavTableFilterFormatter.FormatImpl(NavTableFilter tableFilter)
         bei Microsoft.Dynamics.Nav.Runtime.NavValueFormatter.Format(NavValue value, Int32 length, Int32 formatNumber, FormatSettings formatsetting)
         bei Microsoft.Dynamics.Nav.Runtime.NavFormatEvaluateHelper.Format(NavValue value, Int32 length, Int32 number)
         bei Microsoft.Dynamics.Nav.BusinessApplication.Codeunit423.LogModification_Scope.OnRun()
         bei Filter.InvokeWithFilter(NavMethodScope )
         bei Microsoft.Dynamics.Nav.BusinessApplication.Codeunit423.OnInvoke(Int32 memberId, Object[] args)
         bei Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1.OnDatabaseModify_Scope.OnRun()
         bei Filter.InvokeWithFilter(NavMethodScope )
         bei Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1.OnDatabaseModify(NavRecordRef recRef)
         bei Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1.OnInvoke(Int32 memberId, Object[] args)
         bei Microsoft.Dynamics.Nav.Runtime.NavCodeunit1.Invoke(Int32 methodId, Object[] arguments)
         bei Microsoft.Dynamics.Nav.Runtime.NavGlobalTriggers.Modify(NavRecord newRecord, NavRecord oldRecord, Boolean runGlobalTrigger)
         bei Microsoft.Dynamics.Nav.Runtime.NavRecord.Modify(DataError errorLevel, Boolean runApplicationTrigger, Boolean runGlobalTrigger, Boolean isBulkModify)
         bei Microsoft.Dynamics.Nav.Runtime.NavRecord.ALModify(DataError errorLevel, Boolean runApplicationTrigger, Boolean isBulkModify)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPortTableNode.WriteRecord(Boolean alwaysModify)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPortImporter.ImportRecord(NavXmlPortNode node)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPortImporter.LoopXmlPortNode(NavXmlPortNode xmlPortNode)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPortImporter.LoopChildren(NavXmlPortNode node)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPortImporter.LoopXmlPortNode(NavXmlPortNode xmlPortNode)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPortImporter.Import()
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPort.Import(DataError errorLevel)
         bei Microsoft.Dynamics.Nav.Runtime.NavXmlPort.RunXmlPort()
    Source: Microsoft.Dynamics.Nav.Ncl
    HResult: -2146233067
    
  • vaprogvaprog Member Posts: 1,116
    The log says there's something wrong with a filter in Change Log Management.

    Check what happens if you turn Change Log off. If this really is the cause, you can then continue your investigations there.
Sign In or Register to comment.