sql-server - BCP 错误 使用本机方法的数据类型的字段大小无效
问题描述
尝试在多个表中进行 BCP 时,我不断收到“数据类型的字段大小无效”错误。尽管我使用的是本机 (Unicode) 模式,并且我绝对确定表定义匹配,因为目标是在我尝试导入之前从源的 DACPAC 创建的。有些表可以工作,但大多数都因错误而失败。我也尝试过使用格式文件,但这也无济于事。我已经阅读了我可以在 SO 上找到的所有文档和所有与 BCP 相关的问题。有任何想法吗?
这是我的导出命令。$query_array 只是“Select * From $tbl”与“Select * From $tbl Where some date filter ”混合的字典:
&bcp $query_array[$tbl] QueryOut "Data\$tbl.dat" -N -S $SqlAddress -d $SqlDB -T;
这是导入:
&bcp $tgtTable in "Data\$tbl.dat" -N -S $SqlAddress -d $SqlDB -E -T -ErrorAction Stop;
失败的表之一如下所示:
CREATE TABLE [Foo].[Bar](
[Blah1] [numeric](38, 0) NOT NULL,
[Blah2] [numeric](38, 0) NULL,
[Blah3] [numeric](38, 0) NULL,
[Blah4] [numeric](38, 0) NULL,
[Blah5] [datetime2](7) NULL,
[Blah6] [varchar](30) NULL,
[Blah7] [datetime2](7) NULL,
CONSTRAINT [PK_Foo] PRIMARY KEY CLUSTERED
(
[Blah1] ASC
)
整个过程非常简单
- 从源代码生成 DACPAC
- 使用 Unicode Native 中的 BCP 将每个表导出到 dat 文件
- 从 DACPAC 创建目标数据库
- 使用 Unicode Native 格式的 BCP 从 dat 文件导入每个表
这真让我抓狂。它应该可以正常工作。我猜 datetime2 字段有问题,但我无法想象它是什么。TIA。
解决方案
推荐阅读
- django - django rest框架传递标头的问题
- python - MPI Python输入函数,我的代码有问题
- html - 角度材料在 angular9 中无法正常工作
- jquery - 如何在 SpringBoot 应用程序中获取登录用户的 loginId 以实现更改密码功能
- c++ - 如何使用计时睡眠直到没有滞后?
- python - 我可以在 Django 模板中创建一个按钮来将用户重定向到特定的 Facebook Messenger 帐户吗?
- r - 为 R 中循环的每个 i 生成 100 个样本
- nginx - Nginx 作为 Opneshift 中的反向代理
- machine-learning - 如何使用包含向量而不是标量的特征列在 sklearn 中训练模型?
- python - 为什么我无法导入 pip 列表中的 pywin32 库?