猿问

将CSV文件导入SQLServer

将CSV文件导入SQLServer

我正在找人帮我进口.csv使用BULK INSERT我也没有什么基本的问题。

问题:

  1. CSV文件数据可能有,(逗号)中间(Ex:Description),那么如何使导入处理这些数据?

  2. 如果客户端从Excel创建CSV,则带有逗号的数据包含在""(双引号)(如下例所示)那么导入如何处理这个问题呢?

  3. 如何跟踪某些行是否有错误的数据,哪些导入跳过?(导入是否跳过不可输入的行)

下面是带有标头的示例CSV:

Name,Class,Subject,ExamDate,Mark,Description
Prabhat,4,Math,2/10/2013,25,Test data for prabhat.Murari,5,Science,2/11/2013,24,"Test data for his's test, where we can test 2nd ROW,
 Test."sanjay,4,Science,,25,Test Only.

和要导入的SQL语句:

BULK INSERT SchoolsTempFROM 'C:\CSVData\Schools.csv'WITH(
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    TABLOCK)


牛魔王的故事
浏览 1780回答 3
3回答

慕田峪9158850

首先,您需要在数据库中创建一个表,在其中导入CSV文件。创建表后,按照以下步骤操作。使用SQLServerManagementStudio登录数据库·右键单击数据库并选择Tasks -> Import Data...·点击Next >扣子对于数据源,选择Flat File Source..然后使用Browse按钮选择CSV文件。在单击Next >纽扣。·对于目标,选择正确的数据库提供程序(例如,对于SQLServer 2012,可以使用SQLServerNativeClient 11.0)。输入服务器名称。检查Use SQL Server Authentication单选按钮。在单击Next >纽扣。·在“选择源表和视图”窗口中,您可以在单击Next >纽扣。·检查Run immediately复选框并单击Next >纽扣。·点击Finish按钮来运行包。

梦里花落0921

2)如果客户端从excel创建CSV,则有逗号的数据包含在“.”中。(双引号)(如下例所示)那么导入如何处理这个问题呢?您应该使用Format=‘CSV’,FIELDQUOTE=‘“选项:BULK INSERT SchoolsTempFROM 'C:\CSVData\Schools.csv'WITH(     FORMAT = 'CSV',      FIELDQUOTE = '"',     FIRSTROW = 2,     FIELDTERMINATOR = ',',  --CSV field delimiter     ROWTERMINATOR = '\n',   --Use to shift the control to next row     TABLOCK)
随时随地看视频慕课网APP
我要回答