Share via


Función SQLReadFileDSN

Conformidad
Versión introducida: ODBC 3.0

Resumen
SQLReadFileDSN lee información de un DSN de archivo.

Sintaxis

  
BOOL SQLReadFileDSN(  
     LPCSTR   lpszFileName,  
     LPCSTR   lpszAppName,  
     LPCSTR   lpszKeyName,  
     LPSTR    lpszString,  
     WORD     cbString,  
     WORD *   pcbString);  

Argumentos

lpszFileName
[Entrada] Puntero al búfer de datos que contiene el nombre del archivo .dsn. Una extensión .dsn se anexa a todos los nombres de archivo que aún no tienen una extensión .dsn. El valor de *lpszFileName debe ser una cadena terminada en null.

lpszAppName
[Entrada] Puntero al búfer de datos que contiene el nombre de la aplicación. Se trata de "ODBC" para la sección ODBC. El valor de *lpszAppName debe ser una cadena terminada en null.

lpszKeyName
[Entrada] Puntero al búfer de datos que contiene el nombre de la clave que se va a leer. Consulte "Comentarios" para las palabras clave reservadas. El valor de *lpszAppName debe ser una cadena terminada en null.

lpszString
[Salida] Puntero al búfer de datos que contiene la cadena asociada a la clave que se va a leer.

Si *lpszFileName es un nombre de archivo .dsn válido, pero el argumento lpszAppName es un puntero nulo y el argumento lpszKeyName es un puntero nulo, *lpszString contiene una lista de aplicaciones válidas. Si *lpszFileName es un nombre de archivo .dsn válido y *lpszAppName es un nombre de aplicación válido, pero el argumento lpszKeyName es un puntero nulo, *lpszString contiene una lista de palabras clave reservadas válidas en la sección adecuada del archivo DSN, delimitado por punto y coma. Si *lpszFileName es un nombre de archivo .dsn válido, pero *lpszAppName es un puntero nulo y el argumento lpszKeyName es un puntero nulo, *lpszString contiene una lista de las secciones del archivo DSN, delimitadas por punto y coma.

cbString
[Entrada] Longitud del búfer *lpszString .

pcbString
[Salida] Número total de bytes disponibles para devolver en *lpszString. Si el número de bytes disponibles para devolver es mayor o igual que cbString, la cadena de salida de *lpszString se trunca en cbString menos el carácter de terminación null. El argumento pcbString puede ser un puntero nulo.

Devoluciones

La función devuelve TRUE si se ejecuta correctamente, FALSE si se produce un error.

Diagnóstico

Cuando SQLReadFileDSN devuelve FALSE, se puede obtener un valor *pfErrorCode asociado llamando a SQLInstallerError. En la tabla siguiente se enumeran los valores *pfErrorCode que SQLInstallerError puede devolver y explica cada uno en el contexto de esta función.

*pfErrorCode Error Descripción
ODBC_ERROR_GENERAL_ERR Error general del instalador Error por el que no se produjo ningún error de instalador específico.
ODBC_ERROR_INVALID_BUFF_LEN Longitud de búfer no válida El argumento lpszString era NULL.

El argumento cbString era menor o igual que 0.
ODBC_ERROR_INVALID_PATH Ruta de acceso de instalación no válida La ruta de acceso del nombre de archivo especificado en el argumento lpszFileName no era válida.
ODBC_ERROR_INVALID_REQUEST_TYPE Tipo de solicitud no válido El argumento lpszAppName era NULL, mientras que el argumento lpszKeyName era válido.
ODBC_ERROR_OUT_OF_MEM No hay memoria suficiente El instalador no pudo realizar la función debido a una falta de memoria.
ODBC_ERROR_OUTPUT_STRING_TRUNCATED Cadena de salida truncada La cadena devuelta en *lpszString se truncaba porque el valor de cbString era menor o igual que el valor en *pcbString.
ODBC_ERROR_REQUEST_FAILED Error en la solicitud La palabra clave no existía en el archivo DSN.

Comentarios

ODBC reserva el nombre de sección [ODBC] en el que se almacenará la información de conexión. Las palabras clave reservadas para esta sección son las mismas que las reservadas para una cadena de conexión en SQLDriverConnect. (Para obtener más información, consulte la descripción de la función SQLDriverConnect ).

Las aplicaciones pueden usar estas palabras clave reservadas para leer la información de un DSN de archivo. Si una aplicación quiere averiguar la cadena de conexión sin DSN asociada a un DSN de archivo, puede llamar a SQLReadFileDSN para cualquiera de las palabras clave de cadena de conexión reservadas de la sección [ODBC]. La cadena de conexión completa pasada en una conexión sin DSN es una combinación de todas las palabras clave (reservadas y específicas del controlador) en la sección [ODBC].

Para información acerca de Vea
Escribir información en un DSN de archivo SQLWriteFileDSN