srv_paramset(확장 저장 프로시저 API)
적용 대상: SQL Server
Important
SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 CLR 통합을 사용합니다.
원격 저장 프로시저 호출 반환 매개 변수의 값을 설정합니다. 이 함수는 srv_paramsetoutput 함수로 대체되었습니다.
구문
int srv_paramset (
SRV_PROC *
srvproc
,
int
n
,
void *
data
,
int
len
);
인수
srvproc
특정 클라이언트 연결에 대한 핸들인 SRV_PROC 구조체에 대한 포인터입니다(이 경우 원격 저장 프로시저 호출을 받은 핸들). 이 구조에는 확장 저장 프로시저 API 라이브러리가 애플리케이션과 클라이언트 간의 통신 및 데이터를 관리하는 데 사용하는 정보가 포함됩니다.
n
설정할 매개 변수의 번호를 나타냅니다. 첫 번째 매개 변수는 1입니다.
data
원격 저장 프로시저에서 매개 변수를 반환할 때 다시 클라이언트로 전달될 데이터 값에 대한 포인터입니다.
렌
반환할 데이터의 실제 길이를 지정합니다. 매개 변수의 데이터 형식이 상수 길이이고 null 값(예: srvbit 또는 srvint1)을 허용하지 않는 경우 len은 무시됩니다.
반품
매개 변수 값이 성공적으로 설정된 경우 SUCCEED이고, 그렇지 않으면 FAIL입니다. 현재 원격 저장 프로시저가 없는 경우, n번째 원격 저장 프로시저 매개 변수가 없는 경우, 매개 변수가 반환 매개 변수가 아닌 경우 및 len 인수가 유효하지 않은 경우 FAIL이 반환됩니다.
len이 0이면 NULL을 반환합니다. len을 0으로 설정하는 것은 클라이언트에 NULL을 반환하는 유일한 방법입니다.
매개 변수가 Microsoft SQL Server 2005(9.x) 데이터 형식 중 하나인 경우 이 함수는 다음 값을 반환합니다.
새 데이터 형식 | 데이터 길이 반환 |
---|---|
BITN | NULL: len = 0, data = IG, RET = 0 0: 해당 내용 >=255: 해당 내용 <255: 해당 내용 |
BIGVARCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
BIGCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
BIGBINARY | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
BIGVARBINARY | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
NCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
NVARCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
NTEXT | NULL: len = IG, data = IG, RET = 0 ZERO: len = IG, data = IG, RET = 0 >=255: len = IG, data = IG, RET = 0 <255: len = IG, data = IG, RET = 0 |
RET = srv_paramset의 반환 값 | |
IG = 값이 무시됩니다. | |
valid = 데이터에 대한 유효한 포인터 |
설명
매개 변수는 원격 저장 프로시저를 사용하여 클라이언트와 애플리케이션 간에 전달된 데이터를 포함합니다. 클라이언트는 특정 매개 변수를 반환 매개 변수로 지정할 수 있습니다. 이러한 반환 매개 변수는 Open Data Services 서버 애플리케이션이 클라이언트에 다시 전달하는 값을 포함할 수 있습니다. 반환 매개 변수를 사용하는 것은 참조로 매개 변수를 전달하는 것과 유사합니다.
반환 매개 변수로 호출되지 않은 매개 변수의 반환 값을 설정할 수 없습니다. srv_paramstatus 사용하여 매개 변수가 호출된 방법을 확인할 수 있습니다.
이 함수는 매개 변수의 반환 값을 설정하지만 실제로는 반환 값을 클라이언트로 보내지 않습니다. srv_paramset으로 반환 값이 설정되었는지 여부에 관계없이 상태 플래그 SRV_DONE_FINAL이 설정된 상태로 srv_senddone을 호출하면 모든 반환 매개 변수가 자동으로 클라이언트에 전달됩니다.
매개 변수를 사용하여 원격 저장 프로시저 호출을 수행할 때 매개 변수는 이름 또는 위치(이름 없음)로 전달될 수 있습니다. 이름으로 전달된 일부 매개 변수와 위치로 전달된 일부 매개 변수를 사용하여 원격 저장 프로시저 호출을 수행하면 오류가 발생합니다. SRV_RPC 처리기는 여전히 호출되지만 매개 변수가 없는 것처럼 나타나고 srv_rpcparams 0을 반환합니다.
Important
확장 저장 프로시저의 소스 코드를 철저히 검토해야 하며, 프로덕션 서버에 설치하기 전에 컴파일된 DLL을 테스트해야 합니다. 보안 검토 및 테스트에 대한 자세한 내용은 이 Microsoft 웹 사이트를 참조하세요.