把你的CSV文件除C盘以外(尽量使用d,E ......)使用下面的BULK INSERT语句,您可以将大量数据到数据库直接从一个CSV文件。该BULK INSERT查询的最简单的版本看起来像这样:
BULK INSERT dbo.YourDBTableName
FROM 'D:\YourFileName.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
,或者你可以处理事务和回退,一个try catch块可以用这样的:
EGIN TRANSACTION
BEGIN TRY
BULK INSERT dbo.YourDBTableName
FROM 'D:\FolderName\YourFileName.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
ROWS_PER_BATCH = 10000,
TABLOCK
)
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
如果两种方法之一变好了,那么你可能有任何的以下两个问题:
- “C”驱动许可问题:在这种情况下,你必须给予适当的权限部分特殊文件/文件夹。
- 该文件必须损坏或您的代码不正确:在这种情况下,尝试用记事本++或任何编辑器手动打开文件。如果你可以打开文件,然后看到FIELDTERMINATOR,在这里我使用昏迷(,)。一些时间vertical var(|)用于分隔数据。所以如果你需要改变它。
Anothe重要的是,尝试运行SQL Server 2012 Management Studio中作为管理员(righr单击该图标 - >以管理员身份运行)
确保您将文件放在服务器和提服务器路径 –
您使用什么命令来执行批量加载? – eliah