Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SQL Server 2000] Fichier de format pour BULK INSERT

8 réponses
Avatar
Olivier
Bonjour,

J'ai un soucis pour créer (ss bloc note) le fichier de format pour faire un
BULK INSERT

Qqun aurait-il des sources comme exmeple ? merci d'avance

Olivier

8 réponses

Avatar
Fred BROUARD
le mieux est un fichier plat (texte) avec un enregistrement par ligne et
un séparateur de colonne.

Exemple :

toto ;titi ;2003/10/21
bonjou ; zz ;2002/09/07


A +

Olivier a écrit:
Bonjour,

J'ai un soucis pour créer (ss bloc note) le fichier de format pour faire un
BULK INSERT

Qqun aurait-il des sources comme exmeple ? merci d'avance

Olivier





--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
Olivier
Bonjour,

En fait voilà je dois faire un import de données depuis un fichier texte
comprenant 2 colonnes :

"email";"id"
"toto_email",10
'titi_email",11
etc...

et je dois intégrer dans une table comprenant 3 colonnes soit
id, email, info

la 3eme colonne est vide par default

Le but de donc de faire un bulk insert en faisant intervertir les colonnes
(vu que dans le fichier de données le champs eemail est le 1er, suivi de
l'id

mais je suis encore novice dans cela et je ne comprends pas trop le
formatfile, en fait on insérer l'email (1er colonne du fichier) dans le
champs email (2eme colonne de la table), idem pour l'id (2eme colonne du
fichier) dans le champs id (1ere colonne de la table), et la 3colonne , on
zappe, vu que c'est vide par default

Le fichier de données est indépendant de moi, vu qu'il est fourni par un
partenaire

Le but est de pouvoir importer le fichier comme je l'ai là sans avoir à
demander un nouveau extract

Merci

Olivier


"Fred BROUARD" a écrit dans le message de
news:
le mieux est un fichier plat (texte) avec un enregistrement par ligne et
un séparateur de colonne.

Exemple :

toto ;titi ;2003/10/21
bonjou ; zz ;2002/09/07


A +

Olivier a écrit:
> Bonjour,
>
> J'ai un soucis pour créer (ss bloc note) le fichier de format pour faire


un
> BULK INSERT
>
> Qqun aurait-il des sources comme exmeple ? merci d'avance
>
> Olivier
>
>

--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************



Avatar
Olivier
Je précise aussi que la longeur de la colonne 'email' du fichier n'a pas la
mm taille selon les lignes

Olivier


"Fred BROUARD" a écrit dans le message de
news:
le mieux est un fichier plat (texte) avec un enregistrement par ligne et
un séparateur de colonne.

Exemple :

toto ;titi ;2003/10/21
bonjou ; zz ;2002/09/07


A +

Olivier a écrit:
> Bonjour,
>
> J'ai un soucis pour créer (ss bloc note) le fichier de format pour faire


un
> BULK INSERT
>
> Qqun aurait-il des sources comme exmeple ? merci d'avance
>
> Olivier
>
>

--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************



Avatar
Med Bouchenafa[MVP]
Cree une vue ne contenant que les deux colonnes et fait un BULK INSERT sur
cette vue

--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris
"Olivier" wrote in message
news:
Bonjour,

En fait voilà je dois faire un import de données depuis un fichier texte
comprenant 2 colonnes :

"email";"id"
"toto_email",10
'titi_email",11
etc...

et je dois intégrer dans une table comprenant 3 colonnes soit
id, email, info

la 3eme colonne est vide par default

Le but de donc de faire un bulk insert en faisant intervertir les colonnes
(vu que dans le fichier de données le champs eemail est le 1er, suivi de
l'id

mais je suis encore novice dans cela et je ne comprends pas trop le
formatfile, en fait on insérer l'email (1er colonne du fichier) dans le
champs email (2eme colonne de la table), idem pour l'id (2eme colonne du
fichier) dans le champs id (1ere colonne de la table), et la 3colonne , on
zappe, vu que c'est vide par default

Le fichier de données est indépendant de moi, vu qu'il est fourni par un
partenaire

Le but est de pouvoir importer le fichier comme je l'ai là sans avoir à
demander un nouveau extract

Merci

Olivier


"Fred BROUARD" a écrit dans le message de
news:
> le mieux est un fichier plat (texte) avec un enregistrement par ligne et
> un séparateur de colonne.
>
> Exemple :
>
> toto ;titi ;2003/10/21
> bonjou ; zz ;2002/09/07
>
>
> A +
>
> Olivier a écrit:
> > Bonjour,
> >
> > J'ai un soucis pour créer (ss bloc note) le fichier de format pour


faire
un
> > BULK INSERT
> >
> > Qqun aurait-il des sources comme exmeple ? merci d'avance
> >
> > Olivier
> >
> >
>
> --
> Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto: ******************
>




Avatar
Fred BROUARD
comme te le dit Med, le mieux est de toujours passer par une table
intermédiaire ne possédant aucune contrainte (table d'interface) puis de
faire une requête d'insertion.

A +

Olivier a écrit:
Bonjour,

En fait voilà je dois faire un import de données depuis un fichier texte
comprenant 2 colonnes :

"email";"id"
"toto_email",10
'titi_email",11
etc...

et je dois intégrer dans une table comprenant 3 colonnes soit
id, email, info

la 3eme colonne est vide par default

Le but de donc de faire un bulk insert en faisant intervertir les colonnes
(vu que dans le fichier de données le champs eemail est le 1er, suivi de
l'id

mais je suis encore novice dans cela et je ne comprends pas trop le
formatfile, en fait on insérer l'email (1er colonne du fichier) dans le
champs email (2eme colonne de la table), idem pour l'id (2eme colonne du
fichier) dans le champs id (1ere colonne de la table), et la 3colonne , on
zappe, vu que c'est vide par default

Le fichier de données est indépendant de moi, vu qu'il est fourni par un
partenaire

Le but est de pouvoir importer le fichier comme je l'ai là sans avoir à
demander un nouveau extract

Merci

Olivier


"Fred BROUARD" a écrit dans le message de
news:

le mieux est un fichier plat (texte) avec un enregistrement par ligne et
un séparateur de colonne.

Exemple :

toto ;titi ;2003/10/21
bonjou ; zz ;2002/09/07


A +

Olivier a écrit:

Bonjour,

J'ai un soucis pour créer (ss bloc note) le fichier de format pour faire





un

BULK INSERT

Qqun aurait-il des sources comme exmeple ? merci d'avance

Olivier





--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************









--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
Olivier
Donc je devrais créer une table, faire les traitements puis insérer dans la
table finale, tout cela en faisant une procédure ?
Sinon à quoi ca sert d'avoir un param formatfile si on ne peut pas s'en
servir :

Merci :)

Olivier

"Fred BROUARD" a écrit dans le message de
news:
comme te le dit Med, le mieux est de toujours passer par une table
intermédiaire ne possédant aucune contrainte (table d'interface) puis de
faire une requête d'insertion.

A +

Olivier a écrit:
> Bonjour,
>
> En fait voilà je dois faire un import de données depuis un fichier texte
> comprenant 2 colonnes :
>
> "email";"id"
> "toto_email",10
> 'titi_email",11
> etc...
>
> et je dois intégrer dans une table comprenant 3 colonnes soit
> id, email, info
>
> la 3eme colonne est vide par default
>
> Le but de donc de faire un bulk insert en faisant intervertir les


colonnes
> (vu que dans le fichier de données le champs eemail est le 1er, suivi de
> l'id
>
> mais je suis encore novice dans cela et je ne comprends pas trop le
> formatfile, en fait on insérer l'email (1er colonne du fichier) dans le
> champs email (2eme colonne de la table), idem pour l'id (2eme colonne du
> fichier) dans le champs id (1ere colonne de la table), et la 3colonne ,


on
> zappe, vu que c'est vide par default
>
> Le fichier de données est indépendant de moi, vu qu'il est fourni par un
> partenaire
>
> Le but est de pouvoir importer le fichier comme je l'ai là sans avoir à
> demander un nouveau extract
>
> Merci
>
> Olivier
>
>
> "Fred BROUARD" a écrit dans le message de
> news:
>
>>le mieux est un fichier plat (texte) avec un enregistrement par ligne et
>>un séparateur de colonne.
>>
>>Exemple :
>>
>>toto ;titi ;2003/10/21
>>bonjou ; zz ;2002/09/07
>>
>>
>>A +
>>
>>Olivier a écrit:
>>
>>>Bonjour,
>>>
>>>J'ai un soucis pour créer (ss bloc note) le fichier de format pour


faire
>
> un
>
>>>BULK INSERT
>>>
>>>Qqun aurait-il des sources comme exmeple ? merci d'avance
>>>
>>>Olivier
>>>
>>>
>>
>>--
>>Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>****************** mailto: ******************
>>
>
>
>

--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************



Avatar
Olivier
Bonsoir,

J'ai tenté de faire un formatfile et j'obtiens ceci :

Serveur : Msg 4866, Niveau 17, État 66, Ligne 1
Échec de l'insertion en bloc. Colonne trop longue dans le fichier de données
pour la ligne 1, colonne 1. Assurez-vous que la fin de champ et la fin de
ligne sont correctement spécifiées.


formatfile

8.0
3
1 SQLCHAR 2 255 ";" 2 EMAIL ""
2 SQLINT 0 12 "n" 1 ID ""
3 SQLINT 0 0 "" 0 INFO ""


Olivier

"Olivier" a écrit dans le message de
news:
Bonjour,

En fait voilà je dois faire un import de données depuis un fichier texte
comprenant 2 colonnes :

"email";"id"
"toto_email",10
'titi_email",11
etc...

et je dois intégrer dans une table comprenant 3 colonnes soit
id, email, info

la 3eme colonne est vide par default

Le but de donc de faire un bulk insert en faisant intervertir les colonnes
(vu que dans le fichier de données le champs eemail est le 1er, suivi de
l'id

mais je suis encore novice dans cela et je ne comprends pas trop le
formatfile, en fait on insérer l'email (1er colonne du fichier) dans le
champs email (2eme colonne de la table), idem pour l'id (2eme colonne du
fichier) dans le champs id (1ere colonne de la table), et la 3colonne , on
zappe, vu que c'est vide par default

Le fichier de données est indépendant de moi, vu qu'il est fourni par un
partenaire

Le but est de pouvoir importer le fichier comme je l'ai là sans avoir à
demander un nouveau extract

Merci

Olivier


"Fred BROUARD" a écrit dans le message de
news:
> le mieux est un fichier plat (texte) avec un enregistrement par ligne et
> un séparateur de colonne.
>
> Exemple :
>
> toto ;titi ;2003/10/21
> bonjou ; zz ;2002/09/07
>
>
> A +
>
> Olivier a écrit:
> > Bonjour,
> >
> > J'ai un soucis pour créer (ss bloc note) le fichier de format pour


faire
un
> > BULK INSERT
> >
> > Qqun aurait-il des sources comme exmeple ? merci d'avance
> >
> > Olivier
> >
> >
>
> --
> Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto: ******************
>




Avatar
Olivier
Bonjour,

Bon en fait j'ai procédé en créant 2 tables: une finale, une temporaire,
J'ai utilisé le bulk insert pour la table temporaire et ensuite j'ai fait un
select insert vers la table finale
J'ai supprimé la table temporaire
Ca a l'air ok

Merci pour vos réponses

Olivier


"Fred BROUARD" a écrit dans le message de
news:
comme te le dit Med, le mieux est de toujours passer par une table
intermédiaire ne possédant aucune contrainte (table d'interface) puis de
faire une requête d'insertion.

A +

Olivier a écrit:
> Bonjour,
>
> En fait voilà je dois faire un import de données depuis un fichier texte
> comprenant 2 colonnes :
>
> "email";"id"
> "toto_email",10
> 'titi_email",11
> etc...
>
> et je dois intégrer dans une table comprenant 3 colonnes soit
> id, email, info
>
> la 3eme colonne est vide par default
>
> Le but de donc de faire un bulk insert en faisant intervertir les


colonnes
> (vu que dans le fichier de données le champs eemail est le 1er, suivi de
> l'id
>
> mais je suis encore novice dans cela et je ne comprends pas trop le
> formatfile, en fait on insérer l'email (1er colonne du fichier) dans le
> champs email (2eme colonne de la table), idem pour l'id (2eme colonne du
> fichier) dans le champs id (1ere colonne de la table), et la 3colonne ,


on
> zappe, vu que c'est vide par default
>
> Le fichier de données est indépendant de moi, vu qu'il est fourni par un
> partenaire
>
> Le but est de pouvoir importer le fichier comme je l'ai là sans avoir à
> demander un nouveau extract
>
> Merci
>
> Olivier
>
>
> "Fred BROUARD" a écrit dans le message de
> news:
>
>>le mieux est un fichier plat (texte) avec un enregistrement par ligne et
>>un séparateur de colonne.
>>
>>Exemple :
>>
>>toto ;titi ;2003/10/21
>>bonjou ; zz ;2002/09/07
>>
>>
>>A +
>>
>>Olivier a écrit:
>>
>>>Bonjour,
>>>
>>>J'ai un soucis pour créer (ss bloc note) le fichier de format pour


faire
>
> un
>
>>>BULK INSERT
>>>
>>>Qqun aurait-il des sources comme exmeple ? merci d'avance
>>>
>>>Olivier
>>>
>>>
>>
>>--
>>Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>****************** mailto: ******************
>>
>
>
>

--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************