我的测试平台是Ubuntu+Mono1.2.4+MySQL5+Connector/Net 5.1.4,其中Mono和MySQL都是使用apt-get方式安装很方便。MySQL Connector/Net 5.1.4从http://dev./downloads/connector/net/5.1.html 下载Windows Source and Binaries, no installer (ZIP)解压缩得到MySql.Data.dll。
使用gacutil -i MySql.Data.dll把MySql.Data.dll安装到Mono的全局组件目录下。 具体内容参考http://www./MySQL的例子。 特别提出来的是我第一次编译运行的时候出现这样的错误提示: MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts in <0x006c5> MySql.Data.MySqlClient.NativeDriver:Open () in <0x00027> MySql.Data.MySqlClient.Driver:Create (MySql.Data.MySqlClient.MySqlConnectionString settings) in <0x0008d> MySql.Data.MySqlClient.MySqlPool:CreateNewPooledConnection () in <0x001b0> MySql.Data.MySqlClient.MySqlPool:GetPooledConnection () in <0x0003f> MySql.Data.MySqlClient.MySqlPool:GetConnection () in <0x000e5> MySql.Data.MySqlClient.MySqlPoolManager:GetConnection (MySql.Data.MySqlClient.MySqlConnectionString settings) in <0x00050> MySql.Data.MySqlClient.MySqlConnection:Open () 不思不得其解,后来找到一个国外的论坛,得到这样的提示: The most likely cause of this is that MySQL is not configured to accept tcp/ip connections. See here http://dev./doc/mysql/en/can-not-connect-to-server.html make sure your /etc/mysql/my.cnf file does not have the "skip-networking" feature enabled. This is the default in some installations and disables tcp/ip connections. 根据提示我把my.cnf中的 # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 172.22.60.126 bind-address注释掉,然后重新启动mysql服务器程序sudo /etc/init.d/mysql restart就可以正常连接查询了。 GOOD Luck! |
|