Pas d'ajout des lignes avec BULK INSERT
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:
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:
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:
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.