关于.net连接mysql时配置文件要怎么写

时间:2021-05-09 11:25:59

最近在写一个.net项目,用的是mysql数据库。因为平时基本不怎么用mysql开发.net项目,于是上网百度了下关于.net引用mysql数据库的案例。

基本就是下载mysql数据库的驱动然后dll引入(具体网上有)

我按照网上的方法引入了dll,MySql.Data和MySQLDriverCS~~然后引用命名空间的时候用的是MySQLDriverCS。在配置文件中写连接字符串的时候,我是这么写的

  <add name="connectionString" connectionString="server=192.168.1.247;database=prodmng;User ID=root;Password=root; port=3306" providerName="MySql.Data.MySqlClient" />


看起来应该是没错,但是在运行的时候老是报错,首先是报root账号的密码错误,后来,我把密码改成了本地数据库的root账号的密码,结果能连上数据库,而且是本地的数据库!!这说明我配置中写的sever的ip根本没起作用!后来我在网上有找了很久,找到了问题所在!代码如下:

<add name="connectionString" connectionString="Location=192.168.1.247;Data Source=prodmng;User ID=root;Password=root; port=3306" providerName="MySql.Data.MySqlClient" />

我把server改成location  ,database改成Data Source 后,就能连上247服务器的数据库了!!

后来,在网上发现有些人是用MySql.Data.MySqlClient这个库的,然后我就试了下这个库。这个哭和之前那个MySQLDriverCS不同的地方在于里面的类名中的sql字母大小写不一样,比如MySql.Data.MySqlClient中的MySqlConnection在MySQLDriverCS中就是MySQLConnection。在引用这个库之后,我发现我之前改过的连接字符串报错了!不存在location这个属性,于是我把连接字符串改成之前那样:

<add name="connectionString" connectionString="server=192.168.1.247;database=prodmng;User ID=root;Password=root; port=3306" providerName="MySql.Data.MySqlClient" />

然后运行程序,没有问题,能访问数据库!