Sql server 如何在不使用批量插入的情况下从csv/txt插入到表中?

Sql server 如何在不使用批量插入的情况下从csv/txt插入到表中?,sql-server,excel,sql-server-2012,Sql Server,Excel,Sql Server 2012,除了批量插入之外,还有其他方法从csv/文本文件插入到表中吗? 通过使用查询而不是通过向导导入。您还可以使用BCP.EXE,这是一种简洁的、但命令行密集的数据导入方式 您也可以使用OPENQUERY从T-SQL和insert打开文件,但这可能不可靠。您也可以使用BCP.EXE,这是一种简洁的、但命令行密集的数据导入方式 您也可以使用OPENQUERY从T-SQL和insert打开文件,但这可能不可靠。您也可以使用SQL Server导入/导出向导您还可以使用SQL Server导入/导出向导我在

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

您还可以使用BCP.EXE,这是一种简洁的、但命令行密集的数据导入方式


您也可以使用OPENQUERY从T-SQL和insert打开文件,但这可能不可靠。

您也可以使用BCP.EXE,这是一种简洁的、但命令行密集的数据导入方式


您也可以使用OPENQUERY从T-SQL和insert打开文件,但这可能不可靠。

您也可以使用SQL Server导入/导出向导

您还可以使用SQL Server导入/导出向导

我在将CSV数据导入SQL数据库时使用的另一种方法是通过链接服务器,如果将Microsoft Access数据库引擎2010可再发行版安装到SQL server上(请确保为您的体系结构使用正确的x86/x64版本):

然后,您可以像这样定义链接服务器:

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\u location\中的任何CSV文件都会在链接服务器的默认目录中以名为filename\CSV的表结束


我有一种感觉,Microsoft不支持为此目的使用此特定的提供程序,但我们发现,这对于数据导入非常有效,而不必求助于SSIS等。

另一种方法,我在将CSV数据导入SQL数据库时使用的方法是通过链接服务器,如果将Microsoft Access数据库引擎2010可再发行版安装到SQL server上(请确保为您的体系结构使用正确的x86/x64版本):

然后,您可以像这样定义链接服务器:

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\u location\中的任何CSV文件都会在链接服务器的默认目录中以名为filename\CSV的表结束


我有一种感觉,Microsoft不支持为此目的使用此特定提供商,但我们发现它在数据导入方面非常有效,而不必求助于SSIS等。

您能给我一些示例吗?在线上有很多示例。这里有一个很好的解释,解释了许多选项:。你为什么不试试,我们可以帮你解决任何问题。你能给我一些例子吗?网上有很多例子。这里有一个很好的解释,解释了许多选项:。为什么不尝试一个,我们可以帮助您解决任何问题。使用LogParser命令行工具和使用PowerShell脚本的其他两个选项在此链接中进行了说明:使用LogParser命令行工具和使用PowerShell脚本的其他两个选项在此链接中进行了说明:不,我必须使用query来完成此操作。不,我必须使用query来实现这一点。