FIX: System.InvalidCastException 的例外狀況時,可能會發生在.NET Framework 2.0 呼叫 OdbcConnection.GetSchema 方法

文章翻譯 文章翻譯
文章編號: 922981 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當您呼叫 OdbcConnection.GetSchema 方法在 Microsoft.NET Framework 2.0 時,可能會發生 System.InvalidCastException 例外狀況。如果下列情況成立,可能就會發生這個問題:
  • 您可以使用 資料型別 參數值呼叫 OdbcConnection.GetSchema 方法。
  • 您使用協力廠商 ODBC 驅動程式是使用 ODBC 3.0 版或較新版本相容。

發生的原因

OdbcConnection.GetSchema 方法在 ODBC API 呼叫 SQLGetTypeInfo 函式。SQLGetTypeInfo 函式會傳回包含幾個資料行的結果集。某些 ODBC 驅動程式可能使用不正確的 SQL 資料型別實作的資料行。比方說某些 ODBC 驅動程式會實作下列資料行使用帶正負號的值:
  • CASE_SENSITIVE
  • FIXED_PREC_SCALE
  • UNSIGNED_ATTRIBUTE
這些資料行應該改用 SQL_SMALLINT 值。SQL_SMALLINT 值是不帶正負號的值。如果這些資料行的其中一個使用帶正負號的值,當 Microsoft ADO.NET 嘗試 System.Int32 值將值轉型時,就會發生 System.InvalidCastException 例外狀況。

解決方案

Hotfix 資訊

支援的 Hotfix 現在可以從 Microsoft,但它只用來修正本文所述的問題。僅適用於發生此特定問題的系統。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個的 Microsoft.NET Framework 2.0 Service Pack 包含此 Hotfix。

如果要立即解決這個問題,洽詢 Microsoft 技術支援部以取得該 Hotfix。如需 Microsoft 產品支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/contactus/?ws=support
附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

必要條件

您必須有安裝若要套用此 Hotfix 的.NET Framework 2.0。

重新啟動需求

您沒有套用此 Hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 Hotfix 不會取代任何其他的 Hotfix。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間中項目控制台中的 [時區] 索引標籤]。
.NET Framework 2.0 的 32 位元系統 (x86)
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Mscordacwks.dll2.0.50727.190801,2802006 年八月 04 日04: 03x86
Mscorlib.dll2.0.50727.1904,317,1842006 年八月 04 日04: 03x86
Mscorwks.dll2.0.50727.1905,624,3202006 年八月 04 日04: 02x86
Normalization.dll2.0.50727.19015,3602006 年八月 04 日04: 03x86
Normidna.nlp不適用59,3422006 年八月 04 日04: 03不適用
Normnfc.nlp不適用45,7942006 年八月 04 日04: 03不適用
Normnfd.nlp不適用39,2842006 年八月 04 日04: 03不適用
Normnfkc.nlp不適用66,3842006 年八月 04 日04: 03不適用
Normnfkd.nlp不適用60,2942006 年八月 04 日04: 03不適用
Sos.dll2.0.50727.190382,4642006 年八月 04 日04: 03x86
System.Data.dll2.0.50727.1902,893,8242006 年八月 04 日04: 03x86
.NET Framework 2.0 的 64 位元系統 (x64)
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Mscordacwks.dll2.0.50727.1901,597,95203-Aug-2006 年19: 04x64
Mscorlib.dll2.0.50727.1903,956,7362006 年八月 04 日00: 11x64
Mscorwks.dll2.0.50727.19010,302,97603-Aug-2006 年19: 00x64
Normalization.dll2.0.50727.19018,43203-Aug-2006 年19: 01x64
Normidna.nlp不適用59,34203-Aug-2006 年19: 03不適用
Normnfc.nlp不適用45,79403-Aug-2006 年19: 03不適用
Normnfd.nlp不適用39,2842006 年八月 04 日04: 03不適用
Normnfkc.nlp不適用66,38403-Aug-2006 年19: 03不適用
Normnfkd.nlp不適用60,29403-Aug-2006 年19: 03不適用
Sos.dll2.0.50727.190480,76803-Aug-2006 年19: 10x64
System.Data.dll2.0.50727.1902,959,8722006 年八月 04 日00: 11x64
.NET Framework 2.0 的 64 位元系統 (IA-64)
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Mscordacwks.dll2.0.50727.1902,711,04003-Aug-2006 年19: 09IA 64
Mscorlib.dll2.0.50727.1903,956,7362006 年八月 04 日00: 58IA 64
Mscorwks.dll2.0.50727.19021,264,38403-Aug-2006 年19: 05IA 64
Normalization.dll2.0.50727.19044,03203-Aug-2006 年19: 06IA 64
Normidna.nlp不適用59,3422006 年八月 04 日04: 03不適用
Normnfc.nlp不適用45,79403-Aug-2006 年19: 08不適用
Normnfd.nlp不適用39,2842006 年八月 04 日04: 03不適用
Normnfkc.nlp不適用66,3842006 年八月 04 日04: 03不適用
Normnfkd.nlp不適用60,2942006 年八月 04 日04: 03不適用
Sos.dll2.0.50727.190862,72003-Aug-2006 年19: 16IA 64
System.Data.dll2.0.50727.1903,102,7202006 年八月 04 日00: 58IA 64

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
824684用來描述 Microsoft 軟體更新標準術語的說明

?考

如需有關 OdbcConnection.GetSchema 方法的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms135852.aspx

屬性

文章編號: 922981 - 上次校閱: 2007年12月3日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0
關鍵字:?
kbmt kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB922981 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:922981
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com