Mysql链接字符串问题

Posted 阳光下的行者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql链接字符串问题相关的知识,希望对你有一定的参考价值。

<add key="Connstringmysql" value="server=xxx.xxx.xxx.xxx;database=YourDatabase;uid=xxx;pwd=xxx;pooling=false;charset=utf8;Treat Tiny As Boolean=false;Convert Zero Datetime=False" />

1.pooling:这个键的值设置为true,当值为True时,任何一个新创建的连接都将添加到连接池中当程序被关闭时,在下次试图开启一个相同的连接时,这个连接将从连接池中取出,如果连接字符串相同,则被认为是同一个连接。如果连接字符串不相同,则认为是不同的连接。
2.charset:这个一看应该明白,设置字符编码
3.Treat Tiny As Boolean:如果设置为True,则Mysql中的tinyint类型会被转换为MS Server中的bit类型,但有时候我们是不想要这来的转换的,所以这个可以根据自己的需要来配置
4.Convert Zero Datetime:今天就遇到了这个问题,当没有设置此属性时,如果Mysql数据库中的datetime列为null的时候,.net在转换时会抛出如下异常:Unable to convert MySQL date/time value to System.DateTime at MySql.Data.Types.MySqlDateTime.GetDateTime()这是因为.net的默认最小日期和Mysql的不匹配,导致转换出错,解决办法就是以上连接串中的(设置Convert Zero Datetime=True)

 

protected static string connectionString = "Server=127.0.0.1;User Id=root;Password=root;Persist Security Info=True;Database=lianxi0727;Allow Zero Datetime=false;";
//Allow Zero Datetime=True应为false,否则返回的日期会是MySql.Data.Types.MySqlDateTime类型,而不是DataTime

数据库中 2018-02-01 00:00:00 若为true则转换失败





以上是关于Mysql链接字符串问题的主要内容,如果未能解决你的问题,请参考以下文章

超链接可以多长?

mySql连接报错

go mysql 报错-表的字符集和代码链接的字符集合不同

[转]关于Navicat和MYSQL字符集不统一出现的中文乱码问题

如何将格式化的 HTML 添加到 Mysql [关闭]

mysql 的远程链接字符