MySQL Connector/NET 发行说明
在某些情况下,MySQL 会返回有关一个或多个列的错误元数据。更具体地说,服务器有时会将非二进制列报告为二进制列(反之亦然)。在这种情况下,连接器实际上无法正确识别正确的元数据。
以下是一些可能返回错误元数据的示例情况:
执行
SHOW PROCESSLIST
。某些列即使只包含字符串数据,也会作为二进制列返回。当使用临时表处理结果集时,某些列可能会返回错误的二进制标志。
某些服务器函数(例如
DATE_FORMAT
)会将列错误地返回为二进制列。
由于可以使用 BINARY
和 VARBINARY
数据类型,因此务必遵循服务器返回的元数据。但是,某些现有应用程序可能会在此更改后遇到问题,并且可以使用连接字符串选项来启用或禁用它。默认情况下,Connector/NET 会遵循服务器返回的二进制标志。您可能需要对应用程序进行少量更改才能适应此更改。
如果需要对应用程序进行的更改太大,则将 'respect binary flags=false'
添加到连接字符串会导致连接器使用之前的行为:任何标记为字符串的列(无论二进制标志如何)都将作为字符串返回。只有明确标记为 BLOB
的列才会作为 BLOB
返回。