MS Access + ODBC 8.0 + MySQL 某些字段显示前 10 行 =0,尽管 MySQL 显示其他值
Posted
技术标签:
【中文标题】MS Access + ODBC 8.0 + MySQL 某些字段显示前 10 行 =0,尽管 MySQL 显示其他值【英文标题】:MS Access + ODBC 8.0 + MySQL some field show first 10 rows =0, though MySQL shows other values 【发布时间】:2020-01-10 07:03:07 【问题描述】:特点: MS ACCESS 2010 + ODBC 连接器 + mysql 服务器
问题: 前 10 行中数据类型为 INT 的所有字段都显示 0(零)值。如果我仍然缩短 asc 或 desc 的前 10 行且 INT = 0。当我尝试编辑该记录时,有时我会得到“数据已更改”,但有时当更新这些记录中的某些字段时,会出现实际值。在我关闭并打开该表之前,值再次变为 0
我整天都在寻找解决方案,但我无法处理这个问题。 我有 10 多个表,但问题仅出现在这个主订单表中,它的大小为 4.0 MB,大约有 8000 行。有 76 列,包括 INT、BIT、FLOAT、DATETIME、TIMESTAMP、CHAR、VARCHAR 数据类型和 2 个带表达式(VIRTUAL)的字段。
我尝试减少列和记录数,但没有帮助。
【问题讨论】:
确保安装的 MS SQL 客户端适用于数据库。如果您使用不正确的版本,可能会出现此类故障 请发布您的 MySQL 服务器版本。 ODBC 连接器版本。如果您使用bit
数据类型,请确保它在MySql 中具有1 or 0
的默认值。
ODBC - 8.0.18。 MySQL - 5.7.26。所有位域的默认值 = 0
使用mysql odbc驱动5.9.9-12
@krishKM 是指 MySQL 服务器版本吗?有没有其他办法可以解决这个问题?
【参考方案1】:
看起来像MySQL Connector/ODBC Bug #91191。
当使用经典 ASP/VBScript 和 ODBC(我测试了 8.0.17 和 5.3.13 版本,32 位/64 位)运行 SELECT 准备语句时,任何 INT 数据类型的列始终返回值 0 .
刚刚用MySQL Connector/ODBC 8.0.19修复
【讨论】:
以上是关于MS Access + ODBC 8.0 + MySQL 某些字段显示前 10 行 =0,尽管 MySQL 显示其他值的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 中通过 ODBC 连接 MS SQL 表的查询非常慢
如何在 ms-access VBA 中检索表的 odbc 数据库名称
使用 ODBC 连接到 MYSQL 在 MS-Access 中运行 SQL 时出错