狀況
當您使用 DB2 的 Microsoft ODBC 驅動程式來存取 IBM DB2 資料表上 IBM DB2 萬用資料庫 (UDB) z/OS 系統時,您會收到下列錯誤訊息︰
[S1090][Microsoft][ODBC DB2 驅動程式]無效的字串或緩衝區長度。
IBM DB2 的資料表名稱多於 18 個字元時,就會發生這個問題。
注意事項-
這個錯誤訊息的正確格式可能因使用 db2 的 ODBC 驅動程式的應用程式而有所不同。
-
Z/OS 的 IBM DB2 UDB 先前是已知為 IBM DB2/MVS 中。
-
Microsoft 主機整合 Server 2006 也會發生這個問題。
原因
DB2 的 ODBC 驅動程式被設計來支援最大的資料表名稱長度為 18 個字元,當連線到系統 z/OS IBM DB2 UDB 的 DB2 的 ODBC 驅動程式。此長度會對應到最大的資料表名稱的長度所支援的 IBM DB2 UDB 早 z/OS 第 8 版的 IBM DB2 UDB z/OS 版本。
解決方案
主機整合伺服器 2006
若要解決這個問題,請取得最新的 service pack,主應用程式整合 Server 2006 的。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
如何取得最新的主應用程式整合 Server 2006 service pack 的979497
主機整合伺服器 2004
支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果此問題的影響不會很嚴重,我們建議您等候含此 hotfix 的下一版軟體更新。
如果 hotfix 可供下載,在此知識庫文件頂端將出現「可用的 Hotfix」區段。如果這個區段沒有出現,請連絡 Microsoft 客戶服務及支援以取得 hotfix。 注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站︰http://support.microsoft.com/contactus/?ws=support注意「 下載 Hotfix 」 表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。
檔案資訊
此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
平台 |
預存程序需求 |
---|---|---|---|---|---|---|
Db2oledb.dll |
6.0.2048.0 |
488,960 |
03-Nov-2006 |
17:31 |
x86 |
SP1 |
Db2oledb.h |
不適用 |
24,579 |
03-Nov-2006 |
17:36 |
不適用 |
SP1 |
Ddmstr.dll |
6.0.2048.0 |
44,032 |
03-Nov-2006 |
17:31 |
x86 |
SP1 |
Drdaresync.exe |
6.0.2048.0 |
337,408 |
03-Nov-2006 |
17:32 |
x86 |
SP1 |
Microsoft.hostintegration.dataaccesslibrary.dll |
6.0.2048.0 |
86,016 |
03-Nov-2006 |
17:31 |
x86 |
SP1 |
Microsoft.hostintegration.dataaccesstool.exe |
6.0.2048.0 |
2,703,360 |
03-Nov-2006 |
17:32 |
x86 |
SP1 |
Microsoft.hostintegration.msdb2client.dll |
6.0.2048.0 |
114,688 |
03-Nov-2006 |
17:31 |
x86 |
SP1 |
Mseidb2c.dll |
6.0.2048.0 |
71,680 |
03-Nov-2006 |
17:31 |
x86 |
SP1 |
Mseidb2d.dll |
6.0.2048.0 |
435,200 |
03-Nov-2006 |
17:31 |
x86 |
SP1 |
Mseidrda.dll |
6.0.2048.0 |
695,808 |
03-Nov-2006 |
17:32 |
x86 |
SP1 |
注意由於檔案相依性,包含上述檔案的最新版 hotfix 也可能包含其他檔案。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
更多的資訊
您套用此 hotfix 之後,針對 DB2 的 ODBC 驅動程式可以存取 IBM DB2 資料表具有最多可有 128 個字元的資料表名稱。這個長度是由 IBM DB2 UDB z/OS 第 8 版支援的最大的不合格的資料表名稱長度。
如需有關當您使用 DB2 的 ODBC 驅動程式來存取 IBM DB2 資料表有 30 個字元的資料行名稱時,就會發生問題的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰修正924453 ︰ 存取 IBM DB2 資料表有 30 個字元的資料行名稱的情況下,您在使用 DB2 的 Microsoft ODBC 驅動程式時出現錯誤訊息: 「 一般錯誤 」 如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
用來描述 Microsoft 軟體更新標準術語的編號 824684描述 本文將所述之產品製造協力廠商均與 Microsoft 無關。Microsoft 不對這些產品之其他相關效能或可靠性作出任何擔保或默示。