0

我有一段 C# 代码,我正在 Ubuntu 11.10 下的 MonoDevelop 中编译。我已经为 Mono ( using MySql.Data.MySqlClient;) 引用了 MySql,如果我在 Windows 下尝试相同的代码,它会很好地工作。我不得不将 mysql.data.dll 文件重命名为 MySql.Data.dll 以使其在 Linux 中工作。

当我尝试打开 Mysql 连接时,我从 MonoDevelop 中的 Ubuntu 盒子上获得了这个堆栈跟踪:

  at MySql.Data.MySqlClient.NativeDriver.Open () [0x00000] in <filename unknown>:0 
  at MySql.Data.MySqlClient.Driver.Open () [0x00000] in <filename unknown>:0 
  at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x00000] in <filename unknown>:0 
  at MySql.Data.MySqlClient.MySqlConnection.Open () [0x00000] in <filename unknown>:0

我的执行代码如下所示,其中 _dbConn 是 MySqlConnection:

            string connectionString = String.Format("Server={0};Database={1};User ID={2};Password={3};Pooling=false", 
                DbLocation, DbData, DbUser, DbPassw);

            _dbConn = new MySqlConnection(connectionString);
            //On the Open, I get the error
            _dbConn.Open();

有人见过这个问题和/或知道如何解决这个问题吗?注意:我正在使用最新版本的 MySql .Net Connector for Mono。

4

1 回答 1

3

自己解决了。原来 Mono 在这台机器上不是最新的。由于未添加 badgerport 存储库,因此无法看到它。升级到最新版本解决了这个问题。

于 2012-04-16T16:24:16.590 回答