Sql server 大容量插入宽本机语法

Sql server 大容量插入宽本机语法,sql-server,Sql Server,我正在尝试创建一个脚本,以便能够批量加载(SQL Server)以前通过BCP导出的表的整个数据库 目前我有: SET QUOTED_IDENTIFIER OFF --original select 'BULK INSERT "EP88XXX..' + name + '" FROM ' + name + '.txt ' from sysobjects where type = 'U' order by name 返回: BULK INSERT "EP88XXX..DBA_INDEXS" FR

我正在尝试创建一个脚本,以便能够批量加载(SQL Server)以前通过BCP导出的表的整个数据库

目前我有:

SET QUOTED_IDENTIFIER OFF --original
select 'BULK INSERT "EP88XXX..' + name + '" FROM ' + name + '.txt ' 
from sysobjects where type = 'U' order by name
返回:

BULK INSERT "EP88XXX..DBA_INDEXS" FROM DBA_INDEXS.txt 
BULK INSERT "EP88XXX..PSACCESSLOG" FROM PSACCESSLOG.txt 
BULK INSERT "EP88XXX..PSACCESSPRFL" FROM PSACCESSPRFL.txt 
BULK INSERT "EP88XXX..PSACTARCHIVE" FROM PSACTARCHIVE.txt 
BULK INSERT "EP88XXX..PSACTIVEXLIC" FROM PSACTIVEXLIC.txt
我需要在顶部的脚本中再添加两个命令(宽本机和BCP文件的路径)。 以下命令将在一个表上构建批量插入:

BULK INSERT HRPXXXB.dbo.TABLE1 FROM 'K:\SQL_Backup\BCP\HRPXXX_TABLE1.txt'  WITH  ( DATAFILETYPE   = 'widenative')
感谢回复

试试这个

select 'BULK INSERT "EP88XXX..' + name + '" FROM ' + name + '.txt 
WITH  ( DATAFILETYPE   = ''widenative'')"'  from sysobjects where type = 'U' 
order by name

谢谢,我刚刚做了一个修改——从“E:\EP88XXX\U BCP\U Test3\'+name+'.txt”中将QUOTED_标识符设置为OFF,从sysobjects中选择“BULK INSERT EP88XXX..”+name+”,其中type=“U”按名称排序…但是需要在path周围加上单引号,因为path周围的双引号将找不到文件。我用single替换了path语句中的双引号,但出现了语法问题我刚刚对其进行了修改,使用了两个单引号,并成功地运行了脚本和大容量加载语句…将QUOTED_标识符设置为OFF,从“E:\EP88XXX_BCP_Test3\+name+.txt”中选择“bulk INSERT EP88XXX..+name+”,并使用(DATAFILETYPE=“Widentive”)'来自sysobjects,其中type='U'按名称排序OK。您可能需要接受此答案,以便其他人知道此答案:)