[FIX] OLE オートメーション (sp_OA) 拡張ストアド プロシージャへの入力パラメータが 4,000 文字に切り詰められる

文書翻訳 文書翻訳
文書番号: 325492 - 対象製品
すべて展開する | すべて折りたたむ

現象

sp_OASetProperty OLE オートメーション拡張ストアド プロシージャまたは sp_OAMethod OLE オートメーション拡張ストアド プロシージャに 4,001 文字以上 8,000 文字以下の文字列を渡すと、入力文字列はオブジェクトに渡される前に 4,000 文字に切り詰められます。この際、エラーは発生しません。

sp_OASetProperty OLE オートメーション拡張ストアド プロシージャを使用して 8,000 文字より長い文字列をプロパティに設定するか、または 8,000 文字よりも長い入力パラメータを sp_OAMethod OLE オートメーション拡張ストアド プロシージャに渡すと、次のエラー メッセージが表示されます。
hr         Source                       Description
  ---------- ---------------------------- --------------------------
  0x8004275C ODSOLE Extended Procedure    srv_paraminfo でのエラーです。
  0x8004275C ODSOLE Extended Procedure    Error in srv_paraminfo.

					

解決方法

この問題を解決するために、SQL Server 2000 の最新の Service Pack の適用をお願いいたします。最新の SQL Server サービスパックのダウンロードおよびインストールについて詳しくは以下をご覧下さい。
290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack
290211 [INF] 最新の SQL Server 2000 Service Pack の入手方法

状況

弊社では、これを Microsoft SQL Server version 2000 の問題として確認しています。
この問題は、Microsoft SQL Server version 2000 Service Pack 3 で修正されています。

詳細

: この修正は、sp_OASetProperty および sp_OAMethod に長い入力パラメータを渡す場合に発生する問題に対処することのみを目的としています。この修正により、sp_OASetProperty を使用して、8,000 文字よりも長い文字列をオブジェクト プロパティに設定したり、8,000 文字よりも長い文字列を入力パラメータとして sp_OAMethod に渡せるようになります。

しかし、この修正では、sp_OAGetProperty OLE オートメーション拡張ストアド プロシージャまたは sp_OAMethod OLE オートメーション拡張ストアド プロシージャを使用して、4,000 文字より長い文字列を出力パラメータとして取得する場合に発生する問題には対処していません。この修正で問題が解決しない事例とその際に表示されるエラー メッセージを以下の表に示します。

sp_OAGetProperty を使用して 8,000 文字よりも長い文字列プロパティを取得する場合、または sp_OAMethod を使用して 8,000 文字よりも長い OUTPUT パラメータを取得した場合、次のエラー メッセージが表示されることがあります。
  hr         Source                       Description
  ---------- ---------------------------- --------------------------

  0x8004275C ODSOLE Extended Procedure    srv_paraminfo でのエラーです。
  0x8004275C ODSOLE Extended Procedure    Error in srv_paraminfo.
					
sp_OAGetProperty を使用して文字列の長さが 4,001 文字から 8,000 文字までの文字列プロパティを取得する場合、またはこのようなプロパティを sp_OAMethod の戻り値として取得した場合、次のエラー メッセージが表示されることがあります。
  hr         Source                       Description
  ---------- ---------------------------- --------------------------
  0x8004271A ODSOLE Extended Procedure    srv_convert のエラーです。
  0x8004271A ODSOLE Extended Procedure    Error in srv_convert.
					
sp_OAGetProperty または sp_OAMethod を使用して、Transact-SQL ステートメントの TEXT 型のパラメータに対して 4,001 文字より短い文字列の OUTPUT パラメータまたは戻り値を取得した場合、次のエラー メッセージが表示されることがあります。
  hr         Source                       Description
  ---------- ---------------------------- --------------------------
  0x8004271C ODSOLE Extended Procedure    srv_paramset のエラーです。
  0x8004271C ODSOLE Extended Procedure    Error in srv_paramset.
					
sp_OAMethod からの戻り値として 8,000 文字よりも長い文字列を取得した場合、次のエラー メッセージが表示されることがあります。
  hr         Source                       Description
  ---------- ---------------------------- --------------------------
  0x8004271F ODSOLE Extended Procedure    この文字列またはバイナリ列に対して指定したソース データ、あるいはパラメータが長すぎます。
  0x8004271F ODSOLE Extended Procedure    The source data specified for this string or binary column or parameter is too long.
					

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 325492 (最終更新日 2002-12-18) をもとに作成したものです。

プロパティ

文書番号: 325492 - 最終更新日: 2003年11月10日 - リビジョン: 3.1
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2000 Standard Edition
キーワード:?
kbsqlserv2000sp3fix kbbug kbfix kbsqlserv2000presp3fix KB325492
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

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