I have been able to do a conversion (in FME2013) from an Access DB to a SQL Express DB(in Desktop Workbench), adding some transformers to grab data from three of the tables, two of which have primary keys, and running a SQL query executer I can populate a new table; querying out needed information from all three, (or inner join on the two with the key) this is all done one DBs at a time because the primary keys repeat.

I would now like to grab multiple Access DB’s all at once and do the same thing only grouping them together based on the DBs they originate from adding a new primary key field containing the file name of the Access DB in that field.

When I use the Full Filename Attribute from the FilemnamePartExtractor it combines all of the selected filenames adding special characters (“,**) I have removed them using the StringReplacer. I am at a point where I cannot seem to move forward successfully, due to my limited experience working with FME.

I am also wondering if this is the correct approach or is there a more straightforward method?

enter image description here

In the first and third writer I am using the FilemnamePartExtractor, StringReplacer, StringConcatenator and the BulkAttributeRenamer and dropping the values into a new SourceData… field.

  • use the option 'SQL Statement to Before after Transaction' on your DB sources then store the primary keys (pk) to a attribute pk_1, pk_2, pk_3 etc.
    – Mapperz
    Commented Dec 22, 2014 at 14:53
  • you need to post your edit as answer.
    – Mapperz
    Commented Jan 9, 2015 at 19:28

1 Answer 1


After some back and forth with FME and becoming more familiar with it’s Workbench I have come up with the following solution.

enter image description here enter image description here enter image description here

I solved this problem by using only the inline query and the Batch Deploy… located under the File menu; running the Batch Deploy initializes a wizard where it runs the query(s) and writers to completion on each input DB one at a time.

enter image description here Producing the following desired output. enter image description here The result: Where the SEGMENTID field is now assigned and used as the identifier for each DISPLAY_NAME field classification.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.