Ich versuche herauszufinden, wie Sie die MySQL Connection/Thread-ID mit Connector C++ erhalten.MySQL C++ Connector: Wie bekomme ich die Thread/Verbindungs-ID?
mysql_thread_id (MYSQL *) scheint nur für diese verfügbar sein, aber ich bin mir nicht sicher, wie eine Instanz von MYSQL aus dem Connector C++ abgerufen werden.
Was ich versucht habe:
int threadId = mysql_thread_id(NULL);
Aber das gibt nur Null.
Irgendwelche Ideen?
Die Signatur ist zwar mysql_thread_id (MYSQL * mysql), dies sollte aber nicht funktionieren (Sie übergeben eine SQL :: Connection * anstelle von MYSQL *). Ich habe es auch ausprobiert und bekomme wie erwartet einen Kompilierungsfehler. – wizurd
Das Übergeben des Verbindungszeigers funktioniert, wenn Sie die systemeigene MySQL-C-API verwenden, scheint aber nicht mit Connector/C++ - Verbindungsobjekten zu funktionieren. Eine Alternative wäre, die Abfrage SELECT CONNECTION_ID() auszuführen und das Ergebnis abzurufen (http://dev.mysql.com/doc/refman/5.7/en/mysql-thread-id.html). –
Ich habe meine Antwort bearbeitet, um die alternative Lösung zu zeigen :) –