Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用OpenRowSet将.csv文件插入SQL Server_Sql_Sql Server - Fatal编程技术网

使用OpenRowSet将.csv文件插入SQL Server

使用OpenRowSet将.csv文件插入SQL Server,sql,sql-server,Sql,Sql Server,我有一个名为File1的.csv文件,我想将它插入到已经存在的表中,在SQL Server中称为Table1。.csv文件具有以下结构和值: ID Location Name Date 2 New York Sally 20191010 3 California Ben 20191110 SQL server中的“我的表”具有相同的结构: ID

我有一个名为File1的.csv文件,我想将它插入到已经存在的表中,在SQL Server中称为Table1。.csv文件具有以下结构和值:

 ID        Location        Name        Date

 2         New York        Sally       20191010
 3         California      Ben         20191110
SQL server中的“我的表”具有相同的结构:

 ID         Location        Name         Date

 1          Houston         Kelly        20200810
我希望输出看起来像下面的值,我希望日期也是有序的

ID     Location    Name     Date

1      Houston     Kelly    20200810
2      New York    Sally    20191010
3      California  Ben      20191110
我正在这样做:

INSERT INTO dbo.Table1(Microsoft.ACE.OLEDB12.0; Database = 'Data', 
'SELECT * FROM OpenRowSet' Dir = C:\downloads, 'SELECT * FROM File1.csv')
我仍在研究上面的命令,看看我做错了什么。感谢您的任何建议

希望这有助于:

BULK INSERT Table_1
FROM 'C:\Folder\file.csv'
WITH
(
FIELDTERMINATOR = ',',  --CSV field delimiter
ROWTERMINATOR = '0x0a',   --Use to shift the control to next row
FORMAT = 'CSV'
)

好的,谢谢,我试试看。这比执行INSERT命令好吗?我很确定有不同的方法可以将csv文件插入到数据库中,但我更喜欢大容量插入,因为它可以以最少的日志记录操作,所以速度更快。我尝试了这个方法,但它说:操作系统错误代码5(访问被拒绝)我正在研究这个错误是因为sql无法访问您拥有csv文件的文件夹,请将其从下载移动到另一个文件夹OK,我创建了新文件夹,并且出现了相同的错误。我还在研究这个