2013-06-04 117 views
0

從Oracle,通過DBLINK,我試圖更新MS-SQL Server數據庫中日期字段中的值。從Oracle更新SQL Server表中的日期/時間值

然而,當我運行此查詢

update [email protected] 
SET "ExpireDate" = '2013-06-04 12:00:00' 
WHERE "IdNumber" = 103; 

我得到的消息:

[Error] Execution (13: 16): ORA-28534: Heterogeneous Services preprocessing error 

我也曾嘗試

update [email protected] 
SET "ExpireDate" = to_date('2013-06-04 12:00:00','yyyy-mm-dd HH24:MI:SS') 
WHERE "IdNumber" = 103; 

和我得到的消息:

[Error] Execution (14: 1): ORA-02070: database MISDOORACCESS does not support TO_NUMBER in this context 

任何人都可以建議我如何從Oracle執行此更新?

+0

你可以''從表中選擇',即你確定dblink本身已配置並正常工作嗎?您是否嘗試將值分配給Oracle'date'變量並使用它進行更新(以避免日期格式問題)?你有什麼版本的Oracle和SQL Server? – Pondlife

+0

我相信有一個網絡問題,修正後也解決了我的問題。 – user2451523

回答

1

您必須使用CAST功能。試試這個:

declare 
    v_date date:=to_date('2013-06-04 12:00:00','yyyy-mm-dd HH24:MI:SS'); 
begin 
    update [email protected] set "ExpireDate"=cast(v_date as date) WHERE "IdNumber" = 103; 
    commit; 
end; 
相關問題