Как мне кажется, лучше для связи с MySql использовать managed net connector вместо ODBC. Под виндой писал приложения с его использованием - проблем не было, к тому же этот коннектор позволяет использовать многие фичи mysql, которые недоступны через obdc.
В ubuntu 9.04 его установить можно выполнив команды:
sudo aptitude install libmysql5.0-cil monodoc-mysql5.0-manual
Добавить пакет MySql.Data в референсы проекта
using System;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
namespace mysqlTest
{
class MainClass
{
public static void Main(string[] args)
{
using (MySqlConnection cnn=new MySqlConnection("Server=localhost;Database=test;Uid=root;Pwd=password;"))
{
cnn.Open();
MySqlCommand cmd=new MySqlCommand("insert into test1 values (1,'test')",cnn);
cmd.ExecuteNonQuery();
cmd=new MySqlCommand("select count(*) from test1",cnn);
Console.WriteLine("{0}",cmd.ExecuteScalar());
}
}
}
}
В ubuntu 8.10 такой путь не проходит, так как в дистрибутив включен нерабочий mysql-connector-net. (см. баг
https://bugs.launchpad.net/ubuntu/+source/mysql-connector-net-5.0/+bug/292477)
Чтобы установить его на 8-ке, надо
1. скачать файл mysql-connector-net-5.2.6-noinstall.zip с
http://dev.mysql.com/downloads/connector/net/5.2.html,
2. распаковать архив
3. переименовать файл mysql.data.dll в MySql.Data.dll
4. Из директории, где лежит библиотека, выполнить
gacutil /i MySql.Data.dllПосле чего можно добавлять библиотеку в референсы (только добавлять надо из директории)