在 SQL Server 中使用文本限定符批量插入

2024-01-09

我在尝试着bulk insert来自 CSV 文件的表测试中的几条记录,

 CREATE TABLE Level2_import 
 (wkt varchar(max),
 area VARCHAR(40),
 ) 


BULK
 INSERT level2_import 
 FROM 'D:\test.csv'
 WITH
 (
 FIRSTROW = 2,
 FIELDTERMINATOR = ',',
 ROWTERMINATOR = '\n'
 )

批量插入代码应该删除第一行并将数据插入表中。它很好地摆脱了第一行,但在分隔符部分感到困惑。第一列是 wkt,列值用双引号引起来,并且 value 内有逗号。

所以我想我的问题是是否有办法告诉BULK INSERT无论其中是否有逗号,双引号部分都是一列?

CSV 文件看起来像这样,

 "MULTIPOLYGON (((60851.286135090661 510590.66974495345,60696.086128673756 510580.56976811233,60614.7860844061 510579.36978015327,60551.486015895614)))", 123123.22

您需要使用“格式文件”来实现批量插入的文本限定符。本质上,您需要告诉批量插入每个字段中可能存在不同的分隔符。

创建一个名为“level_2.fmt”的文本文件并保存。

11.0
2
1   SQLCHAR   0  8000   "\","      1     wkt         SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR   0  40   "\r\n"      2     area         SQL_Latin1_General_CP1_CI_AS

第一行“11.0”指的是您的 SQL 版本。第二行显示您的表 [level2_import] 有两列。之后的每一行将描述一列,并遵循以下格式:

[源列号][数据类型][最小大小][最大大小][分隔符模式][目标列号][目标列名称][数据库区分大小写]

创建该文件后,您可以使用以下批量插入语句读入数据:

BULK INSERT level2_import
FROM 'D:\test.csv'
WITH 
(
  FIRSTROW = 2,
  FORMATFILE='D:\level_2.fmt'
);

参考这个blog http://www.advancesharp.com/blog/1083/bulk-insert-with-text-qualifier-in-sql-server有关格式文件的详细说明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SQL Server 中使用文本限定符批量插入 的相关文章

随机推荐

  • 如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?

    我正在研究这个问题 但找不到针对此特定目的的任何可靠答案 假设我有一个网址 http mysite com stuff index php search my search http mysite com stuff index php s
  • Xamarin Android - 在发布模式下打印到应用程序输出

    打补丁一些崩溃 https stackoverflow com questions 24809580 noclassdeffounderror android support v7 internal view menu menubuilde
  • 没有物理设备的配置文件

    我在这个论坛和苹果开发者论坛上经常看到这个问题 我已经按照教程学习了 6 个多小时 我想要的只是添加该应用程序 以便我可以与朋友和家人一起测试它 我没有 iPhone 我有一台 Macbook Pro 和付费的开发者注册 当我选择通用 IO
  • 在 Django 中生成带有内联摘要的列表/报告

    我正在尝试编写一个视图 该视图将生成一个报告 显示我的库存系统中的所有项目 并在某个点提供摘要 顺便说一下 这个报告纯粹是一个 HTML 模板 就我而言 每个项目都是订单的一部分 一个订单可以有多个项目 我希望能够在每个订单结束后显示基于
  • CarrierWave:为所有版本化文件创建相同、唯一的文件名

    在详细介绍之前 我先切入主题 有没有人找到一种方法让 Carrierwave 将文件名称保存为时间戳或每个文件唯一的任意字符串 默认情况下 Carrierwave 将每个文件及其备用版本保存在其自己的目录中 以型号 ID 号命名 我不喜欢这
  • Neo4j - 将匹配应用于上一场比赛的每个结果

    情况 具有许多端点的图 每个端点都与主图有一个连接 该连接可能会穿越多个中间层节点 gt 关系 gt 节点在加入主图之前 每个连接的最终节点都有特定的属性 我有一个查询沿着这条路径走并找到最终连接到主图的节点 我有另一个查询返回端点节点的列
  • 多个 JQuery 不同表单选择器

    我有两种形式one and two 并且基于提交的表单 我想在逻辑末尾根据提交的值调用一个函数 我想知道是否可以将每个选择器作为数组索引 循环或属性或其他内容检索var tagsOrAnswerers 然后也许我可以将该参数传递给我将被调用
  • 带树枝的自定义表单字段模板

    我想在树枝中创建一个自定义模板来呈现表单字段 Example form row form field 这可以通过表单主题覆盖 block form row custom code endblock form row 我想做的是这样的 blo
  • 来自 JSON 字符串数组的 MarkLogic TDE Xpath 值

    我想构建一个 tde 其中包含一行 其中包含 id 和原始文档中数组的每个值 我为每个元素获取一行 但值为空并被忽略 似乎如果上下文设置为不是数组的任何内容 uri 可以工作 但当上下文是数组时则不会 除了简单的示例之外 我正在努力寻找 M
  • Clickonce - 在 DVD 上部署,带有离线安装程序

    我正在使用 VS 2010 但在 clickonce 部署时遇到问题 我的目标是在 DVD 上分发应用程序 以便没有互联网连接的用户能够安装它 因此它需要包含 NET Framework 3 5 客户端配置文件的完整安装程序 但是 我无法实
  • 带有 Select Widget 的 Django ModelForm - 使用 object.uid 作为默认选项值而不是 object.id

    我有一个继承自 ModelForm 的表单 如下所示 class ChildModel ModelForm class Meta model Documents fields secretdocs widgets secretdocs Se
  • SQL、PL-SQL 和 T-SQL 之间有什么区别?

    SQL PL SQL 和 T SQL 之间有什么区别 谁能解释一下这三者之间的区别 并提供每一个的相关使用场景 SQL 是一种用于操作关系数据的声明性语言 表 视图 结果集等 它或多或少是标准化的 几乎所有关系数据库管理系统都使用它 SQL
  • 无法将类型 IAsyncOperation 隐式转换为 StorageFile

    我的代码到底出了什么问题 private void BrowseButton Click object sender RoutedEventArgs e FileOpenPicker FilePicker new FileOpenPicke
  • 为什么应用程序和小部件之间没有引用?

    这是后续为什么应用程序会在 sys exit 命令之后显示 https stackoverflow com questions 15688889 why will the application show after sys exit co
  • Kubernetes 秘密真的是秘密吗?

    当我开发API服务器时 我需要向API服务器提供一些帐户信息 这些信息不应该向任何人显示 K8s针对这种情况推荐了secret 所以我就使用了 但我想知道这个秘密是否真的是秘密 Secret 只是 Base 64 编码 文本 而不是 加密
  • 通过匿名类进行封闭对象转义的参考-java

    我正在阅读 Java 并发实践 下面的例子就是来自其中 我的问题是 这个引用转义是什么意思 会出现什么问题呢 this 引用如何从 doSomething e 中转义 public class ThisEscape public ThisE
  • 如何测试表达式是否是临时的?

    使用以下宏 define ASSERT IF TEMP expr static assert Is temporary 问号应该填什么 首先我们要澄清 暂时 是什么意思 当很多人说暂时的时候 他们的意思是不同的 从技术上来说 int 不是暂
  • 如何验证是否在被测系统(不是模拟)上调用方法

    我正在尝试编写一个单元测试 需要确认是否调用了某个方法 我正在使用 JUnit Mockito 和 PowerMock public class Invoice protected void createInvoice random stu
  • 抗锯齿算法?

    我正在创建纹理并希望对它们进行抗锯齿处理 我可以访问每个像素的颜色 鉴于此我如何对整个纹理进行抗锯齿 Thanks 抱歉 真正的抗锯齿并不在于从邻居那里获取平均颜色 如上所述 毫无疑问 这会柔化边缘 但它不是抗锯齿而是模糊 真正的抗锯齿无法
  • 在 SQL Server 中使用文本限定符批量插入

    我在尝试着bulk insert来自 CSV 文件的表测试中的几条记录 CREATE TABLE Level2 import wkt varchar max area VARCHAR 40 BULK INSERT level2 import