BCP - 导入到包含 IDENTITY 列的表时,转换规范的字符值无效

2024-02-03

我正在尝试将文件从 UNIX 加载到 SQL Server。当我运行 BCP 时出现以下错误,但当我将数据类型更改为 Char 时,我能够加载相同的文件。

使用的命令:

--bcp [SQLAAA].[APP_XXX].[ACTIVITY_V1] in /home/XXX_ACTIVITY.txt -c -S xddb001 -e /home/ERRORS.log -t "|" -r "\n" -U test12 -P test12

源文件:

222|2017-12-27|Y|ABC|2017-12-27|ABC|2017-12-27
255|2018-01-04|N|ABC|2018-01-04|ABC|2018-01-04

错误信息:

@ 第 1 行,第 7 列:强制转换规范 @ 的字符值无效

定义表:

CREATE TABLE [APP_XX].[ACTIVITY]
(
[C1] [varchar](10) NOT NULL,
[C2_DATE] [date] NOT NULL,
[c3] [varchar](1) NULL,
[C4_NM] [varchar](10) NULL,
[C5_DTM] [date] NULL,
[C6_NM] [varchar](10) NULL,
[C7_DTM] [date] NULL,
[ROW_ID] [bigint] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]

您能告诉我可以进行哪些修改吗?


导入到包含 IDENTITY 列的表时,如果您没有在导入文件中提供 IDENTITY 列的值,则需要在格式文件中指定在导入中将跳过 IDENTITY 列。

这种工作方式在关于 BCP 的 Microsoft 文档,标志 -E https://learn.microsoft.com/en-us/sql/tools/bcp-utility#E:

如果数据文件不包含表或视图中的标识列的值,请使用格式文件指定导入数据时应跳过表或视图中的标识列; SQL Server 自动为列分配唯一值。[...]

你需要做什么:

  1. First 使用 BCP 创建格式文件 https://learn.microsoft.com/en-us/sql/relational-databases/import-export/create-a-format-file-sql-server。例如。对于非 XML 格式文件,命令如下所示BCP table_or_view format nul -f format_file_name
  2. 指定跳过格式文件中的 IDENTITY 列
  3. 使用您在中创建的格式文件BCP IN命令使用BCP -f flag https://learn.microsoft.com/en-us/sql/tools/bcp-utility#f
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BCP - 导入到包含 IDENTITY 列的表时,转换规范的字符值无效 的相关文章

  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • SQL Server Express 到 .mdf 文件的连接

    两部分问题 我使用 VS 2015 Update 3 创建了一个 ASP NET MVC 5 应用程序 我在本地计算机上完成了该项目 突然 我无法再通过 SQL Server 对象资源管理器连接到 mdf数据库文件并出现以下错误 无法打开数
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • SQL Server 差异工具

    在一个团队中工作时 人们很容易修改开发 SQL Server 表并忘记它 或者准备部署更改但必须等待部署 这使得我们的开发表和活动表不一致 从而在推送存储过程时导致问题 是否有一个工具可以让我输入 SPROC 名称并让它检查开发数据库和实时
  • SQL Group BY,每个组的前 N ​​个项目

    我有一个 SQL 查询 可以获取给定商店中销量最高的 5 件商品 SELECT TOP 5 S UPCCode SUM TotalDollarSales FROM Sales S WHERE S StoreId 1 GROUP BY S U
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • 按两列的最小值排序

    I use SQL Server 2008 R2 我需要按两列的最小值对表进行排序 该表如下所示 ID integer Date1 datetime Date2 datetime 我希望我的数据按至少两个日期排序 以这种方式对该表进行排序的
  • 自动创建n列表

    我想在一行中将 236 个 int 值存储到 sql 中 现在我必须声明该表 但我不想输入 236 倍的列名 列名应该是 BYTE001 BYTE002 或其他前缀 如 BYTE B INT 可以自动生成ColumnNames吗 我尝试以下
  • SSRS仅显示第一行

    我在 SSRS 中有一个非常基本的报告 显示数据网格 查询正确返回多行 但报告仅显示第一行 查询就像 SELECT FROM 一样简单 我没有任何特殊的格式 并且 tablix 位于报告的详细信息部分 而不是意外的页眉或页脚 我还可以检查什
  • 在 SSIS 中使用合并任务的指南

    我有一个包含三个字段的表 其中一个是身份字段 我需要从具有其他两个字段的源中添加一些新记录 我正在使用SSIS 我认为我应该使用合并工具 因为其中一个源不在本地数据库中 但是 我对合并工具和正确的过程感到困惑 我有一个源 一个 Oracle
  • 在 Sql Server 中启用 DTD 支持

    我有各种 xml 文档需要存储在数据库列中 这些文档包含对 DTD 的引用 并且 SQL Server 不会导入 xml 因为它存在安全风险 如何在数据库上启用 DTD 支持 以便它可以让我插入 xml 内容 你必须CONVERT首先 MS
  • 如何获取 dm_exec_sql_text 的参数值

    我正在运行以下语句来查看 sql server 中正在执行哪些查询 select from sys dm exec requests r cross apply sys dm exec sql text r sql handle where
  • SQL Server 2008 中的 FREETEXT 查询不进行短语匹配

    我在 SQL Server 2008 中有一个全文索引表 我正在尝试使用 FULLTEXT 查询精确的短语匹配 我不认为使用 CONTAINS 或 LIKE 适合于此 因为在其他情况下查询可能不准确 用户没有用双引号括起短语 并且一般来说我
  • 从另一台计算机连接到 SQL Server

    我正在使用 C 连接到网络上另一台计算机上的 SQL Server 但收到一条异常消息 用户 用户名 登录失败 但是服务器日志状态表明使用 Windows 身份验证的用户连接成功 我的连接字符串是 Data Source ipaddress
  • 无法通过 SQL Server Management Studio 连接到 SQL Server Linux Docker 容器

    我对 Linux 操作系统很陌生 所以希望这不是一个愚蠢的问题 软件 Windows 10 专业版适用于 Windows 的 Docker 1 13 0 beta38 9805 SQL Server Management Studio v1
  • SQL Server 删除触发器 - 引用已删除行或标记为删除的行的行句柄

    我在表上有一个删除触发器 用于从另一个数据库的表中删除条目 CREATE TRIGGER dbo Trigger Contracts Delete ON dbo Contracts AFTER DELETE NOT FOR REPLICAT
  • 有没有适用于 Eclipse 的 SQL 格式化插件?

    我在网上没有找到任何标准的开源 sql 格式化程序 eclipse 插件 我正在使用日食太阳神 我可以找到编辑 gt 格式化SQL但这似乎不起作用 找到一个在http ventralnet blogspot in 2010 11 sql b
  • System.IndexOutOfRangeException:索引超出了数组的范围[重复]

    这个问题在这里已经有答案了 我正在开发一个 ATM 软件作为家庭作业 我想知道今天处理的交易总量 为此我编写了以下代码 public decimal getDayTransaction int accountid string date s

随机推荐