Compartir a través de


Metadatos de parámetros con valores de tabla para instrucciones preparadas

Una aplicación puede obtener metadatos de una llamada a procedimiento preparada a través de SQLNumParams y SQLDescribeParam. Para los parámetros con valores de tabla, DataTypePtr se establece en SQL_SS_TABLE. Hay metadatos adicionales disponibles a través de SQLGetDescField para SQL_CA_SS_TYPE_NAME, SQL_CA_SS_TYPE_CATALOG_NAME y SQL_CA_SS_TYPE_SCHEMA_NAME.

SQL_CA_SS_TYPE_NAME, SQL_CA_SS_TYPE_CATALOG_NAME y SQL_CA_SS_TYPE_SCHEMA_NAME se pueden utilizar con SQLColumns para obtener los metadatos de columna de los tipos de tabla asociados a parámetros con valores de tabla. En este caso, SQL_SOPT_SS_NAME_SCOPE debe estar establecido en SQL_SS_NAME_SCOPE_TABLE_TYPE antes de llamar a SQLColumns. A continuación, SQL_SOPT_SS_NAME_SCOPE se debe volver a establecer en el valor predeterminado, SQL_SS_NAME_SCOPE_TABLE, cuando la aplicación haya terminado de recuperar los metadatos de columnas de parámetros con valores de tabla.

SQL_CA_SS_TYPE_NAME, SQL_CA_SS_TYPE_CATALOG_NAME y SQL_CA_SS_TYPE_SCHEMA_NAME se pueden utilizar también con parámetros de tipos definidos por el usuario de CLR.

No puede obtener metadatos de parámetros con valores de tabla para instrucciones preparadas que no sean llamadas a procedimientos almacenados. Si lo intenta, la aplicación devuelve SQL_ERROR con SQLSTATE 42000 y el mensaje "error de sintaxis o infracción de acceso".