c#.net与数据库的联机连接

dluptydi  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(267)

在连接到mysql数据库并获取数据时,出现错误“guid应包含32位带4个破折号(xx-x-x-x-x-)。”请在此处输入图像描述。
我正在使用visual studio 2012。

3qpi33ja

3qpi33ja1#

连接器/网络有一个约定,其中 CHAR(36) 列Map到 System.Guid 自动地。通常在从表中读取数据时会发生这种情况,但在调用 MySqlConnection.Open() ,这是不寻常的。发布完整的异常调用堆栈可以帮助我们确定原因。
一种解决方法是添加 OldGuids=true 连接字符串;这将导致连接器/网络Map CHAR(36) 作为 System.String 以及 BINARY(16) 作为 System.Guid . 当然,这会导致问题,如果你有 BINARY(16) 数据库中包含blob数据的列。
最后一个选择是将连接器切换到mysqlconnector并使用其 GuidFormat=None 连接字符串选项(如果要禁用所有自动guidMap)。

相关问题