테이블 반환 매개 변수의 ODBC SQL 유형

적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

새로운 ODBC SQL 형식인 SQL_SS_TABLE에서 테이블 반환 매개 변수에 대한 지원을 제공합니다.

설명

SQL_SS_TABLE 다른 ODBC 또는 SQL Server 데이터 형식으로 변환할 수 없습니다.

SQL_SS_TABLE SQLBindParameter의 ValueType 매개 변수에서 C 데이터 형식으로 사용되거나 APD(애플리케이션 매개 변수 설명자) 레코드의 SQL_DESC_TYPE SQL_SS_TABLE 설정하려고 하면 SQL_ERROR 반환되고 SQLSTATE=HY003, "잘못된 애플리케이션 버퍼 유형"을 사용하여 진단 레코드가 생성됩니다.

IPD 레코드에 SQL_DESC_TYPE이 SQL_SS_TABLE로 설정되어 있고 해당 APD 레코드가 SQL_C_DEFAULT가 아닌 경우 SQL_ERROR가 반환되고 SQLSTATE=HY003, "잘못된 애플리케이션 버퍼 형식입니다"가 표시되며 진단 레코드가 생성됩니다. 이는 SQLSetDescField, SQLSetDescRec 또는 SQLBindParameter의 ParameterType 에서 발생할 수 있습니다.

SQLGetData를 호출할 때 TargetType 매개 변수가 SQL_SS_TABLE 경우 SQL_ERROR 반환되고 "잘못된 애플리케이션 버퍼 유형"인 SQLSTATE=HY003을 사용하여 진단 레코드가 생성됩니다.

테이블 반환 매개 변수 열은 SQL_SS_TABLE 형식으로 바인딩할 수 없습니다. SQLBindParameter 을 SQL_SS_TABLE로 설정하고 ParameterType 를 호출하면 SQL_ERROR가 반환되고 SQLSTATE=HY004, "잘못된 SQL 데이터 형식입니다"가 표시되며 진단 레코드가 생성됩니다. SQLSetDescField 및 SQLSetDescRec에서도 발생할 수 있습니다.

테이블 반환 매개 변수 열 값에는 매개 변수 및 결과 열과 동일한 데이터 변환 옵션이 포함됩니다.

테이블 반환 매개 변수는 SQL Server 2008(10.0.x) 이상에서만 입력 매개 변수가 될 수 있습니다. SQLBindParameter 또는 SQLSetDescField를 통해 SQL_PARAM_INPUT 이외의 값으로 SQL_DESC_PARAMETER_TYPE 설정하려고 하면 SQL_ERROR 반환되고 SQLSTATE=HY105 및 "잘못된 매개 변수 형식"이라는 메시지가 포함된 진단 레코드가 문에 추가됩니다.

테이블 반환 매개 변수에는 행별 기본값이 지원되지 않으므로 테이블 반환 매개 변수 열의 StrLen_or_IndPtr에는 SQL_DEFAULT_PARAM을 사용할 수 없습니다. 대신 애플리케이션에서 열 특성 SQL_CA_SS_COL_HAS_DEFAULT_VALUE를 1로 설정할 수 있습니다. 즉, 해당 열이 모든 행에 대해 기본값을 갖습니다. StrLen_or_IndPtr SQL_DEFAULT_PARAM 설정된 경우 SQLExecute 또는 SQLExecDirect는 SQL_ERROR 반환하고 SQLSTATE=HY090 및 "잘못된 문자열 또는 버퍼 길이"라는 메시지가 포함된 진단 레코드가 문에 추가됩니다.

참고 항목

테이블 반환 매개 변수(ODBC)