FIX: 數值的資料行在 Oracle 中造成錯誤 7354

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:243027
本文已封存。本文係以「現狀」提供且不會再更新。
Bug #: 36489 (sqlbug_70)
Bug #: 18722 (sqlbug_70)
Bug #: 47131 (sqlbug_70)
徵狀
嘗試使用 Oracle 連結的伺服器使用 Microsoft OLE DB 提供者對於 Oracle (MSDAORA) 查詢具有 數值 的資料行的資料表可能會造成類似下列錯誤:
伺服器: 訊息 7354,層次 16,狀態 1 第 1 行的 OLE DB 提供者 'MSDAORA' 提供無效的中繼資料為資料行 'columnname'。不支援資料類型。
如果 數值 的資料行不在選取清單中,查詢可能也會失敗。
發生的原因
數字 資料型別的資料行具有指定的長度 (沒有有效位數、 沒有預設值允許 NULL)。沒有精確度和小數位數 數字 的資料型別都由一個可變長度 數值 與最多 255 的整數位數代表在 Oracle 中。
其他可行方案
如需有關可能的解決方法的詳細資訊,請參閱下列的 「 Microsoft 知識庫 」 中的文件:
221552PRB: SQL 分散式的查詢具有數值 Oracle 資料行產生錯誤
狀況說明
Microsoft 已確認這是 SQL Server 7.0 中的問題。這個問題已經 Microsoft SQL Server 7.0 的美國 Service Pack 2 獲得修正。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
254561INF: 如何取得 Microsoft SQL Server 7.0 和 Microsoft 資料引擎 (MSDE) 1.0 的 Service Pack 2
如需詳細資訊請連絡主要支援提供者。
其他相關資訊
即使 SQL Server 7.0 Service Pack 2 (SP2) 包含所述問題的根本原因修正,SP2 安裝程式並不會安裝更新的版本的 sp_columns_ex 資料庫目錄預存程序。因此 sp_columns_ex 的呼叫仍可能會傳回下列錯誤:
伺服器: 訊息 515,層級 16,狀態 2,程序 sp_columns_ex 行 133
無法插入 NULL 值到資料行 'DATA_TYPE' 資料表 'tempdb.dbo.#tmp_columns_XX' ; 資料行不允許 Null 值。INSERT 會失敗。已經終止陳述式。
若要更正此問題,請從 SP2 執行 INSTCAT.SQL 指令碼。請如何執行此指令碼,參閱 SQL Server 7.0 線上叢書 》 中的指示 」 預"How 來升級型錄存程序 」 主題。

如果精確度為一 數值 SQL Server 型別太大,Oracle 數字型 別現在被對應至 nvarchar (384)。
數字資料型別 oledb

警告:本文為自動翻譯

內容

文章識別碼:243027 - 最後檢閱時間:12/05/2015 16:07:12 - 修訂: 2.0

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix KB243027 KbMtzh
意見反應