sql server - Import multiple tables into SQL from CSV if existing in folder -
in extension question: import multiple csv files sql server folder
as question states, want import multiple tables csv sql server folder. thing in case, can have 17 different tables, have different layouts. have 2 columns, while others have 10 instance.
is possible create script takes account different tables setup based on name of csv file, , import correct if table exist in folder?
the thing csv files never change names/layout. not 17 tables used in every project.
i want rough code along proper comments understand it.
someone please me out on one. lot in advance :)
this perfect situation using sql server integration services (ssis), provided have available in working environment. (i assume do, or can installed.)
ssis huge platform in own right cannot explain how use here. places start learning are:
there plenty of books , other websites available too.
broadly speaking, first need create ssis "package", file of .dtsx extension. create on local pc using microsoft visual studio or microsoft sql server data tools. has reasonably user-friendly graphical interface.
within package need configure data source each of 17 possible files, "map" them corresponding tables in target sql database.
provided set appropriately, package work gracefully if of files don't exist - load whichever present. this crux of why ssis option in use-case.
after creating package, there multiple ways use/deploy it. based on comments , question, think best way might be:
- upload ssis package store on sql server (using ssms object explorer, connecting ssis instance rather sql server instance). you'll need ssis components installed on sql server platform this.
- create sql job via sql agent, step triggers ssis package. might want steps before or after step, run t-sql code prepares sql tables load data into, or things data after loading (such cleaning , validating it).
- rather running sql script set whole process off, instead trigger job run, either manually (via sql agent again) or using built-in scheduling facilities (e.g. run every night @ 6pm).
packages can saved kind of standalone executable, in folder location, , run within windows double-click (without needing open visual studio/ssdt again).
Comments
Post a Comment