Übersetzungs-DLLs

Die Anwendung und Datenquelle speichern häufig Daten in verschiedenen Zeichensätzen. ODBC bietet einen generischen Mechanismus, mit dem der Treiber Daten aus einem Zeichensatz in einen anderen übersetzen kann. Es besteht aus einer DLL, die die Übersetzungsfunktionen SQLDriverToDataSource und SQLDataSourceToDriver implementiert, die vom Treiber aufgerufen werden, um alle Datenflüsse zwischen der Datenquelle und dem Treiber zu übersetzen. Diese DLL kann vom Anwendungsentwickler, dem Treiberentwickler oder einem Drittanbieter geschrieben werden.

Die Übersetzungs-DLL für eine bestimmte Datenquelle kann in den Systeminformationen für diese Datenquelle angegeben werden; weitere Informationen finden Sie unter "Unterschlüssel für die Datenquellenspezifikation". Sie kann auch zur Laufzeit mit den SQL_ATTR_TRANSLATE_DLL- und SQL_ATTR_TRANSLATE_OPTION Verbindungsattributen festgelegt werden.

Die Übersetzungsoption ist ein Wert, der nur von einer bestimmten Übersetzungs-DLL interpretiert werden kann. Wenn die Übersetzungs-DLL z. B. zwischen verschiedenen Codeseiten übersetzt wird, kann die Option die Anzahl der Codeseiten geben, die von der Anwendung und der Datenquelle verwendet werden. Für eine Übersetzungs-DLL ist keine Übersetzungsoption erforderlich.

Nachdem eine Übersetzungs-DLL angegeben wurde, lädt der Treiber sie und ruft ihn auf, um alle Daten zu übersetzen, die zwischen der Anwendung und der Datenquelle fließen. Dazu gehören alle SQL-Anweisungen und Zeichenparameter, die an die Datenquelle gesendet werden, sowie alle Zeichenergebnisse, Zeichenmetadaten wie Spaltennamen und Fehlermeldungen, die aus der Datenquelle abgerufen werden. Verbinden ionsdaten werden nicht übersetzt, da die Übersetzungs-DLL erst geladen wird, nachdem die Anwendung mit der Datenquelle verbunden wurde.