从MS Access连接时截断MySQL字段

时间:2010-04-27 23:27:42

标签: mysql ms-access

我在MS Access 2003中为MySQL表创建了一个链接表。我使用了MySQL网站上找到的mysql-connector-odbc-5.1.6-win32驱动程序。当我查看表时,我只能在VARCHAR(255)字段中看到70个字符。有没有人有幸从MS Access使用MySQL?

3 个答案:

答案 0 :(得分:0)

只是一个猜测,我不确定70是否是一个确切的数字,但是:

255/4 = 63.75 (so 63)这意味着255个字节的限制只允许63个4字节字符。

我不确定是否在MySQL< - >访问它的某处使得编码很奇怪。

如果您的表使用更大的字符串编码,可能这限制了字符数?

我也可能完全错了。

答案 1 :(得分:0)

自从我使用MS Access中的MySQL表以来已经有一段时间了,但是从我记忆中来看,我认为Access在链接表时不会直接使用MySQL的字段定义。我不记得这是用于表还是传递查询,但我记得有时似乎Access基于它下载的前几行中包含的数据的字段定义。

可以在连接字符串中指定可选参数,以帮助设置正确的字段定义。有关更多信息,请访问www.connectionstrings.com或MySQL网站。

我实际上已经远离在Access中链接MySQL表,因为连接两个表的查询的性能非常糟糕。但是,我确实经常使用传递查询并获得了很大的成功。使用传递查询时,查询的工作由MySQL引擎完成,而不是访问JET引擎,这通常会产生更好的性能,因为只有最终数据会传递到客户端。但是,当您使用传递查询时,您将失去在Access中进行查询编辑的WYSIWYG优势。

我将使用一个复杂的解决方案,使用传递查询自动创建一个我可以定期手动更新的表。我必须在设置期间手动调整表定义(因为查询没有下拉字段定义),但是一旦我调整了表,我就可以用MySQL数据以编程方式更新表。当我不得不在Access中做很多复杂的事情并且正在减少大量数据时,我使用了这种技术。

答案 2 :(得分:0)

嗯,这很令人尴尬。我正在查看的表中有一个列是较长列的截断版本,而我正在查看该列。