Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire bcp
vous invite à enregistrer des informations relatives au type de stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format :
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans avoir à
spécifier de nouveau le format. Lors de la copie en bloc des données vers ou
à partir d'une instance de SQL Server avec un fichier de format existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt) est la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur 1,
etc.
Type de données du fichier hôte Type de données stockées dans le champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et 4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0. Un
préfixe de longueur doit être spécifié si le champ contient des valeurs de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets, du
type des données stockées dans le champ particulier du fichier de données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter les
champs dans un fichier de données. Les indicateurs de fin communs sont la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des données
du fichier de données, fixez la valeur de l'ordre des colonnes du serveur à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La seule
condition requise est que le nom du champ dans fichier de format ne soit pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0 pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que le
champ de données n'existe pas dans le fichier de données, et que la colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies sélectives
de données en bloc à partir d'un fichier de données vers SQL Server. Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire bcp
vous invite à enregistrer des informations relatives au type de stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format :
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans avoir à
spécifier de nouveau le format. Lors de la copie en bloc des données vers ou
à partir d'une instance de SQL Server avec un fichier de format existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt) est la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur 1,
etc.
Type de données du fichier hôte Type de données stockées dans le champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et 4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0. Un
préfixe de longueur doit être spécifié si le champ contient des valeurs de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets, du
type des données stockées dans le champ particulier du fichier de données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter les
champs dans un fichier de données. Les indicateurs de fin communs sont la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des données
du fichier de données, fixez la valeur de l'ordre des colonnes du serveur à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La seule
condition requise est que le nom du champ dans fichier de format ne soit pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0 pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que le
champ de données n'existe pas dans le fichier de données, et que la colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies sélectives
de données en bloc à partir d'un fichier de données vers SQL Server. Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire bcp
vous invite à enregistrer des informations relatives au type de stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format :
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans avoir à
spécifier de nouveau le format. Lors de la copie en bloc des données vers ou
à partir d'une instance de SQL Server avec un fichier de format existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt) est la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur 1,
etc.
Type de données du fichier hôte Type de données stockées dans le champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et 4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0. Un
préfixe de longueur doit être spécifié si le champ contient des valeurs de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets, du
type des données stockées dans le champ particulier du fichier de données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter les
champs dans un fichier de données. Les indicateurs de fin communs sont la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des données
du fichier de données, fixez la valeur de l'ordre des colonnes du serveur à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La seule
condition requise est que le nom du champ dans fichier de format ne soit pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0 pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que le
champ de données n'existe pas dans le fichier de données, et que la colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies sélectives
de données en bloc à partir d'un fichier de données vers SQL Server. Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire un
remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:
> Bonjour,
>
> Je pense qu'il vous faut ajouter des options voir éventuellement créer
> fichier de format.
> Je vous copie l'aide MSDN pour cet outil.
> ------
>
> Administration de SQL Server
>
> Utilisation de fichiers de format
> Lors de la copie en bloc des données en mode interactif, l'utilitaire
> vous invite à enregistrer des informations relatives au type de
> longueur de préfixe et de champ et les indicateurs de fin de champ et de
> ligne. Le fichier utilisé pour stocker les informations de format pour
> chaque champ dans le fichier de données est appelé le fichier de format
>
> Do you want to save this format information in a file? [Y/n] y
> Host filename: [bcp.fmt]
> Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous
> spécifier un nom différent si vous le souhaitez.
>
> Ce fichier de format fournit les informations par défaut utilisées pour
> copie en bloc des données du fichier vers une instance de Microsoft® SQL
> ServerT ou la copie en bloc ultérieure des données de la table sans
> spécifier de nouveau le format. Lors de la copie en bloc des données
> à partir d'une instance de SQL Server avec un fichier de format
> l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
> type de stockage du fichier, la longueur de préfixe ou l'indicateur de
> de champ, car ces valeurs ont déjà été enregistrées.
>
> Pour utiliser un fichier de format créé précédemment lors de
> de données vers une instance de SQL Server, vous devez utiliser le
> commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
> l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
> contenu du fichier New_auth.dat vers la table authors2 de la base de
> pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt)
> suivante :
>
> bcp pubs..authors2 in
> c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
> L'instruction BULK INSERT peut utiliser les fichiers de format
> par l'utilitaire bcp. Exemple :
>
> BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
> WITH (FORMATFILE = 'c:authors.fmt')
> Le fichier de format est un fichier texte délimité par des tabulations
> doté d'une structure particulière.
>
>
>
> Le tableau suivant décrit les structures de format de fichier.
>
> Champ Description
> Version Numéro de version de bcp.
> Nombre de champs Nombre de champs dans le fichier de données. Il
> être identique pour toutes les lignes.
> Ordre des champs du fichier hôte Position de chaque champ dans le
> fichier de données. Le premier champ de la ligne correspond à la valeur
> etc.
> Type de données du fichier hôte Type de données stockées dans le
> particulier du fichier de données. Avec les fichiers de données ASCII,
> utilisez SQLCHAR ; pour les fichiers de données au format natif,
> les types de données par défaut. Pour plus d'informations, voir Type de
> stockage de fichier.
> Longueur de préfixe Nombre de caractères du préfixe de longueur
> le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
> Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
> préfixe de longueur doit être spécifié si le champ contient des valeurs
> données NULL. Pour plus d'informations, voir Longueur de préfixe.
> Longueur des données du fichier hôte Longueur maximale, en octets,
> type des données stockées dans le champ particulier du fichier de
> Pour plus d'informations, voir Longueur du champ.
> Indicateur de fin Caractère de séparation utilisé pour délimiter
> champs dans un fichier de données. Les indicateurs de fin communs sont
> virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
> d'informations, voir Indicateur de fin de champ.
> Ordre des colonnes du serveur Ordre dans lequel les colonnes
> apparaissent dans la table SQL Server . Par exemple, si le quatrième
> du fichier de données est mappé sur la sixième colonne d'une table SQL
> Server, alors la valeur de l'ordre des colonnes du serveur pour le
> champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
> du fichier de données, fixez la valeur de l'ordre des colonnes du
> 0.
> Nom de colonne du serveur Nom de la colonne pris dans la table SQL
> Server. Il n'est pas indispensable d'employer le nom réel du champ. La
> condition requise est que le nom du champ dans fichier de format ne soit
> vide.
> Collation Classement utilisé pour stocker des caractères et des
> données Unicode dans le fichier de données de copie en bloc.
>
>
>
>
> Remarque Il est possible de ne pas importer une colonne de la table si
> champ n'existe pas dans le fichier de données en spécifiant la valeur 0
> les champs longueur de préfixe, longueur, ordre des colonnes du serveur
> en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
> champ de données n'existe pas dans le fichier de données, et que la
> sur le serveur doit pas charger de données.
>
>
> Copie sélective des données
> Un fichier de format vous offre le moyen de réaliser des copies
> de données en bloc à partir d'un fichier de données vers SQL Server.
> vous permet de transférer des données vers une table en cas de mauvaise
> correspondance entre les champs du fichier et les colonnes de la table.
> Cette approche peut être utilisée lorsque les champs du fichier sont :
>
> a.. inférieurs en nombre par rapport aux colonnes de la table ;
>
>
> b.. supérieurs en nombre par rapport aux colonnes de la table ;
>
>
> c.. dans un ordre différent de celui des colonnes de la table.
> En utilisant un fichier de format, il est possible de copier en bloc des
> données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
> inutilement des données, ou d'ordonner de nouveau des données existantes
> dans le fichier.
>
> Les trois rubriques suivantes contiennent des exemples de copie de
> sélective. En ce qui concerne les trois exemples suivants, vous devez au
> préalable faire une copie de la table authors, appelée authors2, dans la
> base de données pubs. Pour créer une copie de la table authors, vous
> exécuter ce qui suit :
>
> USE pubs
> GO
> SELECT * INTO authors2 FROM authors
> GO
>
> Voir aussi
>
> FormatFilePath Property
>
> ©1988-2000 Microsoft Corporation. Tous droits réservés.
> -----
>
>
>
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire un
remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:
> Bonjour,
>
> Je pense qu'il vous faut ajouter des options voir éventuellement créer
> fichier de format.
> Je vous copie l'aide MSDN pour cet outil.
> ------
>
> Administration de SQL Server
>
> Utilisation de fichiers de format
> Lors de la copie en bloc des données en mode interactif, l'utilitaire
> vous invite à enregistrer des informations relatives au type de
> longueur de préfixe et de champ et les indicateurs de fin de champ et de
> ligne. Le fichier utilisé pour stocker les informations de format pour
> chaque champ dans le fichier de données est appelé le fichier de format
>
> Do you want to save this format information in a file? [Y/n] y
> Host filename: [bcp.fmt]
> Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous
> spécifier un nom différent si vous le souhaitez.
>
> Ce fichier de format fournit les informations par défaut utilisées pour
> copie en bloc des données du fichier vers une instance de Microsoft® SQL
> ServerT ou la copie en bloc ultérieure des données de la table sans
> spécifier de nouveau le format. Lors de la copie en bloc des données
> à partir d'une instance de SQL Server avec un fichier de format
> l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
> type de stockage du fichier, la longueur de préfixe ou l'indicateur de
> de champ, car ces valeurs ont déjà été enregistrées.
>
> Pour utiliser un fichier de format créé précédemment lors de
> de données vers une instance de SQL Server, vous devez utiliser le
> commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
> l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
> contenu du fichier New_auth.dat vers la table authors2 de la base de
> pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt)
> suivante :
>
> bcp pubs..authors2 in
> c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
> L'instruction BULK INSERT peut utiliser les fichiers de format
> par l'utilitaire bcp. Exemple :
>
> BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
> WITH (FORMATFILE = 'c:authors.fmt')
> Le fichier de format est un fichier texte délimité par des tabulations
> doté d'une structure particulière.
>
>
>
> Le tableau suivant décrit les structures de format de fichier.
>
> Champ Description
> Version Numéro de version de bcp.
> Nombre de champs Nombre de champs dans le fichier de données. Il
> être identique pour toutes les lignes.
> Ordre des champs du fichier hôte Position de chaque champ dans le
> fichier de données. Le premier champ de la ligne correspond à la valeur
> etc.
> Type de données du fichier hôte Type de données stockées dans le
> particulier du fichier de données. Avec les fichiers de données ASCII,
> utilisez SQLCHAR ; pour les fichiers de données au format natif,
> les types de données par défaut. Pour plus d'informations, voir Type de
> stockage de fichier.
> Longueur de préfixe Nombre de caractères du préfixe de longueur
> le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
> Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
> préfixe de longueur doit être spécifié si le champ contient des valeurs
> données NULL. Pour plus d'informations, voir Longueur de préfixe.
> Longueur des données du fichier hôte Longueur maximale, en octets,
> type des données stockées dans le champ particulier du fichier de
> Pour plus d'informations, voir Longueur du champ.
> Indicateur de fin Caractère de séparation utilisé pour délimiter
> champs dans un fichier de données. Les indicateurs de fin communs sont
> virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
> d'informations, voir Indicateur de fin de champ.
> Ordre des colonnes du serveur Ordre dans lequel les colonnes
> apparaissent dans la table SQL Server . Par exemple, si le quatrième
> du fichier de données est mappé sur la sixième colonne d'une table SQL
> Server, alors la valeur de l'ordre des colonnes du serveur pour le
> champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
> du fichier de données, fixez la valeur de l'ordre des colonnes du
> 0.
> Nom de colonne du serveur Nom de la colonne pris dans la table SQL
> Server. Il n'est pas indispensable d'employer le nom réel du champ. La
> condition requise est que le nom du champ dans fichier de format ne soit
> vide.
> Collation Classement utilisé pour stocker des caractères et des
> données Unicode dans le fichier de données de copie en bloc.
>
>
>
>
> Remarque Il est possible de ne pas importer une colonne de la table si
> champ n'existe pas dans le fichier de données en spécifiant la valeur 0
> les champs longueur de préfixe, longueur, ordre des colonnes du serveur
> en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
> champ de données n'existe pas dans le fichier de données, et que la
> sur le serveur doit pas charger de données.
>
>
> Copie sélective des données
> Un fichier de format vous offre le moyen de réaliser des copies
> de données en bloc à partir d'un fichier de données vers SQL Server.
> vous permet de transférer des données vers une table en cas de mauvaise
> correspondance entre les champs du fichier et les colonnes de la table.
> Cette approche peut être utilisée lorsque les champs du fichier sont :
>
> a.. inférieurs en nombre par rapport aux colonnes de la table ;
>
>
> b.. supérieurs en nombre par rapport aux colonnes de la table ;
>
>
> c.. dans un ordre différent de celui des colonnes de la table.
> En utilisant un fichier de format, il est possible de copier en bloc des
> données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
> inutilement des données, ou d'ordonner de nouveau des données existantes
> dans le fichier.
>
> Les trois rubriques suivantes contiennent des exemples de copie de
> sélective. En ce qui concerne les trois exemples suivants, vous devez au
> préalable faire une copie de la table authors, appelée authors2, dans la
> base de données pubs. Pour créer une copie de la table authors, vous
> exécuter ce qui suit :
>
> USE pubs
> GO
> SELECT * INTO authors2 FROM authors
> GO
>
> Voir aussi
>
> FormatFilePath Property
>
> ©1988-2000 Microsoft Corporation. Tous droits réservés.
> -----
>
>
>
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire un
remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:
> Bonjour,
>
> Je pense qu'il vous faut ajouter des options voir éventuellement créer
> fichier de format.
> Je vous copie l'aide MSDN pour cet outil.
> ------
>
> Administration de SQL Server
>
> Utilisation de fichiers de format
> Lors de la copie en bloc des données en mode interactif, l'utilitaire
> vous invite à enregistrer des informations relatives au type de
> longueur de préfixe et de champ et les indicateurs de fin de champ et de
> ligne. Le fichier utilisé pour stocker les informations de format pour
> chaque champ dans le fichier de données est appelé le fichier de format
>
> Do you want to save this format information in a file? [Y/n] y
> Host filename: [bcp.fmt]
> Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous
> spécifier un nom différent si vous le souhaitez.
>
> Ce fichier de format fournit les informations par défaut utilisées pour
> copie en bloc des données du fichier vers une instance de Microsoft® SQL
> ServerT ou la copie en bloc ultérieure des données de la table sans
> spécifier de nouveau le format. Lors de la copie en bloc des données
> à partir d'une instance de SQL Server avec un fichier de format
> l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
> type de stockage du fichier, la longueur de préfixe ou l'indicateur de
> de champ, car ces valeurs ont déjà été enregistrées.
>
> Pour utiliser un fichier de format créé précédemment lors de
> de données vers une instance de SQL Server, vous devez utiliser le
> commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
> l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
> contenu du fichier New_auth.dat vers la table authors2 de la base de
> pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt)
> suivante :
>
> bcp pubs..authors2 in
> c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
> L'instruction BULK INSERT peut utiliser les fichiers de format
> par l'utilitaire bcp. Exemple :
>
> BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
> WITH (FORMATFILE = 'c:authors.fmt')
> Le fichier de format est un fichier texte délimité par des tabulations
> doté d'une structure particulière.
>
>
>
> Le tableau suivant décrit les structures de format de fichier.
>
> Champ Description
> Version Numéro de version de bcp.
> Nombre de champs Nombre de champs dans le fichier de données. Il
> être identique pour toutes les lignes.
> Ordre des champs du fichier hôte Position de chaque champ dans le
> fichier de données. Le premier champ de la ligne correspond à la valeur
> etc.
> Type de données du fichier hôte Type de données stockées dans le
> particulier du fichier de données. Avec les fichiers de données ASCII,
> utilisez SQLCHAR ; pour les fichiers de données au format natif,
> les types de données par défaut. Pour plus d'informations, voir Type de
> stockage de fichier.
> Longueur de préfixe Nombre de caractères du préfixe de longueur
> le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
> Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
> préfixe de longueur doit être spécifié si le champ contient des valeurs
> données NULL. Pour plus d'informations, voir Longueur de préfixe.
> Longueur des données du fichier hôte Longueur maximale, en octets,
> type des données stockées dans le champ particulier du fichier de
> Pour plus d'informations, voir Longueur du champ.
> Indicateur de fin Caractère de séparation utilisé pour délimiter
> champs dans un fichier de données. Les indicateurs de fin communs sont
> virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
> d'informations, voir Indicateur de fin de champ.
> Ordre des colonnes du serveur Ordre dans lequel les colonnes
> apparaissent dans la table SQL Server . Par exemple, si le quatrième
> du fichier de données est mappé sur la sixième colonne d'une table SQL
> Server, alors la valeur de l'ordre des colonnes du serveur pour le
> champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
> du fichier de données, fixez la valeur de l'ordre des colonnes du
> 0.
> Nom de colonne du serveur Nom de la colonne pris dans la table SQL
> Server. Il n'est pas indispensable d'employer le nom réel du champ. La
> condition requise est que le nom du champ dans fichier de format ne soit
> vide.
> Collation Classement utilisé pour stocker des caractères et des
> données Unicode dans le fichier de données de copie en bloc.
>
>
>
>
> Remarque Il est possible de ne pas importer une colonne de la table si
> champ n'existe pas dans le fichier de données en spécifiant la valeur 0
> les champs longueur de préfixe, longueur, ordre des colonnes du serveur
> en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
> champ de données n'existe pas dans le fichier de données, et que la
> sur le serveur doit pas charger de données.
>
>
> Copie sélective des données
> Un fichier de format vous offre le moyen de réaliser des copies
> de données en bloc à partir d'un fichier de données vers SQL Server.
> vous permet de transférer des données vers une table en cas de mauvaise
> correspondance entre les champs du fichier et les colonnes de la table.
> Cette approche peut être utilisée lorsque les champs du fichier sont :
>
> a.. inférieurs en nombre par rapport aux colonnes de la table ;
>
>
> b.. supérieurs en nombre par rapport aux colonnes de la table ;
>
>
> c.. dans un ordre différent de celui des colonnes de la table.
> En utilisant un fichier de format, il est possible de copier en bloc des
> données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
> inutilement des données, ou d'ordonner de nouveau des données existantes
> dans le fichier.
>
> Les trois rubriques suivantes contiennent des exemples de copie de
> sélective. En ce qui concerne les trois exemples suivants, vous devez au
> préalable faire une copie de la table authors, appelée authors2, dans la
> base de données pubs. Pour créer une copie de la table authors, vous
> exécuter ce qui suit :
>
> USE pubs
> GO
> SELECT * INTO authors2 FROM authors
> GO
>
> Voir aussi
>
> FormatFilePath Property
>
> ©1988-2000 Microsoft Corporation. Tous droits réservés.
> -----
>
>
>
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
A ben si les fichiers MSDN sont faux maintenant :)))
A qui peut-on faire confiance :)
Je retire donc ma réponse du fil :)
Fabrice
"Fred BROUARD" a écrit dans le message de
news:Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
(image)contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
tabled'import dont les colonnes ne sont pas typées (VARCHAR) et de faire un
remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer
unfichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire
bcpvous invite à enregistrer des informations relatives au type de
stockage,longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format
:Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous
pouvezspécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour
lacopie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans
avoir àspécifier de nouveau le format. Lors de la copie en bloc des données
vers ouà partir d'une instance de SQL Server avec un fichier de format
existant,l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
letype de stockage du fichier, la longueur de préfixe ou l'indicateur de
finde champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de
l'importationde données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de
donnéespubs à l'aide d'un fichier de format préalablement créé (Authors.fmt)
est lasuivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format
sauvegardéspar l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations
etdoté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il
doitêtre identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur
1,etc.
Type de données du fichier hôte Type de données stockées dans le
champparticulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif,
utilisezles types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur
pourle champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
4.Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
Unpréfixe de longueur doit être spécifié si le champ contient des valeurs
dedonnées NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets,
dutype des données stockées dans le champ particulier du fichier de
données.Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter
leschamps dans un fichier de données. Les indicateurs de fin communs sont
lavirgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième
champdu fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le
quatrièmechamp est 6. Pour éviter qu'une colonne dans la table ne reçoive des
donnéesdu fichier de données, fixez la valeur de l'ordre des colonnes du
serveur à0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La
seulecondition requise est que le nom du champ dans fichier de format ne soit
pasvide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si
lechamp n'existe pas dans le fichier de données en spécifiant la valeur 0
pourles champs longueur de préfixe, longueur, ordre des colonnes du serveur
eten ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
lechamp de données n'existe pas dans le fichier de données, et que la
colonnesur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies
sélectivesde données en bloc à partir d'un fichier de données vers SQL Server.
Celavous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
supprimerinutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de
donnéessélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous
devezexécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
A ben si les fichiers MSDN sont faux maintenant :)))
A qui peut-on faire confiance :)
Je retire donc ma réponse du fil :)
Fabrice
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news:OeOklFx0FHA.3720@TK2MSFTNGP14.phx.gbl...
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
(image)
contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
table
d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire un
remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:
Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer
un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire
bcp
vous invite à enregistrer des informations relatives au type de
stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format
:
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous
pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour
la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans
avoir à
spécifier de nouveau le format. Lors de la copie en bloc des données
vers ou
à partir d'une instance de SQL Server avec un fichier de format
existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de
fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de
l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de
données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt)
est la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format
sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations
et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il
doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur
1,
etc.
Type de données du fichier hôte Type de données stockées dans le
champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif,
utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur
pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
Un
préfixe de longueur doit être spécifié si le champ contient des valeurs
de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets,
du
type des données stockées dans le champ particulier du fichier de
données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter
les
champs dans un fichier de données. Les indicateurs de fin communs sont
la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième
champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le
quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
données
du fichier de données, fixez la valeur de l'ordre des colonnes du
serveur à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La
seule
condition requise est que le nom du champ dans fichier de format ne soit
pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si
le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0
pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur
et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
le
champ de données n'existe pas dans le fichier de données, et que la
colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies
sélectives
de données en bloc à partir d'un fichier de données vers SQL Server.
Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de
données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous
devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
A ben si les fichiers MSDN sont faux maintenant :)))
A qui peut-on faire confiance :)
Je retire donc ma réponse du fil :)
Fabrice
"Fred BROUARD" a écrit dans le message de
news:Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
(image)contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
tabled'import dont les colonnes ne sont pas typées (VARCHAR) et de faire un
remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer
unfichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire
bcpvous invite à enregistrer des informations relatives au type de
stockage,longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format
:Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous
pouvezspécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour
lacopie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans
avoir àspécifier de nouveau le format. Lors de la copie en bloc des données
vers ouà partir d'une instance de SQL Server avec un fichier de format
existant,l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
letype de stockage du fichier, la longueur de préfixe ou l'indicateur de
finde champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de
l'importationde données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de
donnéespubs à l'aide d'un fichier de format préalablement créé (Authors.fmt)
est lasuivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format
sauvegardéspar l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations
etdoté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il
doitêtre identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur
1,etc.
Type de données du fichier hôte Type de données stockées dans le
champparticulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif,
utilisezles types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur
pourle champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
4.Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
Unpréfixe de longueur doit être spécifié si le champ contient des valeurs
dedonnées NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets,
dutype des données stockées dans le champ particulier du fichier de
données.Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter
leschamps dans un fichier de données. Les indicateurs de fin communs sont
lavirgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième
champdu fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le
quatrièmechamp est 6. Pour éviter qu'une colonne dans la table ne reçoive des
donnéesdu fichier de données, fixez la valeur de l'ordre des colonnes du
serveur à0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La
seulecondition requise est que le nom du champ dans fichier de format ne soit
pasvide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si
lechamp n'existe pas dans le fichier de données en spécifiant la valeur 0
pourles champs longueur de préfixe, longueur, ordre des colonnes du serveur
eten ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
lechamp de données n'existe pas dans le fichier de données, et que la
colonnesur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies
sélectivesde données en bloc à partir d'un fichier de données vers SQL Server.
Celavous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
supprimerinutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de
donnéessélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous
devezexécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
(image) contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
table d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire
un remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire bcp
vous invite à enregistrer des informations relatives au type de stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format :
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour
la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans avoir
à
spécifier de nouveau le format. Lors de la copie en bloc des données vers
ou
à partir d'une instance de SQL Server avec un fichier de format existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de
fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de
l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de
données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt) est
la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format
sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il
doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur
1,
etc.
Type de données du fichier hôte Type de données stockées dans le
champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur
pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
Un
préfixe de longueur doit être spécifié si le champ contient des valeurs
de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets,
du
type des données stockées dans le champ particulier du fichier de
données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter
les
champs dans un fichier de données. Les indicateurs de fin communs sont la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième
champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le
quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
données
du fichier de données, fixez la valeur de l'ordre des colonnes du serveur
à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La
seule
condition requise est que le nom du champ dans fichier de format ne soit
pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si
le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0
pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur
et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
le
champ de données n'existe pas dans le fichier de données, et que la
colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies
sélectives
de données en bloc à partir d'un fichier de données vers SQL Server. Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de
données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous
devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
(image) contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
table d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire
un remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:
Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire bcp
vous invite à enregistrer des informations relatives au type de stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format :
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour
la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans avoir
à
spécifier de nouveau le format. Lors de la copie en bloc des données vers
ou
à partir d'une instance de SQL Server avec un fichier de format existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de
fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de
l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de
données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt) est
la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format
sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il
doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur
1,
etc.
Type de données du fichier hôte Type de données stockées dans le
champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur
pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
Un
préfixe de longueur doit être spécifié si le champ contient des valeurs
de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets,
du
type des données stockées dans le champ particulier du fichier de
données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter
les
champs dans un fichier de données. Les indicateurs de fin communs sont la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième
champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le
quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
données
du fichier de données, fixez la valeur de l'ordre des colonnes du serveur
à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La
seule
condition requise est que le nom du champ dans fichier de format ne soit
pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si
le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0
pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur
et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
le
champ de données n'existe pas dans le fichier de données, et que la
colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies
sélectives
de données en bloc à partir d'un fichier de données vers SQL Server. Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de
données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous
devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Attention Fabrice, le fichier donné en exemple dans l'aide en ligne
(image) contient des erreurs !
Pour ce qui est de ton problème "peugeot 404" il faudrait passer par une
table d'import dont les colonnes ne sont pas typées (VARCHAR) et de faire
un remplacement des caractères virgule par point à l'aide d'un UPDATE.
A +
Romelard Fabrice [MVP] a écrit:Bonjour,
Je pense qu'il vous faut ajouter des options voir éventuellement créer un
fichier de format.
Je vous copie l'aide MSDN pour cet outil.
------
Administration de SQL Server
Utilisation de fichiers de format
Lors de la copie en bloc des données en mode interactif, l'utilitaire bcp
vous invite à enregistrer des informations relatives au type de stockage,
longueur de préfixe et de champ et les indicateurs de fin de champ et de
ligne. Le fichier utilisé pour stocker les informations de format pour
chaque champ dans le fichier de données est appelé le fichier de format :
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]
Bien que le nom par défaut du fichier de format soit Bcp.fmt, vous pouvez
spécifier un nom différent si vous le souhaitez.
Ce fichier de format fournit les informations par défaut utilisées pour
la
copie en bloc des données du fichier vers une instance de Microsoft® SQL
ServerT ou la copie en bloc ultérieure des données de la table sans avoir
à
spécifier de nouveau le format. Lors de la copie en bloc des données vers
ou
à partir d'une instance de SQL Server avec un fichier de format existant,
l'utilitaire bcp ne vous invite pas à fournir d'informations concernant
le
type de stockage du fichier, la longueur de préfixe ou l'indicateur de
fin
de champ, car ces valeurs ont déjà été enregistrées.
Pour utiliser un fichier de format créé précédemment lors de
l'importation
de données vers une instance de SQL Server, vous devez utiliser le
commutateur -f avec l'utilitaire bcp ou la clause FORMATFILE avec
l'instruction BULK INSERT. Par exemple, la commande de copie en bloc du
contenu du fichier New_auth.dat vers la table authors2 de la base de
données
pubs à l'aide d'un fichier de format préalablement créé (Authors.fmt) est
la
suivante :
bcp pubs..authors2 in
c:new_auth.dat -fc:authors.fmt -Sservername -Usa -Ppassword
L'instruction BULK INSERT peut utiliser les fichiers de format
sauvegardés
par l'utilitaire bcp. Exemple :
BULK INSERT pubs..authors2 FROM 'c:new_auth.dat'
WITH (FORMATFILE = 'c:authors.fmt')
Le fichier de format est un fichier texte délimité par des tabulations et
doté d'une structure particulière.
Le tableau suivant décrit les structures de format de fichier.
Champ Description
Version Numéro de version de bcp.
Nombre de champs Nombre de champs dans le fichier de données. Il
doit
être identique pour toutes les lignes.
Ordre des champs du fichier hôte Position de chaque champ dans le
fichier de données. Le premier champ de la ligne correspond à la valeur
1,
etc.
Type de données du fichier hôte Type de données stockées dans le
champ
particulier du fichier de données. Avec les fichiers de données ASCII,
utilisez SQLCHAR ; pour les fichiers de données au format natif, utilisez
les types de données par défaut. Pour plus d'informations, voir Type de
stockage de fichier.
Longueur de préfixe Nombre de caractères du préfixe de longueur
pour
le champ Les longueurs de préfixe autorisées sont les valeurs 0, 1, 2 et
4.
Pour éviter de spécifier le préfixe de longueur, donnez-lui la valeur 0.
Un
préfixe de longueur doit être spécifié si le champ contient des valeurs
de
données NULL. Pour plus d'informations, voir Longueur de préfixe.
Longueur des données du fichier hôte Longueur maximale, en octets,
du
type des données stockées dans le champ particulier du fichier de
données.
Pour plus d'informations, voir Longueur du champ.
Indicateur de fin Caractère de séparation utilisé pour délimiter
les
champs dans un fichier de données. Les indicateurs de fin communs sont la
virgule (,), la tabulation (t), et la fin de ligne (rn). Pour plus
d'informations, voir Indicateur de fin de champ.
Ordre des colonnes du serveur Ordre dans lequel les colonnes
apparaissent dans la table SQL Server . Par exemple, si le quatrième
champ
du fichier de données est mappé sur la sixième colonne d'une table SQL
Server, alors la valeur de l'ordre des colonnes du serveur pour le
quatrième
champ est 6. Pour éviter qu'une colonne dans la table ne reçoive des
données
du fichier de données, fixez la valeur de l'ordre des colonnes du serveur
à
0.
Nom de colonne du serveur Nom de la colonne pris dans la table SQL
Server. Il n'est pas indispensable d'employer le nom réel du champ. La
seule
condition requise est que le nom du champ dans fichier de format ne soit
pas
vide.
Collation Classement utilisé pour stocker des caractères et des
données Unicode dans le fichier de données de copie en bloc.
Remarque Il est possible de ne pas importer une colonne de la table si
le
champ n'existe pas dans le fichier de données en spécifiant la valeur 0
pour
les champs longueur de préfixe, longueur, ordre des colonnes du serveur
et
en ne spécifiant pas d'indicateur de fin. Ceci établit effectivement que
le
champ de données n'existe pas dans le fichier de données, et que la
colonne
sur le serveur doit pas charger de données.
Copie sélective des données
Un fichier de format vous offre le moyen de réaliser des copies
sélectives
de données en bloc à partir d'un fichier de données vers SQL Server. Cela
vous permet de transférer des données vers une table en cas de mauvaise
correspondance entre les champs du fichier et les colonnes de la table.
Cette approche peut être utilisée lorsque les champs du fichier sont :
a.. inférieurs en nombre par rapport aux colonnes de la table ;
b.. supérieurs en nombre par rapport aux colonnes de la table ;
c.. dans un ordre différent de celui des colonnes de la table.
En utilisant un fichier de format, il est possible de copier en bloc des
données dans SQL Server sans qu'il soit nécessaire d'ajouter ou de
supprimer
inutilement des données, ou d'ordonner de nouveau des données existantes
dans le fichier.
Les trois rubriques suivantes contiennent des exemples de copie de
données
sélective. En ce qui concerne les trois exemples suivants, vous devez au
préalable faire une copie de la table authors, appelée authors2, dans la
base de données pubs. Pour créer une copie de la table authors, vous
devez
exécuter ce qui suit :
USE pubs
GO
SELECT * INTO authors2 FROM authors
GO
Voir aussi
FormatFilePath Property
©1988-2000 Microsoft Corporation. Tous droits réservés.
-----
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************