【发布时间】:2012-01-28 14:04:42
【问题描述】:
我有一个 Access 97 VBA 程序,它可以从 PCOM 终端仿真器复制一堆信息。 我想将此数据库与我们拥有的远程 sql 服务器同步。 我找不到任何使用 MS Access 97 执行此操作的人,因此我决定按照我的方式进行操作。 远程数据库已与 Access 97 连接。 这是我要运行的代码:
Set qweMensagens = Mdb.OpenRecordset("SELECT * FROM AtualizarMensagens WHERE AtualizarMensagens.contrato_bb = '" & contratoVAR & "';")
If qweMensagens.RecordCount > 0 Then GoTo MOVENEXTNOW3
qweMensagens.AddNew
qweMensagens!contrato_bb = qweCont!Contrato
qweMensagens!mensagem = qweCont!mensagem
qweMensagens!Data = data_padrao
qweMensagens!Append = qweCont!Append
qweMensagens!qweContratos = qweCont!qweContratos
qweMensagens!men_data_evento = qweCont!men_data_evento
qweMensagens!men_data_movimento = qweCont!men_data_movimento
qweMensagens.Update
这一行出现问题: qweMensagens!mensagem = qweCont!mensagem 运行时错误 3163 - 数据对于字段来说太大。
MS Access DB 上的 qweCont!mensagem 字段是一个具有约 3000 个字符的 MEMO。 而且我已经尝试将 MySQL DB 上的 qweMensagens!mensagem 字段更改为 LONGTEXT 和 LONGBLOB。
This 根本没有帮助。它仍然给出同样的错误。
我意识到这可能是文本类型问题,但解决方案 here 根本没有帮助。甚至here 他们说我应该将 LONGTEXT 用于 MEMO 类型。
我在这里遗漏了什么吗?我可以在发送到mysql服务器之前强制将MEMO类型的数据转换为UTF-8或ANSI吗?
编辑:
奇怪,如果我复制 MEMO 字段并使用 MySql Workbench 将其粘贴到表格上,它工作正常...也许我应该设置一个变量来复制信息?
编辑2:
那没用。仍然说该领域无法处理那么多信息。我开始认为这与访问处理情况的方式有关……也许有办法将此信息附加到 MySql 中?
【问题讨论】:
标签: mysql sql ms-access vba jet