Compartir a través de


Asignación de SQLGetConnectOption

Cuando una aplicación llama a SQLGetConnectOption a través de un controlador ODBC 3.x , la llamada a

SQLGetConnectOption(hdbc, fOption, pvParam)   

se asigna de la siguiente manera:

  • Si fOption indica una opción de conexión definida por ODBC que devuelve una cadena, el Administrador de controladores llama a .

    SQLGetConnectAttr(ConnectionHandle, Attribute, ValuePtr, BufferLength, NULL)  
    
  • Si fOption indica una opción de conexión definida por ODBC que devuelve un valor entero de 32 bits, el Administrador de controladores llama a .

    SQLGetConnectAttr(ConnectionHandle, Attribute, ValuePtr, 0, NULL)  
    
  • Si fOption indica una opción de instrucción definida por el controlador, el Administrador de controladores llama a .

    SQLGetConnectAttr(ConnectionHandle, Attribute, ValuePtr, BufferLength, NULL)  
    

En los tres casos anteriores, el argumento ConnectionHandle se establece en el valor de hdbc, el argumento Attribute se establece en el valor de fOption y el argumento ValuePtr se establece en el mismo valor que pvParam.

Para las opciones de conexión de cadena definidas por ODBC, el Administrador de controladores establece el argumento BufferLength en la llamada a SQLGetConnectAttr en la longitud máxima predefinida (SQL_MAX_OPTION_STRING_LENGTH); para una opción de conexión que no es de cadena, BufferLength se establece en 0.

En el caso de un controlador ODBC 3.x , el Administrador de controladores ya no comprueba si Option está entre SQL_CONN_OPT_MIN y SQL_CONN_OPT_MAX o es mayor que SQL_CONNECT_OPT_DRVR_START. El controlador debe comprobar la validez de los valores de opción.