Sql server 使用SQL Server bcp将数据从datetime迁移到datetimeoffset
我有两个结构几乎相同的表,一个在SQL Server 2005中,另一个在SQL Server 2016中。唯一的区别是,列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列,则
ModifiedDate
在SQL 2005中属于datetime
类型,在SQL 2016中属于datetimeoffset
类型
我使用bcp将SQL 2005中的数据以本机格式导出到一个文件中。然后我尝试使用bcp将数据文件导入SQL 2016。我得到一个错误:
[SQL Server的ODBC驱动程序11]数据类型的字段大小无效
如果我删除了ModifiedDate
列,则导出/导入将运行,不会出现任何错误
有人知道如何解决这个问题吗?当您使用BCP导出时,不要直接为表执行
输出
导出,而是执行查询
导出,并使用查询将日期时间
字段转换为格式可转换为日期时间偏移量
的字段,这不是一个选项。这两个数据库是不同的域,我必须使用文件。@user3616544在我描述的内容中,您仍然使用“文件”。QUERYOUT
导出仍然是对文件的导出。我真的不明白你指的是什么。