다음을 통해 공유


SQL Server Native Client의 ISSCommandWithParameters::SetParameterProperties(OLE DB)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

Important

SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.

매개 변수별 서수로 매개 변수 속성을 설정하거나, SSPARAMPROPS 구조의 배열을 지정하여 대량 매개 변수 속성을 설정합니다.

구문

HRESULT SetParameterProperties(  
      DB_UPARAMS cParams,   
      SSPARAMPROPS rgParamProperties[]);  

인수

cParams[in]
rgParamProperties 배열의 SSPARAMPROPS 구조체 수입니다. 이 개수가 0이면 ISSCommandWithParameters::SetParameterProperties가 명령의 매개 변수에 대해 지정되었을 수 있는 모든 속성을 삭제합니다.

rgParamProperties[in]
설정할 SSPARAMPROPS 구조의 배열입니다.

반환 코드 값

ISSCommandWithParameters::SetParameterProperties 메서드는 핵심 OLE DB ICommandProperties::SetProperties 메서드와 동일한 오류 코드를 반환합니다.

설명

이 메서드를 사용한 매개 변수 속성 설정은 매개 변수별 서수로 허용되거나, 속성 배열에서 SSPARAMPROPS가 작성된 후 단일 ISSCommandWithParameters::SetParameterProperties 호출을 사용하여 허용됩니다.

ISSCommandWithParameters::SetParameterProperties 메서드를 호출하기 전에 SetParameterInfo 메서드를 호출해야 합니다. 호출 SetParameterProperties(0, NULL) 하면 지정된 모든 매개 변수 속성이 지워지지만 호출 SetParameterInfo(0,NULL,NULL) 하면 매개 변수와 연결될 수 있는 모든 속성을 포함하여 모든 매개 변수 정보가 지워지게 됩니다.

ISSCommandWithParameters::SetParameterProperties를 호출하여 DBTYPE_XML 형식이 아닌 매개 변수에 대한 속성을 지정하거나 DBTYPE_UDT DB_E_ERRORSOCCURRED 또는 DB_S_ERRORSOCCURRED 반환하고 해당 매개 변수에 대해 SSPARAMPROPS에 포함된 모든 DBPROP의 dwStatus 필드를 DBPROPSTATUS_NOTSET 표시 합니다. SSPARAMPROPS에 포함된 각 DBPROPSET의 DBPROP 배열을 트래버스하여 DB_E_ERRORSOCCURRED 또는 DB_S_ERRORSOCCURRED 참조하는 매개 변수를 검색해야 합니다.

ISSCommandWithParameters::SetParameterProperties가 호출되어 매개 변수 정보가 SetParameterInfo아직 설정되지 않은 매개 변수의 속성을 지정하는 경우 공급자는 다음 오류 메시지와 함께 E_UNEXPECTED 반환합니다.

먼저 SetParameterInfo 메서드를 호출해야만 지정한 매개 변수에 대해 SetParameterProperties 메서드를 호출할 수 있습니다. 매개 변수 속성을 설정하기 전에 매개 변수 정보를 설정해야 합니다.

ISSCommandWithParameters::SetParameterProperties 호출에 매개 변수 정보가 설정된 일부 매개 변수와 매개 변수 정보가 설정되지 않은 일부 매개 변수가 포함된 경우 SSPARAMPROPS 속성 집합의 DBPROPSET에 있는 dwStatus 속성은 DBSTATUS_NOTSET 함께 반환됩니다.

SSPARAMPROPS 구조체는 다음과 같이 정의됩니다.

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};

SQL Server 2012(11.x)부터 데이터베이스 엔진이 개선되어 ISSCommandWithParameters::SetParameterProperties가 예상 결과에 대한 보다 정확한 설명을 얻을 수 있습니다. 이러한 보다 정확한 결과는 이전 버전의 SQL Server에서 ISSCommandWithParameters::SetParameterProperties에서 반환된 값과 다를 수 있습니다. 자세한 내용은 메타데이터 검색을 참조하세요.

멤버 설명
iOrdinal 전달된 매개 변수의 서수입니다.
cPropertySets rgPropertySets의 DBPROPSET 구조체 수입니다.
rgPropertySets DBPROPSET 구조의 배열을 반환할 메모리에 대한 포인터입니다.

참고 항목

ISSCommandWithParameters(OLE DB)