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