我收到错误消息“向导应包含32个数字和4个破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。”同时连接到mysql数据库并获取数据enter image description here。
我正在使用Visual Studio 2012。
答案 0 :(得分:0)
Connector / NET有一个约定,其中CHAR(36)
列会自动映射到System.Guid
。通常,这是从表中读取数据时发生的,但听起来像是在调用MySqlConnection.Open()
时发生在您身上,这很不寻常。发布完整的异常调用堆栈可能有助于我们确定原因。
一种可能的解决方法 可能是将OldGuids=true
添加到您的连接字符串中;这将导致Connector / NET将CHAR(36)
映射为System.String
,将BINARY(16)
映射为System.Guid
。如果您的数据库中有包含BLOB数据的BINARY(16)
列,那么这当然会引起问题。
最后一个选择是将连接器切换到MySqlConnector并使用其GuidFormat=None
连接字符串选项(如果要禁用所有自动Guid映射)。