通过Connector/ODBC提高Microsoft Access和MySQL之间的集成:
对于所有版本的Access,启用Connector/ODBC
返回匹配的行
选择。对于Access 2.0,还启用模拟ODBC 1.0
选择。包括一个
时间戳
列中您希望能够更新的所有表。为了获得最大的可移植性,不要在列声明中使用长度规范(在4.1之前的MySQL版本中不支持长度规范)。包括一个主键在每个MySQL表中,你想使用Access。否则,新的或更新的行可能显示为
#删除#
.只使用
双
浮动的领域。与单精度浮点数比较时,访问失败。症状通常是新的或更新的行可能显示为#删除#
或者您无法查找或更新行。如果正在使用Connector/ODBC链接到具有
长整型数字
列时,结果显示为#删除#
.解决方案是:还有一个虚拟的纵队吗
时间戳
作为数据类型。选择
将BIGINT列更改为INT
选项在ODBC DSN Administrator的连接对话框中。从Access中删除表链接并重新创建它。
旧记录可能仍然显示为
#删除#
,但新添加/更新的记录显示正常。如果仍然得到错误
其他用户更改了您的数据
在添加一个时间戳
列,下面的小技巧可能会对你有所帮助:不要使用
表格
数据表视图。相反,创建一个包含您想要的字段的表单,并使用它形式
数据表视图。设置DefaultValue
的属性时间戳
列现在()
.考虑隐藏时间戳
列从视图中显示,这样用户就不会感到困惑。在某些情况下,Access可能会生成MySQL无法理解的SQL语句。您可以通过选择来解决这个问题
“查询| SQLSpecific |直通”
从Access菜单。在Windows NT上,Access报告
团
列如OLE对象
.如果你想拥有备忘录
相反,改变列团
列文本
与ALTER TABLE
.如果在Access中有一个列定义为
字节
, Access尝试将其导出为非常小的整数
而不是非常小的整数无符号
.如果列中的值大于127,就会出现问题。如果在Access中有非常大(长)的表,打开它们可能需要很长时间。或者您可能会耗尽虚拟内存,最终得到一个
ODBC查询失败
错误,表无法打开。要处理此问题,请选择以下选项:返回匹配的行(2)
允许大的结果(8)。
这些加起来的值是10 (
选择= 10
).
在使用Access、ODBC和Connector/ODBC时可能会有用的一些外部文章和提示:
优化访问ODBC应用程序