c# - C# .net 与数据库的在线连接
问题描述
我收到错误“Guid 应包含 32 位数字和 4 个破折号 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。” 在连接到 mysql 数据库并获取数据时,请在此处输入图像描述。
我正在使用 Visual Studio 2012。
解决方案
连接器/NET 具有自动CHAR(36)
映射列的约定System.Guid
。通常在从表中读取数据时会发生这种情况,但是在调用 时听起来像是发生在您身上MySqlConnection.Open()
,这是不寻常的。发布完整的异常调用堆栈可以帮助我们确定原因。
一种解决方法可能是添加OldGuids=true
到您的连接字符串;这将导致 Connector/NET映射CHAR(36)
为System.String
和BINARY(16)
。System.Guid
当然,如果您BINARY(16)
的数据库中有包含 BLOB 数据的列,这可能会导致问题。
最后一种选择是将连接器切换到MySqlConnector并使用其GuidFormat=None
连接字符串选项(如果您想禁用所有自动 Guid 映射)。
推荐阅读
- reactjs - React Native 如何绘制曲线三角形
- c - 列出所有登录用户并将其保存到 C、linux 中的文本文件中
- git - `git stash`时自动移动子模块文件的任何方法?
- c# - 需要另一个类中的事件处理程序
- entity-framework - 不止一个迁移配置,实体问题
- javascript - 如何在间隔上自动切换 VueJS 选项卡
- javascript - 更改页面时 QML 变量值归零
- npm - yalc "找不到包
我有一个本地 npm 包,我已经对其进行了更改,但是当我尝试将它们添加到我的消费者存储库以使用
yalc add <package>
我收到此消息来测试这些更改时Could not find package <package> in store (/root
- javascript - 使用对象映射数组
- hadoop - 如何从 Yarn Logs on Data 节点手动查找应用 ID?