Bonjour à tous,

Voici ma problématique :

Je dois importer tout les jours 78 fichiers à plat dans mon sql Server 2005,

Ces fichiers sont tous formatés de la même façon et sont stockés au même endroits.

Il va s'en dire que le clic droit "importer source de fichier" à plat est a proscrire ^_^, je l'ai fais 1 fois pour remplir ma base , donc j'ai toutes les structures des tables

Donc voici ce que j'ai fait pour 1 fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
USE [myBdd]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[actionjur](
	[NUMDOSJU] [int](100) NOT NULL,
	[ACTION] [nvarchar](150) NULL,
	[DATEREL] [datetime] NULL,
FOREIGN KEY ([NUMDOSJU])
REFERENCES [dossjur]([NUMDOSJU])
) ON [PRIMARY]
 
DECLARE @bulk_cmd nvarchar(1000)
SET @bulk_cmd = 'BULK INSERT actionjur
FROM ''D:\donnees\actionjur.txt'' 
WITH (ROWTERMINATOR = '''+CHAR(10)+''',FIRSTROW = 2 , FIELDTERMINATOR =''\t'' )'
EXEC(@bulk_cmd)
GO
Ce bout de code est un copié collé de ce que j'ai pu trouver sur internet, je n'y connais pas grand chose en Script SQL

Comment puis-je automatiser tout cela , sachant que toutes mes tables n'ont pas le même nombre de colonne.
Je souhaiterai éviter de recopier 78 fois la partie "Declare [...] Exec" en changeant mon nom de fichier.

Je me tiens à votre disposition pour d'avantage de renseignement.