我在Visual Studio中制作了一个C#控制台应用程序,以使用.Net套接字作为TCP服务器运行。我可以构建它并使用mono在我的Ubuntu(数字海洋小滴)上运行它,并且效果很好。但是,此C#程序还在本地主机上使用MySQL数据库,其工作方式如下:
using System;
using ADODB;
namespace BlackjackServer
{
class MySQL
{
public Recordset DB_RS;
public Connection DB_CONN;
public void MySQLInit()
{
try
{
DB_RS = new Recordset();
DB_CONN = new Connection();
DB_CONN.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Port=3306;Database=blackjack;User=root;Password=;Option=3;";
DB_CONN.CursorLocation = CursorLocationEnum.adUseServer;
DB_CONN.Open();
Console.WriteLine("Connection to DB was successful");
//For Testing
var db = DB_RS;
{
db.Open("SELECT * FROM users WHERE 0=1", DB_CONN, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic);
db.AddNew();
db.Fields["username"].Value = "test";
db.Fields["password"].Value = "test";
db.Fields["email"].Value = "test@test.com";
db.Update();
db.Close();
}
}
catch(Exception ex)
{
Console.WriteLine("Exception: " + ex);
Console.ReadLine();
}
}
}
}
在我的本地主机上,这可以工作,但是我需要对其进行修改以在Ubuntu上也可以工作。我已经在ubuntu上安装了MySQL数据库,并尝试获取一些unixODBC驱动程序,但似乎找不到如何使用它们通过我编写的程序进行连接。有什么建议么?
最佳答案
我已经找到一种方法(目前)在Win10环境下进行测试以及在Ubuntu服务器上进行部署都可以使用。这是MySQL.Data.MySqlClient(连接器/网络驱动程序),它与我已经在Ubuntu服务器上安装的驱动程序兼容。
我按照本教程进行了设置:http://zetcode.com/db/mysqlcsharptutorial/