To establish a connection to the MySQL server, retrieve an
instance of sql::Connection
from a
sql::mysql::MySQL_Driver
object. A
sql::mysql::MySQL_Driver
object is returned
by sql::mysql::get_mysql_driver_instance()
.
sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
driver = sql::mysql::get_mysql_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "user", "password");
delete con;
Make sure that you free con
, the
sql::Connection
object, as soon as you do
not need it any more. But do not explicitly free
driver
, the connector object. Connector/C++ takes care
of freeing that.
get_mysql_driver_instance()
calls
get_driver_instance()
, which is not
thread-safe. Either avoid invoking these methods from within
multiple threads at once, or surround the calls with a mutex to
prevent simultaneous execution in multiple threads.
These methods can be used to check the connection state or reconnect:
sql::Connection::isValid()
checks whether the connection is alivesql::Connection::reconnect()
reconnects if the connection has gone down
For more information about connection options, see Chapter 10, Connector/C++ Connection Options.