MySQL
Info
The Mono provider for MySQL database is the MySQL Connector/Net.
MySQL Connector/Net is a fully managed provider and does not require a client library. You have to get it from MySQL AB. The provider is distributed under the GPL license. This is the recommened provider to use with Mono.
Support for MySQL Connector/Net can be found here. If you decide to compile from sources, you should define the conditional compilation variable MONO (i.e., -d:MONO when compiling from the command line).
Usage
Prerequisites
-
MySQL database
-
MySQL .NET Connector
Connection String
- Format:
"Server=hostname;" + "Database=database;" + "User ID=username;" + "Password=password;" + "Pooling=false"
- Parameters:
Parameter Definition | Description | Example |
---|---|---|
Server or Data Source | Hostname or IP Address of the MySQL server | Server=MYHOST |
Database | name of MySQL database | Database=testdb |
Port | TCP/IP Port to connect. Optional. | Port=3306 |
User ID | name of MySQL database user | User ID=someuser |
Password | password for MySQL database user | Password=mypass12 |
Pooling | whether or not to use connection pooling. YES or TRUE to use connection pooling and NO or FALSE to not use connection pooling. | Pooling=false |
- Installing MySql.Data.dll in the GAC:
cd path_to_your MySql.Data.dll assembly
gacutil -i MySql.Data.dll
C# Example
using System;
using System.Data;
using MySql.Data.MySqlClient;
public class Test
{
public static void Main(string[] args)
{
string connectionString =
"Server=localhost;" +
"Database=test;" +
"User ID=myuserid;" +
"Password=mypassword;" +
"Pooling=false";
IDbConnection dbcon;
dbcon = new MySqlConnection(connectionString);
dbcon.Open();
IDbCommand dbcmd = dbcon.CreateCommand();
// requires a table to be created named employee
// with columns firstname and lastname
// such as,
// CREATE TABLE employee (
// firstname varchar(32),
// lastname varchar(32));
string sql =
"SELECT firstname, lastname " +
"FROM employee";
dbcmd.CommandText = sql;
IDataReader reader = dbcmd.ExecuteReader();
while(reader.Read()) {
string FirstName = (string) reader["firstname"];
string LastName = (string) reader["lastname"];
Console.WriteLine("Name: " +
FirstName + " " + LastName);
}
// clean up
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbcon.Close();
dbcon = null;
}
}
-
Building C# Example:
-
Save the example to a file, such as, TestExample.cs
mcs TestExample.cs -r:System.Data.dll -r:/path/to/MySql.Data.dll
- Running the Example:
mono TestExample.exe