Metadatos de parámetros con valores de tabla adicionales

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Para recuperar metadatos de un parámetro con valores de tabla, una aplicación llama a SQLProcedureColumns. Para un parámetro con valores de tabla, SQLProcedureColumns devuelve una sola fila. Se han agregado dos columnas adicionales específicas de SQL Server, SS_TYPE_CATALOG_NAME y SS_TYPE_SCHEMA_NAME, para proporcionar información de esquema y catálogo para los tipos de tabla asociados a parámetros con valores de tabla. De conformidad con la especificación ODBC, SS_TYPE_CATALOG_NAME y SS_TYPE_SCHEMA_NAME aparecen antes de que todas las columnas específicas del controlador agregadas en versiones anteriores de SQL Server, y después de todas las columnas que exige ODBC.

En la tabla siguiente se enumeran las columnas que son significativas para los parámetros con valores de tabla.

Nombre de la columna Tipo de datos Valor/comentarios
DATA_TYPE Smallint no NULL SQL_SS_TABLE
TYPE_NAME WVarchar (128) no NULL El nombre del tipo del parámetro con valores de tabla.
COLUMN_SIZE Entero NULL
BUFFER_LENGTH Entero 0
DECIMAL_DIGITS Smallint NULL
NUM_PREC_RADIX Smallint NULL
NULLABLE Smallint no NULL SQL_NULLABLE
COMENTARIOS Varchar NULL
COLUMN_DEF WVarchar(4000) NULL
SQL_DATA_TYPE Smallint no NULL SQL_SS_TABLE
SQL_DATETIME_SUB Smallint NULL
CHAR_OCTET_LENGTH Entero NULL
ORDINAL_POSITION Integer no NULL La posición ordinal del parámetro.
IS_NULLABLE Varchar "YES"
SS_TYPE_CATALOG_NAME WVarchar (128) no NULL El catálogo que contiene la definición del tipo de tabla del parámetro con valores de tabla.
SS_TYPE_SCHEMA_NAME WVarchar (128) no NULL El esquema que contiene la definición del tipo de tabla del parámetro con valores de tabla.

Las columnas WVarchar se definen como Varchar en la especificación ODBC, pero se devuelven realmente como WVarchar en todos los controladores ODBC de SQL Server recientes. Este cambio se realizó cuando se agregó la compatibilidad con Unicode a la especificación de ODBC 3.5, pero no se declaró de forma explícita.

Para obtener metadatos adicionales para parámetros con valores de tabla, una aplicación usa las funciones de catálogo SQLColumns y SQLPrimaryKeys. Antes de llamar a estas funciones para los parámetros con valores de tabla, la aplicación debe establecer el atributo SQL_SOPT_SS_NAME_SCOPE de la instrucción en SQL_SS_NAME_SCOPE_TABLE_TYPE. Este valor indica que la aplicación necesita metadatos para un tipo de tabla en lugar de una tabla real. A continuación, la aplicación pasa el TYPE_NAME del parámetro con valores de tabla como parámetro TableName . SS_TYPE_CATALOG_NAME y SS_TYPE_SCHEMA_NAME se usan con los parámetros CatalogName y SchemaName , respectivamente, para identificar el catálogo y el esquema del parámetro con valores de tabla. Cuando una aplicación ha terminado de recuperar los metadatos para los parámetros con valores de tabla, debe volver a establecer SQL_SOPT_SS_NAME_SCOPE en su valor predeterminado de SQL_SS_NAME_SCOPE_TABLE.

Si SQL_SOPT_SS_NAME_SCOPE está establecido en SQL_SS_NAME_SCOPE_TABLE, las consultas a los servidores vinculados producen un error. Se producirá un error en las llamadas a SQLColumns o SQLPrimaryKeys con un catálogo que contenga un componente de servidor.

Consulte también

Parámetros con valores de tabla (ODBC)