Partager via


Création d'un fichier de format

Lorsque vous importez en bloc dans une table SQL Server ou exportez des données en bloc depuis une table, utilisez un fichier de format pour stocker les informations de format pour chaque champ dans un fichier de données relatif à cette table. Un fichier de format fournit un système souple d'écriture de fichiers de données, nécessitant peu ou aucune édition pour se conformer aux autres formats de données, ou de lecture de fichiers de données provenant d'autres logiciels.

SQL Server 2005 prend en charge deux types de fichiers de format : le format XML et le format non XML. Le format non XML est le format d'origine pris en charge dans les versions précédentes de SQL Server. En règle générale, dans SQL Server 2005, les fichiers de format XML et non XML sont interchangeables. Toutefois, nous recommandons d'utiliser la syntaxe XML pour des nouveaux fichiers de format, car ils offrent plusieurs avantages par rapport aux fichiers de format non XML. Pour plus d'informations, consultez Introduction aux fichiers de format.

ms191516.note(fr-fr,SQL.90).gifRemarque :
La version de l'utilitaire bcp (Bcp.exe) servant à lire un fichier de format doit être identique ou ultérieure à la version utilisée pour créer le fichier de format. Par exemple, SQL Server 2005 bcp peut lire un fichier de format version 8.0 généré par SQL Server 2000 bcp, mais SQL Server 2000 bcp ne peut pas lire un fichier de format version 9.0 généré par SQL Server 2005 bcp.

Cette rubrique décrit l'utilisation de l'utilitaire bcp pour créer un fichier de format pour une table donnée. Le fichier de format est basé sur l'option de type de données spécifiée (-n, -c, -w, -6, ou -N) et les délimiteurs de la table ou de la vue.

Création d'un fichier de format non XML

Pour créer un fichier de format à l'aide d'une commande bcp, spécifiez l'argument format et utilisez nul à la place d'un chemin d'accès de fichier de données. L'option format nécessite aussi l'option -f, telle que :

bcptable_or_viewformat nul -fformat_file_name

ms191516.note(fr-fr,SQL.90).gifRemarque :
Pour bien distinguer un fichier au format non XML, nous vous recommandons d'utiliser l'extension de nom de fichier .fmt, par exemple, MaTable.fmt.

Pour plus d'informations sur la structure et les champs des fichiers de format non XML, consultez Description des fichiers de format non XML.

Exemples

Cette section contient les exemples suivants qui illustrent l'utilisation des commandes bcp pour créer un fichier de format non XML :

  • A. Création d'un fichier de format non XML pour des données natives
  • B. Création d'un fichier de format non XML pour des données de type caractère
  • C. Création d'un fichier de format non XML pour des données Unicode natives
  • D. Création d'un fichier de format non XML pour des données Unicode de type caractère

Ces exemples créent la table HumanResources.Department dans l'exemple de base de données AdventureWorks. La table HumanResources.Department contient quatre colonnes : DepartmentID, Name, GroupName, et ModifiedDate. Pour obtenir la description de cette table, consultez Table Department (AdventureWorks).

ms191516.note(fr-fr,SQL.90).gifRemarque :
Adventure Works Cycles est une société de fabrication fictive utilisée pour illustrer des scénarios et des concepts de base de données.

A. Création d'un fichier de format non XML pour des données natives

L'exemple suivant crée un fichier de format XML appelé Department-n.xml et destiné à la table AdventureWorks``HumanResources.Department. Le fichier de format utilise des types de données natives. Le contenu du fichier ainsi généré vous est présenté après la commande.

La commande bcp contient les qualificateurs suivants.

Qualificateurs Description 

formatnul-fformat_file

Format de fichier non XML.

-n

Indication des types de données natives.

-T

Spécifie que l'utilitaire bcp se connecte à SQL Server avec une connexion approuvée utilisant la sécurité intégrée. Si le commutateur -T n'est pas fourni, vous devez indiquer -U et -P afin d'ouvrir correctement une session.

Dans la fenêtre d'invite de commandes Windows, tapez la commande bcp suivante :

bcp AdventureWorks.HumanResources.Department format nul -T -n -f Department-n.fmt

Le fichier de format généré, Department-n.fmt, contient les informations suivantes :

9.0
4
1       SQLSMALLINT   0       2       ""   1     DepartmentID                 ""
2       SQLNCHAR      2       100     ""   2     Name                         SQL_Latin1_General_CP1_CI_AS
3       SQLNCHAR      2       100     ""   3     GroupName                    SQL_Latin1_General_CP1_CI_AS
4       SQLDATETIME   0       8       ""   4     ModifiedDate                 ""

Pour plus d'informations, consultez Description des fichiers de format non XML.

B. Création d'un fichier de format non XML pour des données de type caractère

L'exemple suivant crée un fichier de format XML appelé Department.fmt et destiné à la table AdventureWorks``HumanResources.Department. Le fichier de format utilise les formats de données de type caractère ainsi qu'un indicateur de fin de champ qui n'est pas défini par défaut (,). Le contenu du fichier ainsi généré vous est présenté après la commande.

La commande bcp contient les qualificateurs suivants.

Qualificateurs Description 

formatnul-fformat_file

Format de fichier non XML.

-c

Données de type caractère.

-T

Spécifie que l'utilitaire bcp se connecte à SQL Server avec une connexion approuvée utilisant la sécurité intégrée. Si le commutateur -T n'est pas fourni, vous devez indiquer -U et -P afin d'ouvrir correctement une session.

Dans la fenêtre d'invite de commandes Windows, tapez la commande bcp suivante :

bcp AdventureWorks.HumanResources.Department format nul -c -f Department-c.fmt -T

Le fichier de format généré, Department-c.fmt, contient les informations suivantes :

9.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID                 ""
2       SQLCHAR       0       100     "\t"     2     Name                         SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName                    SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate                 ""

Pour plus d'informations, consultez Description des fichiers de format non XML.

C. Création d'un fichier de format non XML pour des données Unicode natives

Pour créer un fichier de format non XML pour des données Unicode natives destinées à la table HumanResources.Department, utilisez la commande suivante :

bcp AdventureWorks.HumanResources.Department format nul -T -N -f Department-n.fmt

Pour plus d'informations sur l'utilisation des données natives Unicode, consultez Utilisation du format natif Unicode pour importer ou exporter des données.

D. Création d'un fichier de format non XML pour des données Unicode de type caractère

Pour créer un fichier de format non XML pour des données Unicode de type caractère, s'appuyant sur des indicateurs de fin définis par défaut et destinées à la table HumanResources.Department, utilisez la commande suivante :

bcp AdventureWorks.HumanResources.Department format nul -T -w -f Department-w.fmt

Pour plus d'informations sur l'utilisation des données de caractères Unicode, consultez Utilisation du format caractère Unicode pour importer ou exporter des données.

Création d'un fichier de format XML

Pour créer un fichier de format à l'aide d'une commande bcp, spécifiez l'argument format et utilisez nul à la place d'un chemin d'accès de fichier de données. L'option format nécessite toujours l'option -f ; la création d'un fichier de format XML nécessite également l'option -x, comme suit :

bcptable_or_viewformat nul-fformat_file_name-x

ms191516.note(fr-fr,SQL.90).gifRemarque :
Pour bien distinguer un fichier de format XML, nous vous recommandons d'utiliser l'extension de nom de fichier .xml, par exemple, MaTable.xml.

Pour plus d'informations sur la structure et les champs des fichiers de format non XML, consultez Description des fichiers de format XML.

Exemples

Cette section contient les exemples suivants qui illustrent l'utilisation des commandes bcp pour créer un fichier de format XML :

  • A. Création d'un fichier de format XML pour des données de type caractère
  • B. Création d'un fichier de format XML pour des données natives

Ces exemples créent la table HumanResources.Department dans l'exemple de base de données AdventureWorks. La table HumanResources.Department contient quatre colonnes : DepartmentID, Name, GroupName, et ModifiedDate. Pour obtenir la description de cette table, consultez Table Department (AdventureWorks).

ms191516.note(fr-fr,SQL.90).gifRemarque :
Adventure Works Cycles est une société de fabrication fictive utilisée pour illustrer des scénarios et des concepts de base de données.

A. Création d'un fichier de format XML pour des données de type caractère

L'exemple suivant crée un fichier de format XML appelé Department.xml et destiné à la table AdventureWorks``HumanResources.Department. Le fichier de format utilise les formats de données de type caractère ainsi qu'un indicateur de fin de champ qui n'est pas défini par défaut (,). Le contenu du fichier ainsi généré vous est présenté après la commande.

La commande bcp contient les qualificateurs suivants.

Qualificateurs

Description 

formatnul-fformat_file-x

Format de fichier XML.

-c

Données de type caractère.

-t,

Virgule (,) servant d'indicateur de fin de champ.

ms191516.note(fr-fr,SQL.90).gifRemarque :

Si le fichier de données utilise l'indicateur de fin de champ défini par défaut (à savoir \t), le commutateur -t n'est alors pas nécessaire.

-T

Spécifie que l'utilitaire bcp se connecte à SQL Server avec une connexion approuvée utilisant la sécurité intégrée. Si le commutateur -T n'est pas fourni, vous devez indiquer -U et -P afin d'ouvrir correctement une session.

Dans la fenêtre d'invite de commandes Windows, tapez la commande bcp suivante :

bcp AdventureWorks.HumanResources.Department format nul -c -x -f Department-c..xml –t, -T

Le fichier de format généré Department-c.xml contient les éléments XML suivants :

<?xml version="1.0"?>
<BCPFORMAT xmlns="https://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
 </ROW>
</BCPFORMAT>

Pour obtenir des informations sur la syntaxe de ce fichier de format, consultez Syntaxe de schéma pour les fichiers de format XML. Pour plus d'informations sur les données de type caractère, consultez Utilisation du format caractère pour importer ou exporter des données.

B. Création d'un fichier de format XML pour des données natives

L'exemple suivant crée un fichier de format XML appelé Department-n.xml et destiné à la table AdventureWorks``HumanResources.Department. Le fichier de format utilise des types de données natives. Le contenu du fichier ainsi généré vous est présenté après la commande.

La commande bcp contient les qualificateurs suivants.

Qualificateurs Description 

formatnul-fformat_file-x

Format de fichier XML.

-n

Indication des types de données natives.

-T

Spécifie que l'utilitaire bcp se connecte à SQL Server avec une connexion approuvée utilisant la sécurité intégrée. Si le commutateur -T n'est pas fourni, vous devez indiquer -U et -P afin d'ouvrir correctement une session.

Dans la fenêtre d'invite de commandes Windows, tapez la commande bcp suivante :

bcp AdventureWorks.HumanResources.Department format nul -x -f Department-n..xml -n -T

Le fichier de format généré Department-n.xml contient les éléments XML suivants :

<?xml version="1.0"?>
<BCPFORMAT xmlns="https://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="NativeFixed" LENGTH="2"/>
  <FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="NativeFixed" LENGTH="8"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
 </ROW>
</BCPFORMAT>

Pour obtenir des informations sur la syntaxe de ce fichier de format, consultez Syntaxe de schéma pour les fichiers de format XML. Pour plus d'informations sur l'utilisation des données natives, consultez Utilisation du format natif pour importer ou exporter des données.

Mappage des champs de données aux colonnes de table

Lorsqu'il est créé par bcp, un fichier de format décrit toutes les colonnes de table dans l'ordre. Vous pouvez modifier ce fichier pour réorganiser ou omettre des lignes de la table. Vous pouvez ainsi personnaliser un fichier de format en fonction d'un fichier de données dont les champs ne sont pas mappés directement aux colonnes de table. Pour plus d'informations, consultez les rubriques suivantes :

Voir aussi

Concepts

Exemples de fichiers de format XML
Utilisation d'un fichier de format pour mapper les colonnes d'une table sur les champs d'un fichier de données
Utilisation d'un fichier de format pour ignorer une colonne de table
Utilisation d'un fichier de format pour ignorer un champ de données
Description des fichiers de format non XML
Description des fichiers de format XML

Autres ressources

Utilitaire bcp

Aide et Informations

Assistance sur SQL Server 2005