다음을 통해 공유


srv_paramset(확장 저장 프로시저 API)

중요 정보중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하십시오. 대신 CLR 통합을 사용하십시오.

원격 저장 프로시저 호출 반환 매개 변수의 값을 설정합니다. 이 함수는 srv_paramsetoutput 함수로 대체되었습니다.

구문


int srv_paramset (
SRV_PROC *
srvproc
,
int
n
, 
void *
data
,
int
len 
);

인수

  • srvproc
    특정 클라이언트 연결에 대한 핸들(이 경우 원격 저장 프로시저 호출을 수신한 핸들)인 SRV_PROC 구조에 대한 포인터입니다. 이 구조에는 확장 저장 프로시저 API 라이브러리가 응용 프로그램과 클라이언트 간 통신 및 데이터를 관리하는 데 사용하는 정보가 들어 있습니다.

  • n
    설정할 매개 변수의 번호를 나타냅니다. 첫 번째 매개 변수는 1입니다.

  • data
    원격 저장 프로시저에서 매개 변수를 반환할 때 다시 클라이언트로 전달될 데이터 값에 대한 포인터입니다.

  • len
    반환할 데이터의 실제 길이를 지정합니다. 매개 변수의 데이터 형식이 상수 길이이고 Null 값을 허용하지 않는 경우(예: srvbit 또는 srvint1) len이 무시됩니다.

반환 값

매개 변수 값이 성공적으로 설정된 경우 SUCCEED이고, 그렇지 않으면 FAIL입니다. 현재 원격 저장 프로시저가 없는 경우, n번째 원격 저장 프로시저 매개 변수가 없는 경우, 매개 변수가 반환 매개 변수가 아닌 경우 및 len 인수가 유효하지 않은 경우 FAIL이 반환됩니다.

len이 0이면 NULL이 반환됩니다. len을 0으로 설정해야만 클라이언트에 NULL이 반환됩니다.

매개 변수가 MicrosoftSQL Server 2005 데이터 형식 중 하나인 경우 이 함수는 다음 값을 반환합니다.

새 데이터 형식

반환 데이터 길이

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 = 데이터에 대한 유효한 포인터

 

주의

매개 변수에는 원격 저장 프로시저를 사용하여 클라이언트와 응용 프로그램 간에 전달되는 데이터가 포함되어 있습니다. 클라이언트는 특정 매개 변수를 반환 매개 변수로 지정할 수 있습니다. 이러한 반환 매개 변수에는 개방형 데이터 서비스 서버 응용 프로그램이 다시 클라이언트에 전달하는 값이 포함될 수 있습니다. 반환 매개 변수를 사용하는 것은 참조로 매개 변수를 전달하는 것과 유사합니다.

반환 매개 변수로 호출되지 않은 매개 변수에 대해서는 반환 값을 설정할 수 없습니다. srv_paramstatus를 사용하여 매개 변수가 호출된 방법을 확인할 수 있습니다.

이 함수는 매개 변수의 반환 값을 설정하지만 실제로 반환 값을 클라이언트에 보내지 않습니다. srv_paramset으로 반환 값이 설정되었는지 여부에 관계없이 상태 플래그 SRV_DONE_FINAL이 설정된 상태로 srv_senddone을 호출하면 모든 반환 매개 변수가 자동으로 클라이언트에 전달됩니다.

매개 변수를 사용하여 원격 저장 프로시저를 호출하는 경우 매개 변수를 이름 또는 위치(이름 없음)로 전달할 수 있습니다. 일부 매개 변수는 이름으로 전달하고 일부 매개 변수는 위치로 전달하여 원격 저장 프로시저를 호출하면 오류가 발생합니다. 이 경우에도 SRV_RPC 핸들러는 호출되지만 매개 변수가 없는 것과 같이 처리되며 srv_rpcparams는 0을 반환합니다.

보안 정보보안 정보

확장 저장 프로시저의 원본 코드를 철저히 검토하고 프로덕션 서버에 DLL을 설치하기 전에 컴파일한 DLL을 테스트해야 합니다. 보안 검토 및 테스트에 대한 자세한 내용은 Microsoft 웹 사이트를 참조하십시오.