次の方法で共有


srv_paramlen (拡張ストアド プロシージャ API)

ms164694.note(ja-jp,SQL.90).gif重要 :
この機能は、Microsoft SQL Server の将来のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。代わりに、CLR 統合を使用してください。

リモート ストアド プロシージャ呼び出しのパラメータのデータ長を返します。この関数に代わって srv_paraminfo 関数が使用されるようになりました。

構文


int srv_paramlen (
SRV_PROC *
srvproc
,
int
n 
);

引数

  • srvproc
    特定のクライアント接続のためのハンドル (この場合は、リモート ストアド プロシージャ呼び出しを受け取るハンドル) である SRV_PROC 構造体を指すポインタです。この構造体には、アプリケーションとクライアントの間の通信やデータを管理するために、拡張ストアド プロシージャ API ライブラリで使用する情報が格納されます。
  • n
    パラメータの番号を示します。最初のパラメータは 1 です。

戻り値

パラメータ データの実際の長さをバイト数で返します。n 番目のパラメータがない場合、またはリモート ストアド プロシージャがない場合は、-1 を返します。n 番目のパラメータが NULL である場合は 0 を返します。

パラメータが次に示すいずれかの Microsoft SQL Server 2005 システム データ型である場合、この関数は次の値を返します。

新しいデータ型 入力データ長

BITN

NULL: 1

ゼロ: 1

255 以上 : N/A

255 未満 : N/A

BIGVARCHAR

NULL: 0

ゼロ: 1

255 以上 : 255

255 未満 : 実際の len

BIGCHAR

NULL: 0

ゼロ: 255

255 以上 : 255

255 未満 : 255

BIGBINARY

NULL: 0

ゼロ: 255

255以上 : 255

255 未満 : 255

BIGVARBINARY

NULL: 0

ゼロ: 1

>=255: 255

255 未満 : 実際の len

NCHAR

NULL: 0

ゼロ: 255

255 以上 : 255

255 未満 : 255

NVARCHAR

NULL: 0

ゼロ: 1

255 以上 : 255

255 未満 : 実際の len

NTEXT

NULL: -1

ゼロ: -1

255 以上 : -1

255 未満 : -1

*   実際の len とは、マルチバイト文字列 (cch) の長さを示します。

解説

リモート ストアド プロシージャ パラメータのデータ長には、それぞれ実際値および最大値があります。NULL 値を許容しない標準固定長データ型では、長さの実際値と最大値は等しくなります。可変長データ型では、この 2 つの値が異なる場合があります。たとえば、varchar(30) として宣言したパラメータには、長さが 10 バイトしかないデータを格納することが可能です。このパラメータは実際の長さが 10 で、最大の長さが 30 です。srv_paramlen 関数は、リモート ストアド プロシージャの実際のデータ長をバイト数で取得します。パラメータの最大のデータ長を取得するには、srv_parammaxlen を使用します。

パラメータを指定してリモート ストアド プロシージャを呼び出す場合、パラメータは名前で指定することも、名前を使用せずにその位置を指定して渡すこともできます。名前によるパラメータ指定と位置によるパラメータ指定を混合してリモート ストアド プロシージャを呼び出すと、エラーが発生します。エラーが発生しても SRV_RPC ハンドラは呼び出されますが、パラメータが存在しないと見なされ、srv_rpcparams は 0 を返します。

ms164694.security(ja-jp,SQL.90).gifセキュリティ メモ :
拡張ストアド プロシージャのソース コードを十分に確認し、コンパイルした DLL をテストしたうえで実稼働サーバーにインストールしてください。セキュリティの確認およびテストの詳細については、Microsoft の Web サイトを参照してください。

参照

関連項目

srv_paraminfo (拡張ストアド プロシージャ API)
srv_rpcparams (拡張ストアド プロシージャ API)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手