Skip to content

Connect from ‘C’ App

MariaDB Connector/C enables C and C++ applications to establish client connections to SkySQL over TLS. MariaDB Connector/C is a native connector that is written in C.

First Install MariaDB Connector/C

MariaDB Connector/C enables C and C++ applications to establish client connections to SkySQL and MariaDB database products over TLS.

Additional information on MariaDB Connector/C is available in the MariaDB Knowledge Base.

Connection Info

The connection is configured via the information that is initially acquired from the SkySQL Portal pages:

Function Option/Argument Where to find it
mysql_real_connect() host argument The fully Qualified Domain Name from the "Connect" window in SkySQL portal
mysql_real_connect() user argument The desired username, which might be the default username in the Service Credentials view
mysql_real_connect() passwd argument The user's password, which might be the default password in the Service Credentials view if it was not yet customized
mysql_real_connect() port argument The Read-Write Port or Read-Only Port from the "Connect" window in SkySQL portal

Code Example

The following code demonstrates how to use MariaDB Connector/C to connect to SkySQL. This example uses the example database and user account:

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>

int main (int argc, char* argv[])
{

   // Initialize Connection
   MYSQL *conn;
   if (!(conn = mysql_init(0)))
   {
      fprintf(stderr, "unable to initialize connection struct\n");
      exit(1);
   }

   // Connect to the database
   if (!mysql_real_connect(
         conn,                 // Connection
         "example.skysql.com", // Host
         "db_user",            // User account
         "db_user_password",   // User password
         "test",               // Default database
         3006,                 // Port number
         NULL,                 // Path to socket file
         0                     // Additional options
      ))
   {
      // Report the failed-connection error & close the handle
      fprintf(stderr, "Error connecting to Server: %s\n", mysql_error(conn));
      mysql_close(conn);
      exit(1);
   }

   // Use the Connection
   // ...

   // Close the Connection
   mysql_close(conn);

   return 0;
}