如何从csv / txt插入表而不使用批量插入?

除了批量插入之外,是否还有其他方法可以从csv / text文件插入到表中? 通过使用查询,而不是通过向导导入。

如果您将Microsoft Access数据库引擎2010 Redistributable安装到您的SQL Server上,请确保为您的SQL Server使用正确的x86 / x64版本,另一种方法是将CSV数据导入SQL数据库时使用的方法是通过链接服务器build筑):

Microsoft Access 2010数据库引擎可再发行组件

然后你可以像这样定义一个链接的服务器:

EXEC master.dbo.sp_addlinkedserver @server = N'CSVLinkedServer', @srvproduct=N'OLEDB Provider for ACE', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'S:\csv_location\', @provstr=N'Text', @catalog=N'*.csv' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'CSVLinkedServer',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL 

一旦你有了,你放入S:\ csv_location \目录的任何CSV文件都会以链接服务器默认目录里名为filename#csv的表格结尾。

我有一种感觉,微软并不支持使用这个特定的提供程序,但是我们发现这个function在数据导入方面非常出色,而不必求助于SSIS等。

您也可以使用BCP.EXE,这是一个整洁的,尽pipe命令行密集的方式导入数据。

您也可以使用OPENQUERY从T-SQL打开文件并插入,但这可能是不可靠的。

您也可以使用SQL Server导入/导出向导在此处input链接描述