2012-04-16 33 views
0

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

当我尝试打开MySQL连接,我得到了Ubuntu的盒子这个堆栈跟踪从内MonoDevelop的:

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。

+0

堆栈跟踪的异常消息说什么? – 2012-04-16 13:04:18

+0

@RolfBjarneKvinge它说:“MySql.Data.MySql.Client.MySqlException已被抛出,无法连接到任何指定的MySQL主机。”我没有问题使用终端通过MySql连接。我仔细检查了我的字符串值,它们与我在终端中看到的一样(好吧,除了'localhost',我没有在那里指定)。 – BlueVoodoo 2012-04-16 13:18:12

回答

2

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