修正:當您使用 Microsoft ODBC Driver for DB2 存取 IBM DB2 資料表,且 IBM DB2 資料表名稱超過 18 字元時,會出現錯誤訊息:「字串或緩衝區長度無效」

症狀

當您使用 Microsoft ODBC 驅動程式 for DB2 來存取 IBM DB2 (UDB) for z/OS 系統上的 IBM DB2 資料表時,您會收到以下錯誤訊息:

注意

[S1090][Microsoft][ODBC DB2 驅動程式]字串或緩衝區長度無效。

當 IBM DB2 資料表名稱超過 18 個字元時,會發生此問題。

記事​​

  • 此錯誤訊息的確切格式會依使用 ODBC 驅動程式的 DB2 應用程式而有所不同。
  • IBM DB2 UDB for z/OS 先前稱為 IBM DB2/MVS。
  • 此問題也發生在 Microsoft Host Integration Server 2006 中。

原因

當 ODBC 驅動程式 for DB2 連接 IBM 的 UDB for z/OS 系統時,設計上支援最大 18 個字元的表名稱長度。 此長度對應於 IBM DB2 UDB 對 z/OS 版本所支援的最大資料表名稱長度,該版本早於 IBM DB2 UDB 版本的 z/OS 版本。

解決方式

主機整合伺服器 2006

為了解決此問題,請取得最新的 Host Integration Server 2006 服務包。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

979497 如何取得最新的 Host Integration Server 2006 服務包

主機整合伺服器 2004

Microsoft 已提供支援的熱修補程式。 不過,這個熱修正僅針對本文所述的問題進行修正。 只對遇到此問題的系統套用熱修補。 這個熱修補可能會有額外的測試。 因此,如果您沒有受到此問題嚴重影響,我們建議您等待下一次包含此熱修補丁的軟體更新。

如果熱修補程式可供下載,這篇知識庫文章頂部有一個「熱修補丁下載可用」的區塊。 若此部分未出現,請聯絡 Microsoft 客服與支援以取得熱修正。

注意:如果發生其他問題或需要排除故障,您可能需要另行申請服務。 一般的支援費用將適用於不符合本次熱修正範圍的其他支援問題與問題。 欲查詢完整的 Microsoft 客戶服務與支援電話號碼清單,或建立獨立服務請求,請造訪以下 Microsoft 網站:

http://support.microsoft.com/contactus/?ws=support 注意「熱修正下載可用」表單顯示該熱修正可用的語言。 如果你看不到你的語言,那是因為該語言沒有熱修正。

檔案詳細資訊

此熱修正的英文版本包含以下表格中列出的檔案屬性 (或更新版本的檔案屬性) 。 這些檔案的日期與時間是以國際標準時間 (UTC) 表示。 當您檢視檔案資訊時,它會轉換成當地時間。 要找出 UTC 與當地時間的差異,請使用控制台日期與時間項目中的時區標籤。

檔案名稱 檔案版本 檔案大小 日期 時間 平台 SP requirement
Db2oledb.dll 6.0.2048.0 488,960 2006年11月3日 17:31 x86 SP1
Db2oledb.h 不適用 24,579 2006年11月3日 1,736 不適用 SP1
Ddmstr.dll 6.0.2048.0 44,032 2006年11月3日 17:31 x86 SP1
Drdaresync.exe 6.0.2048.0 337,408 2006年11月3日 17:32 x86 SP1
Microsoft.hostintegration.dataaccesslibrary.dll 6.0.2048.0 86,016 2006年11月3日 17:31 x86 SP1
Microsoft.hostintegration.dataaccesstool.exe 6.0.2048.0 2,703,360 2006年11月3日 17:32 x86 SP1
Microsoft.hostintegration.msdb2client.dll 6.0.2048.0 114,688 2006年11月3日 17:31 x86 SP1
Mseidb2c.dll 6.0.2048.0 71,680 2006年11月3日 17:31 x86 SP1
Mseidb2d.dll 6.0.2048.0 435,200 2006年11月3日 17:31 x86 SP1
Mseidrda.dll 6.0.2048.0 695,808 2006年11月3日 17:32 x86 SP1

注意:由於檔案依賴性,最近一次包含這些檔案的熱修正可能同時也包含額外的檔案。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

更多資訊

套用此熱修正後,ODBC Driver for DB2 可存取資料表名稱最多可達 128 字元的 IBM DB2 資料表。 此長度為 IBM DB2 UDB 在 z/OS 8 版本中支援的最大未限定資料表名稱長度。

若想了解更多關於使用 ODBC Driver for DB2 存取欄位名稱為 30 字元的 IBM DB2 資料表時所發生的問題,請點擊以下文章編號以在 Microsoft 知識庫中查看該文章:

924453 修正:當您使用 Microsoft ODBC 驅動程式 for DB2 存取一個欄位名稱為 30 字元的 IBM DB2 資料表時,會出現錯誤訊息:「一般錯誤」

如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

824684 描述用於描述Microsoft軟體更新的標準術語

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。