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 :
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 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
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 pour finir la structure de mon fichier (liste_agents):
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
et j'ai aussi essayé sans les ".

Donc ce bulk fonctionnait parfaitement.
Et actuellement il fonctionne toujours sauf que les lignes ne s'ajoutent plus.