Utilisez BULK INSERT pour importer des fichiers CSV dans SQL Server
L'utilisation de BULK INSERT pour importer des fichiers CSV dans SQL Server est une opération courante, mais vous pouvez rencontrer des défis inattendus. Cet article explique comment résoudre ces problèmes :
1. Traitement des virgules dans les données CSV
Pour gérer les virgules dans les valeurs de champ, utilisez un séparateur de champ différent. Par exemple :
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIRSTROW = 2, FIELDTERMINATOR = '||', -- 将分隔符更改为 '||' (管道符) ROWTERMINATOR = '\n', TABLOCK )</code>
2. Gestion des guillemets doubles dans Excel
Malheureusement, BULK INSERT ne peut pas gérer les guillemets doubles contenant des données. Après avoir importé les données, utilisez l'instruction SQL pour supprimer les guillemets :
<code class="language-sql">UPDATE SchoolsTemp SET Description = REPLACE(Description, '"', '')</code>
3. Données d'erreur de suivi
Pour suivre les lignes de données non valides qui ont été ignorées lors du processus d'importation, utilisez l'attribut ERRORFILE :
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIRSTROW = 2, FIELDTERMINATOR = '||', ROWTERMINATOR = '\n', ERRORFILE = 'C:\CSVData\SchoolsErrorRows.csv', TABLOCK )</code>
Les lignes contenant des erreurs seront écrites dans le fichier d'erreurs spécifié.
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!