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 :
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
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
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.
Partager