Sql server 使用SQL Server bcp将数据从datetime迁移到datetimeoffset

Sql server 使用SQL Server bcp将数据从datetime迁移到datetimeoffset,sql-server,datetime,bcp,Sql Server,Datetime,Bcp,我有两个结构几乎相同的表,一个在SQL Server 2005中,另一个在SQL Server 2016中。唯一的区别是,列ModifiedDate在SQL 2005中属于datetime类型,在SQL 2016中属于datetimeoffset类型 我使用bcp将SQL 2005中的数据以本机格式导出到一个文件中。然后我尝试使用bcp将数据文件导入SQL 2016。我得到一个错误: [SQL Server的ODBC驱动程序11]数据类型的字段大小无效 如果我删除了ModifiedDate列,则

我有两个结构几乎相同的表,一个在SQL Server 2005中,另一个在SQL Server 2016中。唯一的区别是,列
ModifiedDate
在SQL 2005中属于
datetime
类型,在SQL 2016中属于
datetimeoffset
类型

我使用bcp将SQL 2005中的数据以本机格式导出到一个文件中。然后我尝试使用bcp将数据文件导入SQL 2016。我得到一个错误:

[SQL Server的ODBC驱动程序11]数据类型的字段大小无效

如果我删除了
ModifiedDate
列,则导出/导入将运行,不会出现任何错误


有人知道如何解决这个问题吗?

当您使用BCP导出时,不要直接为表执行
输出
导出,而是执行
查询
导出,并使用查询将
日期时间
字段转换为格式可转换为
日期时间偏移量
的字段,这不是一个选项。这两个数据库是不同的域,我必须使用文件。@user3616544在我描述的内容中,您仍然使用“文件”。
QUERYOUT
导出仍然是对文件的导出。我真的不明白你指的是什么。