Freigeben über


SQLReadFileDSN-Funktion

Konformität
Version eingeführt: ODBC 3.0

Zusammenfassung
SQLReadFileDSN liest Informationen aus einem Datei-DSN.

Syntax

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

Argumente

lpszFileName
[Eingabe] Zeiger auf den Datenpuffer, der den Namen der DSN-Datei enthält. An alle Dateinamen, die noch keine DSN-Erweiterung haben, wird eine DSN-Erweiterung angefügt. Der Wert in *lpszFileName muss eine NULL-Zeichenfolge sein.

lpszAppName
[Eingabe] Zeiger auf den Datenpuffer, der den Namen der Anwendung enthält. Dies ist "ODBC" für den ODBC-Abschnitt. Der Wert in *lpszAppName muss eine NULL-Zeichenfolge sein.

lpszKeyName
[Eingabe] Zeiger auf den Datenpuffer, der den Namen des zu lesenden Schlüssels enthält. Reservierte Schlüsselwörter finden Sie unter "Kommentare". Der Wert in *lpszAppName muss eine NULL-Zeichenfolge sein.

lpszString
[Ausgabe] Zeiger auf den Datenpuffer, der die Zeichenfolge enthält, die dem zu lesenden Schlüssel zugeordnet ist.

Wenn *lpszFileName ein gültiger DSN-Dateiname ist, das lpszAppName-Argument jedoch ein NULL-Zeiger ist und das argument lpszKeyName ein NULL-Zeiger ist, enthält *lpszString eine Liste gültiger Anwendungen. Wenn *lpszFileName ein gültiger DSN-Dateiname und *lpszAppName ein gültiger Anwendungsname ist, aber das lpszKeyName-Argument ein NULL-Zeiger ist, enthält *lpszString eine Liste mit gültigen reservierten Schlüsselwörtern im entsprechenden Abschnitt der DSN-Datei, die durch Semikolons getrennt sind. Wenn *lpszFileName ein gültiger DSN-Dateiname, aber *lpszAppName ein NULL-Zeiger ist und das lpszKeyName-Argument ein NULL-Zeiger ist, enthält *lpszString eine Liste der Abschnitte in der DSN-Datei, die durch Semikolons getrennt ist.

cbString
[Eingabe] Länge des *lpszString-Puffers .

pcbString
[Ausgabe] Gesamtanzahl der Bytes, die in *lpszString zurückgegeben werden können. Wenn die Anzahl der zurückzugebenden Bytes größer oder gleich cbString ist, wird die Ausgabezeichenfolge in *lpszString in cbString abgeschnitten, abzüglich des NULL-Beendigungszeichens. Das pcbString-Argument kann ein NULL-Zeiger sein.

Gibt zurück

Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist, FALSE, wenn sie fehlschlägt.

Diagnose

Wenn SQLReadFileDSN FALSE zurückgibt, kann ein zugeordneter *pfErrorCode-Wert abgerufen werden, indem SQLInstallerError aufgerufen wird. In der folgenden Tabelle sind die *pfErrorCode-Werte aufgeführt, die von SQLInstallerError zurückgegeben werden können, und die einzelnen Werte im Kontext dieser Funktion werden erläutert.

*pfErrorCode Fehler BESCHREIBUNG
ODBC_ERROR_GENERAL_ERR Allgemeiner Installationsfehler Es ist ein Fehler aufgetreten, für den kein spezifischer Installerfehler aufgetreten ist.
ODBC_ERROR_INVALID_BUFF_LEN Ungültige Pufferlänge Das lpszString-Argument war NULL.

Das argument cbString war kleiner oder gleich 0.
ODBC_ERROR_INVALID_PATH Ungültiger Installationspfad Der Pfad des im Argument lpszFileName angegebenen Dateinamens war ungültig.
ODBC_ERROR_INVALID_REQUEST_TYPE Ungültiger Anforderungstyp Das lpszAppName-Argument war NULL, während das argument lpszKeyName gültig war.
ODBC_ERROR_OUT_OF_MEM Nicht genügend Arbeitsspeicher. Das Installationsprogramm konnte die Funktion aufgrund eines Mangels an Arbeitsspeicher nicht ausführen.
ODBC_ERROR_OUTPUT_STRING_TRUNCATED Ausgabezeichenfolge abgeschnitten Die in *lpszString zurückgegebene Zeichenfolge wurde abgeschnitten, da der Wert in cbString kleiner oder gleich dem Wert in *pcbString war.
ODBC_ERROR_REQUEST_FAILED Fehler bei der Anforderung Das Schlüsselwort war im Datei-DSN nicht vorhanden.

Kommentare

ODBC reserviert den Abschnittsnamen [ODBC], in dem die Verbindungsinformationen gespeichert werden sollen. Die reservierten Schlüsselwörter für diesen Abschnitt sind identisch mit denen, die für eine Verbindungszeichenfolge in SQLDriverConnect reserviert sind. (Weitere Informationen finden Sie in der Beschreibung der SQLDriverConnect-Funktion .)

Anwendungen können diese reservierten Schlüsselwörter verwenden, um die Informationen in einem Datei-DSN zu lesen. Wenn eine Anwendung die DSN-lose Verbindungszeichenfolge ermitteln möchte, die einem Datei-DSN zugeordnet ist, kann sie SQLReadFileDSN für jedes der reservierten Verbindungszeichenfolgenschlüsselwörter im Abschnitt [ODBC] aufrufen. Die vollständige Verbindungszeichenfolge, die in einer VERBINDUNG ohne DSN übergeben wird, ist eine Kombination aller Schlüsselwörter (reserviert und treiberspezifisch) im Abschnitt [ODBC].

Informationen über Finden Sie unter
Schreiben von Informationen in einen Datei-DSN SQLWriteFileDSN