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 ?
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!