gpt4 book ai didi

mysql - 将 MEMO Ms Jet DB 数据类型转换为 MySql

转载 作者:行者123 更新时间:2023-11-29 14:37:51 24 4
gpt4 key购买 nike

我有一个 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吗?

编辑:

奇怪的是,如果我使用 MySql Workbench 复制 MEMO 字段并将其粘贴到表上,它就可以正常工作...也许我应该设置一个变量来复制信息?

编辑2:

那没用。仍然说该领域无法处理那么多信息。我开始认为这与 Access 处理情况的方式有关...也许有一种方法可以将此信息附加到 MySql 中?

最佳答案

我不是 MySQL 方面的专家,但是您能不能只使用 Left 函数来限制您放入新列中的字符长度。显然使用的数字是适合该列的最大值。

问题是,如果 memo 列中存在任何具有较长值的记录,它们最终会被截断并且数据将会丢失。

您还可以创建多个列,并将第一半部分放在一列中,将第二半部分放在另一列中。

希望这有帮助,谢谢马克

关于mysql - 将 MEMO Ms Jet DB 数据类型转换为 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com