MySQL Connector/ODBC C# test script

Quickly test the MySQL database connection from ASP.NET using this C# test script. It utilizes the MySQL ODBC 8.0 Unicode Driver and SslMode is available.
Published on Wednesday, 3 October 2018

Whenever you need to test your ASP.NET connection to your MySQL database, using ODBC, you can use the following C# test script. Currently it uses MySQL ODBC 8.0 Unicode Driver, but you can easily change the version used. As a bonus it prints some connection information and it requires an SSL connection to your MySQL database (SslMode=REQUIRED).


<%@ Page Language="C#" Trace="False" Debug="False" EnableViewState="False" %>
<%@ import Namespace="System.Data.Odbc" %>

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
  try {
    //Connection string for MyODBC 8.0, pooling=true not added
    string MyConString = "DRIVER={MySQL ODBC 8.0 Unicode Driver};" +
      "Provider=MSDASQL;" +
      "SERVER=HOSTNAME;" +
      "DATABASE=DATABASENAME;" +
      "UID=USERNAME;" +
      "PASSWORD=PASSWORD;" +
      "SslMode=REQUIRED;";

    //Connect to MySQL using MyODBC
    OdbcConnection MyConnection = new OdbcConnection(MyConString);
    MyConnection.Open();

    Response.Write("<br /> !!! success, connected successfully !!!<br />");

    //Display connection information
    Response.Write("Connection Information:<br />");
    Response.Write("Connection String:" + MyConnection.ConnectionString + "<br />");
    Response.Write("Connection Timeout:" + MyConnection.ConnectionTimeout + "<br />");
    Response.Write("Database:" + MyConnection.Database + "<br />");
    Response.Write("DataSource:" + MyConnection.DataSource + "<br />");
    Response.Write("Driver:" + MyConnection.Driver + "<br />");
    Response.Write("ServerVersion:" + MyConnection.ServerVersion + "<br />");

    //Close all resources
    MyConnection.Close();
  }
  catch (OdbcException MyOdbcException)//Catch any ODBC exception ..
  {
    for (int i=0; i < MyOdbcException.Errors.Count; i++)
    {
      Response.Write("ERROR #" + i + "<br />" +
        "Message: " + MyOdbcException.Errors[i].Message + "<br />" +
        "Native: " + MyOdbcException.Errors[i].NativeError.ToString() + "<br />" +
        "Source: " + MyOdbcException.Errors[i].Source + "<br />" +
        "SQL: " + MyOdbcException.Errors[i].SQLState + "<br />");
    }
  }
}

</script>

Set SslMode to PREFERRED or DISABLED if SSL is not available on your MySQL database server.

Use NO_SSPS=1 as a connection option when server-side prepared statements are not returning any results - for example with VARCHAR() columns larger than 1024 bytes. If you have installed Connector/ODBC side-by-side with Connector/NET, you can use this MySQL ODBC test script next to my MySql.Data.MySqlClient test script.

Neat, right? :)