Ablaufverfolgung für den Datenzugriff unter Linux und macOS
Der unixODBC-Treibermanager unter macOS und Linux unterstützt die Nachverfolgung von ODBC-API-Aufrufeinträgen und das Beenden des ODBC-Treibers für SQL Server.
Bearbeiten Sie den Abschnitt [ODBC]
der Datei odbcinst.ini
, um das ODBC-Verhalten Ihrer Anwendung zu verfolgen. Legen Sie die Werte Trace=Yes
und TraceFile
auf den Pfad der Datei fest, die die Ausgabe der Ablaufverfolgung enthält. Beispiel:
[ODBC]
Trace=Yes
TraceFile=/home/myappuser/odbctrace.log
Anstelle einer persistenten Datei können Sie auch /dev/stdout
oder den Namen eines beliebigen anderen Geräts verwenden, an das die Ausgabe der Ablaufverfolgung gesendet werden soll. Mit den obigen Einstellungen werden in allen Fällen, in denen eine Anwendung den unixODBC Driver Manager lädt, alle durchgeführten ODBC-API-Aufrufe in der Ausgabedatei aufgezeichnet.
Entfernen Sie nach Abschluss der Ablaufverfolgung Ihrer Anwendung Trace=Yes
aus der Datei odbcinst.ini
, um Leistungseinbußen durch die Ablaufverfolgung zu vermeiden. Stellen Sie außerdem sicher, dass alle nicht benötigten Ablaufverfolgungsdateien entfernt werden.
Die Ablaufverfolgung gilt für alle Anwendungen, die den Treiber in odbcinst.ini
verwenden. Zur Vermeidung der Ablaufverfolgung aller Anwendungen (z. B. um zu verhindern, dass vertrauliche Benutzerinformationen offengelegt werden) können Sie auch angeben, dass dies nur für eine bestimmte Anwendungsinstanz durchgeführt werden soll. Geben Sie für die Instanz den Speicherort einer privaten odbcinst.ini
-Datei an, indem Sie die Umgebungsvariable ODBCSYSINI
verwenden. Beispiel:
$ ODBCSYSINI=/home/myappuser myapp
In diesem Fall können Sie Trace=Yes
zum [ODBC Driver 17 for SQL Server]
-Abschnitt von /home/myappuser/odbcinst.ini
hinzufügen.
Ermitteln, welche Datei vom Treiber genutzt wird
Den Linux- und macOS-ODBC-Treibern ist nicht bekannt, welche odbc.ini
-Datei verwendet wird und wie der Pfad zur odbc.ini
-Datei lautet. Informationen dazu, welche odbc.ini
-Datei verwendet wird, erhalten Sie über die unixODBC-Tools odbc_config
und odbcinst
. Darüber hinaus finden Sie diese Informationen auch in der Dokumentation zum unixODBC Driver Manager.
Beispielsweise gibt der folgende Befehl den Speicherort der odbc.ini
-System- und Benutzerdateien aus, die jeweils die System- und Benutzer-Datenquellennamen (DSNs) enthalten:
$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/odbcuser/.odbc.ini`
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Benutzer-DSNs sind nur für einen bestimmten Benutzer verfügbar. Benutzer-DSNs werden in einer Datei im Basisverzeichnis eines Benutzers oder einem zugehörigen Unterverzeichnis gespeichert. System-DSNs stehen allen Benutzern im System zur Verfügung, aber sie können nur durch einen Systemadministrator hinzugefügt, geändert und entfernt werden. Wenn ein Benutzer über einen Benutzer-DSN verfügt, der genauso lautet wie ein System-DSN, wird der Benutzer-DSN für durch diesen Benutzer hergestellte Verbindungen verwendet. Weitere Informationen finden Sie in der unixODBC-Dokumentation.