Skip to main content
  • 3,372 Posts
  • 13,798 Replies
3372 Posts
Slow bulk insert CSV to MSSQL

This question contains a few moving pieces - all in the hope of improving bulk insert operations.  Background: FME Desktop is on a dedicated workstation with 16gb ram and 2.1gb latent memory usage (ie 14gb physical ram is almost always available for FME to use.)I'm attempting to use FeatureReader to read/write a 1.5gb CSV (10m rows, 15 columns) to a MSSQL server. The writer is Microsoft SQL Server Non-Spatial. The SQL Server writer has Bulk Insert set to Yes, and I've tried Features per Transaction from 500 to 5000 rows. The SQL server has more than enough free space in it's current *.mdf that it is not trying to increase size, the table is set to truncate on insert, and there are no indexes, constraints, or keys at the time of insert. The SQL server has almost no load on it at all (extremely underutilised!), but in any case is on a large machine (20gb ram, 8 core), and the database itself has virtually no usage.  The insert

How do I use a JSON element as attribute value?

I have a JSON file, structured like this:{  "W-Number": {    "EP1": [      {        "timestamp": 1407859200000,        "value": 1.35      },      {        "timestamp": 1407862800000,        "value": 1.44      }    ],    "EP2": [      {        "timestamp": 1407859200000,        "value": 1.58      },      {        "timestamp": 1407862800000,        "value": 1.63      }    ]  }}I want to turn it into a table, like thisW-Number | timestamp | valueEP1 | 1407859200000 | 1.35EP1 | 1407862800000 | 1.44EP2 | 1407859200000 | 1.58EP2 | 1407862800000 | 1.63What I managed so far: used JSONFlattener, then AttributeExposer to expose (see below*). Then I used a ListExploder; it works when I specify e.g. W-Number-EP1{}, which gives me a table for the timestamp and value of EP1, h

Programatically detecting the errors in the input file during the conversion

We are converting files from KML/KMZ format to MapInfo in a batch operation. We have our C# program calling the FME as a console application with parameters, for every file. Everything works fine except sometimes the the KML input file has errors in it and the FME convertor exists with an error I can see in the console screen.Is any way I can programmatically detect when the convertor has problems and skip the file from my side of the code? Is any message send back to the console in case of success or fail? It should be a correct way to get the result since I can see it in the console, i am just looking for the supported way.Below is an example how we call the FME workflow:string inputPath2 = "C:\\Users\\Breazuo\\Documents\\FME\\Workspaces\\ogckml2mapinfo.fmw" +                    " --SourceDataset_OGCKML " + "\"" + path + "\"" +                    " --DestDataset_MAPINFO " + "\"" + FMEOutputDirectory + "\""; System.Diagnostics.P

Badge Winners

  • Teacher (Grey)
    jfavhas earned the badge Teacher (Grey)
  • Welcome Back
    mgardeyhas earned the badge Welcome Back
  • Welcome Back
    smadaraboinahas earned the badge Welcome Back
  • Webinar Watcher (Grey)
    danielmartins18has earned the badge Webinar Watcher (Grey)
  • Integrate Data with the FME Platform Training
    jesusdavidbhas earned the badge Integrate Data with the FME Platform Training
Show all badges

Community Stats

32,412
Posts
122,919
Replies
40,127
Members

Latest FME