Bonjour,
Donc voila mon problème je veux via un bulk insérer des agents dans une table.
Voici la requete de ma table pour voir sa structure :
Et le voici le bulk que j'utilise :
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 CREATE TABLE [dbo].[AGENTS]( [Matricule] [varchar](20) COLLATE French_CI_AS NOT NULL, [Nom] [varchar](25) COLLATE French_CI_AS NOT NULL, [Prenom] [varchar](25) COLLATE French_CI_AS NULL, [Taux] [decimal](3, 2) NULL, [SNumero] [nvarchar](20) COLLATE French_CI_AS NULL, [Nb_heuresE] [decimal](8, 2) NOT NULL, [Nb_heuresS] [decimal](8, 2) NOT NULL, [Solde] [decimal](8, 2) NULL, CONSTRAINT [PK_AGENTS] PRIMARY KEY CLUSTERED ( [Matricule] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]
Et pour finir la structure de mon fichier (liste_agents):
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
22
23
24
25
26
27
28 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[bulk_insert_agents] -- Add the parameters for the stored procedure here (@liste_agents varchar(5000)) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @SQL varchar(500) BEGIN SET @SQL = 'BULK INSERT dbo.AGENTS FROM '''+@liste_agents+''' WITH (FIELDTERMINATOR ='';'', ROWTERMINATOR =''\n'');' END PRINT @SQL EXEC(@SQL) END
et j'ai aussi essayé sans les ".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MATRICULE;NOM;PRENOM;11;111111;0;0;0 MATRICULE2;NOM;PRENOM;11;111111;0;0;0
Donc ce bulk fonctionnait parfaitement.
Et actuellement il fonctionne toujours sauf que les lignes ne s'ajoutent plus.
Partager