Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Le type de stockage de fichier décrit la façon dont les données sont stockées dans le fichier de données. Les données peuvent être exportées vers un fichier de données correspondant à son type de table de base de données (format natif), dans sa représentation caractère (format caractère) ou en tant que tout type de données pour lequel la conversion implicite est prise en charge, par exemple, en copiant un smallint comme int. Les types de données définis par l'utilisateur sont exportés comme leurs types de base.
L'invite bcp pour le type de stockage de fichiers
Si une commande bcp interactive contient l’option in ou out sans le commutateur de fichier de format (-f) ou un commutateur de format de données (-n, -c, -w, ou -N), la commande demande le type de stockage de fichier de chaque champ de données, comme suit :
Enter the file storage type of field <field_name> [<default>]:
Votre réponse à cette invite dépend de la tâche effectuée :
Pour exporter des données en bloc d’une instance de Microsoft SQL Server vers un fichier de données au format de stockage le plus compact possible (format de données natif), vous devez accepter les types de stockage de fichier par défaut fournis par l’utilitaire bcp. Pour la liste des types de stockage de fichier natifs, consultez la section « Types de stockage de fichier natifs » plus loin dans cette rubrique.
Pour exporter en bloc des données d’une instance de SQL Server vers un fichier de données au format caractère, spécifiez le paramètre char comme type de stockage de fichier pour toutes les colonnes de la table.
Pour importer en bloc des données dans une instance de SQL Server à partir d’un fichier de données, spécifiez le type de stockage de fichier char pour les types stockés au format caractère et, pour les données stockées dans le format de type de données natif, spécifiez l’un des types de stockage de fichier appropriés :
type de stockage de fichier Tapez à l'invite de commande char c[har]varchar c[har]nchar wnvarchar wtexte T[ext]ntext2 Wbinary xvarbinary ximage I[mage]datetime d[ate]smalldatetime Dtime tedate dedatetime2 d2datetimeoffset dodecimal nnumeric nfloat f[loat]real rInt i[nt]bigint B[igint]smallint s[mallint]tinyint t[inyint]money m[oney]smallmoney Mbit b[it]uniqueidentifier usql_variant V[ariant]timestamp xUDT (type de données défini par l’utilisateur) UXML Xvector v[ector]*L’interaction entre la longueur de champ, la longueur de préfixe et les terminateurs détermine la quantité d’espace de stockage alloué dans un fichier de données pour des données autres que des caractères exportées en tant que type de stockage de fichier char.
** Les types de données ntext, textet image seront supprimés dans une future version de SQL Server. Dans un nouveau travail de développement, évitez ces types de données et prévoyez la modification des applications qui les utilisent actuellement. Utilisez plutôt les types de données nvarchar(max), varchar(max)et varbinary(max) .
Types de stockage de fichiers natifs
Chaque type de stockage de fichier natif est enregistré dans le fichier de format comme un type de données du fichier hôte correspondant.
| type de stockage de fichier | Type de données du fichier hôte |
|---|---|
| char | SQLCHAR |
| varchar | SQLCHAR |
| nchar | SQLNCHAR |
| nvarchar | SQLNCHAR |
| texte | SQLCHAR |
| ntext | SQLNCHAR |
| binary | SQLBINARY |
| varbinary | SQLBINARY |
| image | SQLBINARY |
| datetime | SQLDATETIME |
| smalldatetime | SQLDATETIM4 |
| decimal | SQLDECIMAL |
| numeric | SQLNUMERIC |
| float | SQLFLT8 |
| real | SQLFLT4 |
| int | SQLINT |
| bigint | SQLBIGINT |
| smallint | SQLSMALLINT |
| tinyint | SQLTINYINT |
| money | SQLMONEY |
| smallmoney | SQLMONEY4 |
| bit | SQLBIT |
| uniqueidentifier | SQLUNIQUEID |
| sql_variant | SQLVARIANT |
| timestamp | SQLBINARY |
| UDT (type de données défini par l'utilisateur) | SQLUDT |
| vector | SQLVECTOR |
Les fichiers de données stockés au format caractère utilisent char comme type de stockage. Par conséquent, pour les fichiers de données de type caractère, SQLCHAR est le seul type de données qui apparaît dans un fichier de format.
Vous ne pouvez pas importer en bloc de données dans du texte, ntext et des colonnes d’image qui ont
DEFAULTdes valeurs.
Considérations supplémentaires relatives aux types de stockage de fichiers
Lorsque vous exportez des données en bloc à partir d'une instance de SQL Server vers un fichier de données :
Vous pouvez toujours spécifier char comme type de stockage de fichier, à l’exception des colonnes de type vecteur qui ne prennent pas en charge la conversion vers et à partir de char.
Si vous entrez un type de stockage de fichier qui représente une conversion implicite non valide, bcp échoue ; par exemple, bien que vous puissiez spécifier int pour des données smallint , si vous spécifiez smallint pour des données int , des erreurs de dépassement se produisent.
Quand des types de données autres que des caractères tels que float, money, datetime, ou int sont stockés avec leurs types de base de données, les données sont écrites dans le fichier de données au format natif de SQL Server.
Remarque
Après avoir indiqué de façon interactive tous les champs d’une commande bcp, cette dernière vous demande de sauvegarder vos réponses dans un fichier de format autre que XML pour chacun des champs fournis. Pour plus d’informations sur les fichiers de format non-XML, consultez Fichiers de format non-XML (SQL Server).