다음을 통해 공유


테이블 반환 매개 변수에 대한 ODBC SQL 형식

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

테이블 반환 매개 변수에 대한 지원은 SQL_SS_TABLE 새 ODBC SQL 형식에서 제공됩니다.

설명

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 바인딩할 수 없습니다. parameterType을 SQL_SS_TABLE 설정하여 SQLBindParameter를 호출하면 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)