MYSQL_ROW row = mysql_fetch_row(m_hRes);
for(UINT nIndex = 0; nIndex < nFieldsCount; nIndex++)
{
MYSQL_FIELD* fls = mysql_fetch_field_direct(m_hRes, nIndex);
SQLType::e_Type eType = static_cast<SQLType::e_Type>(fls->type);
...将服务器从MariaDB 10.5更新为11.6 FLS->类型始终是0(eDecimal),这在大多数情况下绝对是错误的。该值似乎不再被编写/使用。我还更新了客户端DLL(libmariadb.dll) - 没有区别。这似乎是服务器问题。但是我不知道,为什么。有什么设置吗?
还检查了客户端以接收该数据,因为它可以使用较旧的服务器
我需要设置conn-> set_meta_mode(mysql :: metadata_mode :: full);MariadB中的默认和开关可能有类似的问题,也不仅影响数据类型,而是列名称也不影响...
感谢所有提示。我会尝试时间来找到开关
我猜想它缺少元数据,并且可能有一个新的开关以获取完整的元数据。