症狀
假設您使用 [處理二進位做為字元=True] 和 [二進位字碼頁] 連接字串屬性,讓 OLE DB Provider for DB2 將 IBM DB2 二進位資料轉換為字元字串。
升級至 Microsoft Host Integration Server 2013 之後,處理二進位為字元 = True DB2 連接字串屬性不再以字元字串資料的形式傳回二進位資料。 相反地,二進位資料會以二進位資料的形式傳回。
當您使用 Microsoft SQL Server 2012 的 Feature Pack 和 2014 的 Microsoft SQL Server Feature Pack 中包含的 Microsoft OLE DB Provider for DB2 4.0 和 Microsoft OLE DB Provider for DB2 5.0 時也會發生此問題 (分別) 。
原因
發生此問題的原因是,已從「套用至」一節所列產品中的 Microsoft DB2 資料提供者中移除處理二進位為字元 = True 連接字串屬性。
解決方式
要在 OLE DB Provider for DB2 5.0 和 Host Integration Server 2013 中解決此問題,請安裝 Hotfix 2993741。 此 Hotfix 不適用於 OLE DB Provider for DB2 4.0。
Hotfix 資訊
Microsoft 提供支援的 Hotfix。 不過,此 Hotfix 僅用來修正本文所述的問題。 僅將此 Hotfix 套用至發生本文所述問題的系統。 此 Hotfix 可能會收到其他測試。 因此,若您未受到此問題的嚴重影響,建議您等待下一個包含此 Hotfix 的軟體更新。
如果 Hotfix 可供下載,本知識庫文章頂端有「可供 Hotfix 下載」章節。 如果未顯示此章節,請連絡「Microsoft 客戶服務及支援人員」以取得 Hotfix。
注意: 如果發生其他問題或需要進行任何疑難排解,您可能需要建立另外一個服務要求。 一般的支援費用將適用於不符合此特定 Hotfix 資格的其他支援問題和問題。 如需 Microsoft 客戶服務及支援服務的完整電話號碼清單,或建立個別的服務要求,請移至下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support 注意:「Hotfix 下載可用」表單顯示 Hotfix 可用的語言。 如果您找不到您的語言,是因為該語言沒有 Hotfix。
Microsoft Host Integration Server 2013
必要條件您必須安裝 Host Integration Server 2013 的累積更新套件 1 ,才能套用此 Hotfix。
重新啟動資訊套用此 Hotfix 之後,您可能需要重新啟動電腦。
取代資訊此 Hotfix 不會取代任何先前發行的 Hotfix。
Microsoft OLE DB Provider for DB2 5.0 版
必要條件若要套用此 Hotfix,您必須先解除安裝 Microsoft OLE DB Provider for DB2 5.0 的現有安裝。 然後,使用「檔案資訊」一節中列出的 .msi 檔案來安裝此 Hotfix。
重新啟動資訊套用此 Hotfix 之後,您可能需要重新啟動電腦。
取代資訊此 Hotfix 不會取代任何先前發行的 Hotfix。
檔案詳細資訊
此 Hotfix 的英文版具有下表列出 (或更新檔案屬性) 的檔案屬性。 這些檔案的日期與時間是以國際標準時間 (UTC) 表示。 當您檢視檔案資訊時,它會轉換成當地時間。 若要查看 UTC 與當地時間的差異,請使用 [控制台] 中 [日期和時間] 項目的 [時區] 索引標籤。
Microsoft Host Integration Server 2013
適用於所有 x86 版本的 Microsoft Host Integration Server 2013
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|---|---|---|---|---|
| Msdrda.dll | 9.0.2182.2 | 1,017,832 | 2014 年 8 月 28 日 | 19:39 | x86 |
適用於所有 x64 版本的 Microsoft Host Integration Server 2013
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|---|---|---|---|---|
| Msdrda.dll | 9.0.2182.2 | 1,017,832 | 2014 年 8 月 28 日 | 19:39 | x86 |
| Msdrda.dll | 9.0.2182.2 | 1,348,072 | 2014 年 8 月 28 日 | 19:40 | x64 |
Microsoft OLE DB Provider for DB2 5.0 版
適用於所有版本的 Microsoft OLE DB Provider for DB2 5.0 版
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 平台 |
|---|---|---|---|---|---|
| Db2oledbv5_x64.msi | 不適用 | 4,212,736 | 2014 年 8 月 29 日 | 08:53 | 不適用 |
| Db2oledbv5_x86.msi | 不適用 | 3,080,192 | 2014 年 8 月 29 日 | 08:53 | 不適用 |
注意:解決此問題的修正程式也會隨附於 Host Integration Server 2013 (KB2929767) 的 累積更新 2 。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
更多資訊
套用更新之後,必須更新 DB2 連接字串,以設定「二進位字碼頁」內容,以符合主機 CCSID (字碼頁) ,以便正確地將二進位資料轉換為字元字串。
附註 「處理二進位作為字元」連接字串內容未重新加入到 DB2 資料提供者以提供此功能。 而是使用 [二進位字碼頁] 屬性來啟用此功能。