被迫转到MySQL数据库,发现读取数据库时,tinyint类型的值都被转化为boolean了,这样大于1的值都丢失,变成true了。查阅资料MySQL中无Boolean类型,都是存储为tinyint了,这也无妨,但是读回时不应该都变成boolean啊。网络检索没有解决方案,准备向官方报告bug,细想官方不应该有这样低级错误,先下载Connector/NET源码研究一下,发现其中有TreatTinyAsBoolean这个属性,检索百度无结果,google有几条英文的,看来大家都没有注意到这点,或者说很少用.Net玩 MySQL的。

这样将数据库连接字符串变为这样形式就一切正常了:
Database=dbname;Data Source=192.168.1.1;Port=3306;User Id=root;Password=****;Charset=utf8;TreatTinyAsBoolean=false;

顺便把源码中涉及的所有属性都列出来:
Server,host, data source, datasource, address, addr, network address: 数据库位置(以上任何关键字均可)
Database,initial catalog:数据库名
Port:        socket 端口,默认 3306
ConnectionProtocol,protocol:    连接协议,默认 Sockets
PipeName,pipe:        连接管道,默认 MYSQL
UseCompression,compress:    连接是否压缩,默认 false
AllowBatch:    是否允许一次执行多条SQL语句,默认 true
Logging:    是否启用日志,默认 false
SharedMemoryName:内存共享的名称,默认 MYSQL
UseOldSyntax,old syntax, oldsyntax:是否兼容旧版的语法,默认 false
ConnectionTimeout,connection timeout:连接超时等待时间,默认15s
DefaultCommandTimeout,command timeout:MySqlCommand 超时时间,默认 30s
UserID, uid, username, user name, user:数据库登录帐号
Password,pwd:    登录密码
PersistSecurityInfo:是否保持敏感信息,默认 false
Encrypt:已经用 SSL 替代了,默认 false
CertificateFile:证书文件(.pfx)格式
CertificatePassword:证书的密码
CertificateStoreLocation:证书的存储位置
CertificateThumbprint:证书指纹
AllowZeroDateTime:日期时间能否为零,默认 false
ConvertZeroDateTime:为零的日期时间是否转化为 DateTime.MinValue,默认 false
UseUsageAdvisor, usage advisor:是否启用助手,会影响数据库性能,默认 false
ProcedureCacheSize,procedure cache, procedurecache:同一时间能缓存几条存储过程,0为禁止,默认 25
UsePerformanceMonitor,userperfmon, perfmon:是否启用性能监视,默认 false
IgnorePrepare:    是否忽略 Prepare() 调用,默认 true
UseProcedureBodies,procedure bodies:是否检查存储过程体、参数的有效性,默认 true
AutoEnlist:    是否自动使用活动的连接,默认 true
RespectBinaryFlags:是否响应列上元数据的二进制标志,默认 true
TreatTinyAsBoolean:是否将 TINYINT(1) 列视为布尔型,默认 true
AllowUserVariables:是否允许 SQL 中出现用户变量,默认 false
InteractiveSession,interactive:会话是否允许交互,默认 false
FunctionsReturnString:所有服务器函数是否按返回字符串处理,默认 false
UseAffectedRows:是否用受影响的行数替代查找到的行数来返回数据,默认 false
OldGuids:    是否将 binary(16) 列作为 Guids,默认 false
Keepalive:    保持 TCP 连接的秒数,默认0,不保持。
ConnectionLifeTime:连接被销毁前在连接池中保持的最少时间(秒)。默认 0
Pooling:    是否使用线程池,默认 true
MinimumPoolSize, min pool size:线程池中允许的最少线程数,默认 0
MaximumPoolSize,max pool size:线程池中允许的最多线程数,默认 100
ConnectionReset:连接过期后是否自动复位,默认 false
CharacterSet, charset:向服务器请求连接所使用的字符集,默认:无
TreatBlobsAsUTF8:binary blobs 是否按 utf8 对待,默认 false
BlobAsUTF8IncludePattern:列的匹配模式,一旦匹配将按 utf8 处理,默认:无
SslMode:    是否启用 SSL 连接模式,默认:MySqlSslMode.None

文章出处:http://home.3233567.cn/space.php?uid=182&do=blog&id=159

MYSQL连接字符串参数解析(解释)的更多相关文章

  1. 转:MYSQL连接字符串参数解析(解释)

    被迫转到MySQL数据库,发现读取数据库时,tinyint类型的值都被转化为boolean了,这样大于1的值都丢失,变成true了.查阅资料MySQL中无Boolean类型,都是存储为tinyint了 ...

  2. MYSQL连接字符串参数详细解析(大全参考)

    Connector/Net Connection String Options Reference Database=dbname;Data Source=192.168.1.1;Port=3306; ...

  3. mysql连接字符串,连接字段结果集

    archie2010 ${原来姹紫嫣红开遍,似这般都付与扣钉八哥} mysql连接字符串,连接字段结果集 select CONCAT('My', 'S', 'QL连接字符串') as MySql; 连 ...

  4. MySql 连接字符串

    一.MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式 1.本地数据库连接Driver={MySQL};Server=localhost;Option=16834; ...

  5. MySQL连接字符串总结

    一.MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式 1.本地数据库连接 Driver={MySQL};Server=localhost;Option=16834 ...

  6. MYSQL连接相关参数和状态值详解

    针对mysql的连接参数和状态值,本文做些介绍和对比 一.MYSQL连接参数变量 1.常用连接数限制参数 show variables like '%connect%'; | max_connect_ ...

  7. [MySQL] - MySQL连接字符串总结

    来源:http://blog.sina.com.cn/s/blog_5f0dab1e0100e4pv.html?retcode=0 一.MySQL Connector/ODBC 2.50 (MyODB ...

  8. mysql 连接字符串 CONCAT

    以前用SQL Server 连接字符串是用“+”,现在数据库用mysql,写个累加两个字段值SQL语句居然不支持"+",郁闷了半天在网上查下,才知道mysql里的+是数字相加的操作 ...

  9. Mybatis连接MySQL时,可以使用的JDBC连接字符串参数

    一.举例 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test_db?useAffectedRows=true&allowMultiQu ...

随机推荐

  1. eclipse 创建maven

    下载地址自行搜索关键字:“eclipse官网”即可,注意下版本,32bit or 64bit. maven插件以及svn等相关插件安装设置问题不在这里赘述,有时间的话会发布出来. 在这里说一下,第一. ...

  2. controller 状态码

      工具使用lombok表示.如没有使用lombok 请 删除@Getter    @Setter  并给get set方法 调用方法: 类型使用 Status   --->    public ...

  3. linux命令之系统管理命令(上)

    1.lsof:查看进程打开的文件 该命令可以列举系统中已经被打开的文件,可以根据文件找到对应的进程信息,同时也可以根据进程信息找到进程打开的文件. 参数 说明 -c 进程名 显示指定的进程名打开的文件 ...

  4. java 实验3 继承+多态

    实验3  继承与多态 **类可以实现多个接口 但只有单继承!** 1.继承 1).继承语法  class 子类名 extends 父类{    } 2).构造函数(通过source即可得到) 注意: ...

  5. Elasticsearch 5.4.1 安装简易文档

    1. 系统安装JDK 1.8.0_131或以上版本的JDK 2. 创建软件安装目录 # mkdir -p /opt/software3. 创建elk用户,新版的ELK不在支持使用root账户运行程序, ...

  6. Java - 多线程与锁

    进程-线程 进程,Process,处于运行中的程序,系统进行资源分配和调度的独立单位,拥有独立的内存空间(堆). 动态性:生命周期和状态: 独立性:独立实体: 并发性:Concurrency,抢占式多 ...

  7. 两种 js下载文件的步骤

    ----------------------------------引用地址链接------------------------------------------------- http://www ...

  8. 渐进增强 VS 优雅降级

    渐进增强(Progressive Enhancement):一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果.交互.追加功能达到更好的体验. 优雅降级(Gracefu ...

  9. 斐讯K2P通过配置文件开启telnet的原理分析

    看过几篇教程之后我已经知道怎么备份固件了.但是现在有一个问题,我的本意是把K2P原机带的固件备份出来,用教程上的方法进行开启telnet.备份固件等操作是否会改变固件呢?下面我们来验证这个问题. Op ...

  10. python为何需要虚拟环境--Python虚拟环境的安装和配置-virtualenv

    一 虚拟环境 virtual environment 它是一个虚拟化,从电脑独立开辟出来的环境.通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容 ...