我有一个sql server链接的服务器来访问informix数据库,我使用openquery运行查询,然后将结果插入sql server表中。
问题是,当我运行这样的代码时:
INSERT INTO table_name
( date, comments, user )
SELECT f.date
, f.comments
, f.user
FROM OPENQUERY( LINKED_SERVER_NAME,
'select date
, description as comments
, user_name as user
from tsperson'
) AS f
我得到了这个错误:
"将datetime2数据类型转换为datetime数据类型导致值超出范围。"
我已经试过选演员了,但没用。
我在这里和谷歌上搜索过一些答案,但没有找到。
那么,有人能帮我吗?
您要插入的表中的date
字段似乎使用了datetime
数据类型。您正在接收的datetime2
格式的数据超出了有效的datetime
类型的范围。
您可能需要更新表,使date
为datetime2
类型,或者筛选传入数据以删除您无法支持的日期。
datetime
日期范围:1753年1月1日至9999年12月31日
datetime2
日期范围:0001-01-01至9999-12-31
请参阅https://learn.microsoft.com/en-us/sql/t-sql/data-types/datetime2-transact-sql