文档首页
MySQL Connector/NET 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


MySQL Connector/NET 开发人员指南  /  Connector/NET 编程  /  二进制和非二进制问题

5.15 二进制和非二进制问题

在某些情况下,MySQL 会返回有关一个或多个列的错误元数据。更具体地说,服务器有时会将非二进制列报告为二进制列(反之亦然)。在这种情况下,连接器实际上无法正确识别正确的元数据。

以下是一些可能返回错误元数据的示例情况:

  • 执行 SHOW PROCESSLIST。某些列即使只包含字符串数据,也会作为二进制列返回。

  • 当使用临时表处理结果集时,某些列可能会返回错误的二进制标志。

  • 某些服务器函数(例如 DATE_FORMAT)会将列错误地返回为二进制列。

由于可以使用 BINARYVARBINARY 数据类型,因此务必遵循服务器返回的元数据。但是,某些现有应用程序可能会在此更改后遇到问题,并且可以使用连接字符串选项来启用或禁用它。默认情况下,Connector/NET 会遵循服务器返回的二进制标志。您可能需要对应用程序进行少量更改才能适应此更改。

如果需要对应用程序进行的更改太大,则将 'respect binary flags=false' 添加到连接字符串会导致连接器使用之前的行为:任何标记为字符串的列(无论二进制标志如何)都将作为字符串返回。只有明确标记为 BLOB 的列才会作为 BLOB 返回。