首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPENROWSET中的跳过列(大容量)

OPENROWSET中的跳过列(大容量)
EN

Stack Overflow用户
提问于 2013-03-22 23:22:17
回答 1查看 1K关注 0票数 0

试图将许多行大容量插入到表中。

我的SQL语句:

代码语言:javascript
复制
INSERT INTO [NCAATreasureHunt-dev].dbo.CatalinaCodes(Code)
SELECT (Code)
   FROM OPENROWSET(BULK 'C:\Users\Administrator\Desktop\NCAATreasureHunt\10RDM.TXT',
       FORMATFILE='C:\Users\Administrator\Desktop\NCAATreasureHunt\formatfile.xml') as t1;

10RDM.TXT:

代码语言:javascript
复制
DJKF61TGN7
Q9TVM16Z6Z
X44T4169FN
JQ2PT1ZXZK
C7NW71QPNG
SFJRR1FWKZ
TYZJW1ZPFY
9MR3M1J3N5
QJ6R217JTK
TVJVW19TYT

formatfile.xml

代码语言:javascript
复制
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RECORD>
        <FIELD ID="C1" xsi:type="CharTerm" TERMINATOR="\r\n"/>
    </RECORD>
    <ROW>
        <COLUMN SOURCE="C1" NAME="Code" xsi:type="SQLNVARCHAR" />
    </ROW>
</BCPFORMAT>

这是我所得到的错误:不能将值NULL插入'Claimed‘列,列不允许空值。插入失败。

我想跳过声称的那一栏。我的格式文件做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-03-23 00:29:13

看看这个answer是否有用。

使用XML格式文件,当使用bcp命令或BULK INSERT语句直接导入表时,不能跳过列。但是,除了表的最后一列之外,您还可以导入所有列。如果必须跳过除最后一列以外的任何列,则必须创建目标表的视图,该目标表仅包含数据文件中包含的列。然后,可以将数据从该文件批量导入到视图中。 要使用XML格式文件通过使用OPENROWSET(BULK.)跳过表列,必须在select列表和目标表中提供显式列列表,如下所示: 插入..。从OPENROWSET中选择(批量.)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15581392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档