2015-11-06 59 views
0

我有一個sql server鏈接服務器來訪問一個informix數據庫,並且我正在使用openquery來運行查詢,然後將結果插入到sql server表中。SQL SERVER錯誤:「將datetime2數據類型轉換爲日期時間數據類型導致超出範圍值。」 (informix到SQL服務器)

的問題是,當我運行像代碼:

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 

我得到這個錯誤:

"The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value."

我已經嘗試過投但這並不奏效。

我在這裏和谷歌搜索了一些答案,但沒有成立。

那麼,有人可以幫助我嗎?

+1

這可能會幫助 - http://stackoverflow.com/questions/7386360/the-conversion-of-a-datetime2-data-type-to-a-datetime-data-type-resulted-in-an-o – MusicLovingIndianGirl

+1

稻田回答是更多的解釋,並有非常明確的替代我如何解決親blem。不管怎麼說,還是要謝謝你。 –

回答

1

看起來您的表中插入的date字段使用的是datetime數據類型。您以datetime2格式接收的數據超出有效的datetime類型的範圍。

您可能必須更新表格,以便datedatetime2類型,或者過濾傳入數據以刪除您不支持的日期。


datetime日期憤怒:1753年1月1日,通過9999年12月31日,

datetime2日期範圍:0001-01-01至9999-12-31

https://docs.microsoft.com/en-us/sql/t-sql/data-types/datetime2-transact-sql

+0

感謝您的幫助! –

相關問題