首页 / 知识
关于sql server:从CSV批量导入SQL
2023-04-17 09:10:00

SQL Bulk import from CSV我需要将大型CSV文件导入SQL服务器。 我正在使用这个:
问题是我所有的字段都被引号("")包围,所以实际上一行看起来像:
我可以以某种方式批量导入它们,并告诉SQL使用引号作为字段定界符吗?
编辑:使用'","'作为分隔符的问题,如建议的示例中那样: 从我一直在阅读的内容来看,我认为FORMATFILE是必经之路,但是文档(包括MSDN)非常无用。
尝试 这是一个很好的链接,可以帮助您使用第一个和最后一个引号...看看他如何使用SP的子字符串 http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
我有时使用的另一种技巧是在Excel中打开CSV,然后将您的sql语句写入每行末尾的单元格中。
填充可以为您填充到每一行中。然后只需将输出复制并粘贴到新的查询窗口中即可。 这是古老的做法,但是如果您只需要偶尔执行一次导入,那么可以避免您以"正确"的方式阅读所有晦涩的文档。 尝试使用OpenRowSet。这可用于导入Excel内容。 Excel可以打开CSV文件,因此您只需要找出正确的[ConnectionString] [2]。 [2]:驱动程序= {Microsoft文本驱动程序(* .txt; * .csv)}; Dbq = c:\ txtFilesFolder \;扩展名= asc,csv,tab,txt; 我知道这不是一个真正的解决方案,但我使用虚拟表进行导入,并为所有内容设置了nvarchar。然后,我执行插入操作,该操作去除了"字符并进行了转换。它虽然不漂亮,但是可以完成工作。 id说使用FileHelpers是一个开源库 您需要将CSV文件导入数据表中的文件 然后,您可以使用SQLBulkCopy插入批量行
您可以尝试此代码,如果您愿意的话,它非常棒,
您必须小心使用BCP / BULK INSERT,因为如果报价不一致,即使格式文件(甚至XML格式文件都没有提供此选项),并且在引号处还有假["]字符,BSP或批量插入都不能很好地处理此问题。开头和结尾,并使用[","]作为分隔符。从技术上讲,如果没有嵌入的[,]字符,则CSV文件不需要具有["]字符 因此,有时将逗号分隔文件称为喜剧限制文件。 OpenRowSet将在服务器上需要Excel,并且在64位环境中可能会出现问题-我知道在64位Jet中使用Excel会出现问题。 如果文件将来可能与您的期望有所不同,SSIS确实是您的最佳选择。 您需要以编程方式执行此操作,还是一次性拍摄? 使用企业管理器,右键单击"导入数据",可以选择定界符。 这是一个老问题,所以我写这篇文章是为了帮助那些偶然发现它的人。 SQL Server 2017引入了用于此确切用例的FIELDQUOTE参数。 如果您知道如何将文件解析为DataTable,则建议使用SqlBulkInsert类将其插入SQL Server。 您可以控制输入格式吗? | (管道)和\ t通常会带来更好的字段终止符。 您也可以使用DTS或SSIS。
是的,Richard K是对的: 有关更多信息,请参见http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file。 |
最新内容
相关内容
linux命令检清空文件?
linux命令检清空文件?,系统,不了,名称,环境,文件夹,命令,文件,目录,指令,终端,linux删除文件命令rm命令格式:rm[选项]文件命令功能:删除一个目录更新文件命令linux?
更新文件命令linux?,工作,系统,地址,信息,时间,命令,目录,基础,标准,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux基础命令增加文件?
linux基础命令增加文件?,系统,时间,名字,文件,基础,数据,命令,名称,首次,密码,linux命令如何新建一个文件终端下键入:touch加文件名,这样就创建linux下读取文件命令?
linux下读取文件命令?,系统,工作,地址,数字,图片,信息,网络,命令,文件,一致,linux文件系统常用命令1、其中一些常用的命令包括ls、cd、pwd和mk纯命令行linux服务器?
纯命令行linux服务器?,密码,服务,系统,命令,终端,地址,百度,情况,状态,公共,在linux下如何访问服务器首先,连接相应linux主机,进入到linux命令行linux改文件夹名命令?
linux改文件夹名命令?,名字,软件,命令,文件,系统,目录,目标,文件名,源文件,选项,linux中用什么命令移修改文件夹名1、linux下使用mv命令来移动linux建文件命令格式?
linux建文件命令格式?,系统,名字,名称,时间,密码,命令,文件,文件夹,不了,数据,Linux虚拟机命令如何创建新的文件和文件夹1、首先,连接相应linux下载文件的命令linux?
下载文件的命令linux?,平台,工具,服务,密码,软件,网络,位置,代理,手机,工作,从linux服务器中下载或上传文件1、您要问的是为什么linux服务器一linux命令文件传输?
linux命令文件传输?,系统,数据,命令,文件,基本知识,源文件,目录,目标,功能,语法,...安装rz和sz命令实现Linux与Windows传输文件1、使用rz和szlinux文件全选命令?
linux文件全选命令?,电脑,系统,环境,代码,平台,服务,快捷键,文件,命令,权限,linux不小心文件全选点了打开,怎么全部取消打开文件你如果没有修linux浏览文件类命令?
linux浏览文件类命令?,系统,信息,数据,情况,命令,标准,时间,文件,概念,管理,在Linux系统中,执行什么命令查看文件或目录的权限?1、linux查看文linux打包文件夹命令?
linux打包文件夹命令?,系统,工具,管理,图片,文件,命令,位置,软件,目录,格式,linux压缩解压gz文件命令命令格式:tar -zxvf 压缩文件名.tar.gz。