被迫转到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

最新文章

  1. overflow属性
  2. SQLServer异步调用,批量复制
  3. [转]MongoDB学习 C#驱动操作MongoDB
  4. halcon 常用算子中文解释说明(随时更新)
  5. Jenkin+TestNG进行自动化测试执行
  6. 让你系统认识flume及安装和使用flume1.5传输数据到hadoop2.2
  7. 排列的学习(java)
  8. swift-02代码流程的控制
  9. LVM物理卷命令
  10. SLF4JLoggerContext cannot be cast to LoggerContext
  11. 解决IIS网站.woff 404 (Not Found)问题
  12. TCMalloc
  13. Ansible安装及简单使用备注
  14. 轻松理解 Spark 的 aggregate 方法
  15. Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array(动态规划.递推)
  16. LeetCode算法题-Implement Stack Using Queues
  17. AngularJS学习 之 UI以及逻辑生成
  18. CF&&CC百套计划3 Codeforces Round #204 (Div. 1) E. Jeff and Permutation
  19. C#中对 XML节点进行添加,删除,查找和删除操作
  20. 存储过程关于LOOP循环问题

热门文章

  1. 一文解锁BILIBILI、ACFUN等弹幕网站是如何审核视频
  2. 在一台服务器上搭建相对高可用HiveServer实践
  3. leetcode 55. 跳跃游戏 JAVA
  4. kvm.install
  5. django admin后台的简单使用
  6. UDF-java获取名字中的姓
  7. 最小生成树(Prim算法+Kruskal算法)
  8. 使用Git如何优雅的忽略掉一些不必的文件
  9. CentOS虚拟机断电或强制关机,再开机出现问题:Entering emergency mode. Exit the shell to continue.
  10. 转一个财务方面常用到的数字金额转成汉字大写金额 php类