Maison >base de données >tutoriel mysql >Comment puis-je importer efficacement un fichier CSV avec des virgules et des guillemets doubles dans SQL Server à l'aide de BULK INSERT ?

Comment puis-je importer efficacement un fichier CSV avec des virgules et des guillemets doubles dans SQL Server à l'aide de BULK INSERT ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-19 07:20:10648parcourir

How Can I Efficiently Import a CSV File with Commas and Double Quotes into SQL Server Using BULK INSERT?

Utilisez BULK INSERT pour importer des fichiers CSV dans SQL Server

Défis liés à la gestion des données séparées par des virgules

Lors de l'importation de fichiers CSV dans SQL Server à l'aide de BULK INSERT, la gestion des données contenant des virgules dans les champs peut être un défi. Pour résoudre ce problème, envisagez d'utiliser un délimiteur de champ différent, tel que le caractère barre verticale (|).

Gestion des guillemets doubles

Si le fichier CSV est exporté depuis Excel, les valeurs des champs contenant des virgules seront placées entre guillemets doubles. Malheureusement, BULK INSERT ne peut pas gérer directement les guillemets doubles. Pour contourner ce problème, vous pouvez importer les données dans la table intermédiaire, puis utiliser une instruction UPDATE pour supprimer les guillemets doubles.

Suivre les lignes invalides

Pour suivre les lignes dont l'importation a échoué en raison de données non valides, utilisez l'attribut ERRORFILE. Cette propriété spécifie un emplacement de fichier d'erreur dans lequel sont écrites les lignes qui ne peuvent pas être importées. L’instruction BULK INSERT modifiée suivante le démontre :

<code class="language-sql">BULK INSERT SchoolsTemp
    FROM 'C:\CSVData\Schools.csv'
    WITH
    (
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  -- CSV 字段分隔符
    ROWTERMINATOR = '\n',   -- 用于将控制转移到下一行
    ERRORFILE = 'C:\CSVDATA\SchoolsErrorRows.csv',
    TABLOCK
    )</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn