Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I programmatically get the list of MS Access tables within an SSIS package?

Tags:

People also ask

How do I get a list of tables in Access?

Click on the View tab and check System objects. If you are using Microsoft Access 2007, 2010, 2013, or 2016, right-click on the navigation pane (just above the search box) and choose Navigation Options. Then, under display options, check Show System Objects and press OK.

How do I find the table name in SSIS package?

The table references will be inside the XML of the SSIS Package. If you right click on a . dtsx and select edit with notepad++, this will open the xml and allow you to see what is being called.

How do I read an SSIS package?

A SQL Server Integration Services (SSIS) package includes the necessary components, such as the connection manager, tasks, control flow, data flow, parameters, event handlers, and variables, to execute a specific ETL task. For an introduction to key SSIS functionality, check out the SSIS Basics guide.


I have inherited a terribly written MS Access database that I need to import into SQL. The Access database has several thousand tables in it with field definitions that are identical. I have some experience with SSIS, and importing one table is pretty simple.

However, I need to create a process where I can loop through the list of several thousand table names and import each table. I found this statement, that will get a list of all the table names in an Access database:

SELECT Name FROM MSysObjects WHERE (((MSysObjects.Type)=1) AND ((Left([Name],4))<>"MSys")) ;

However, I am unsure of how to use this (script task syntax?). I would think I would want to do this to populate a SSIS variable of an "object" type. That way, I can use a ForEach Loop to cycle through this list of tables and perform the importing. How can I do this? Or is there a better way to cycle through each table in the database and perform the same process?

I would greatly appreciate any suggestions. Thanks you!