У меня есть программа 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 - данные тожебольшой для поля.
Поле qweCont! Mensagem в БД MS Access - это MEMO с ~ 3000 симв.И я уже пытался изменить поле qweMensagens! Mensagem в БД MySQL на LONGTEXT и LONGBLOB.
Это совсем не помогло.Это все еще дает ту же ошибку.
Я осознал, что это может быть проблема текстового типа, но решение здесь не помогло вообще.И даже здесь они сказали, что я должен использовать LONGTEXT для типов MEMO.
Я что-то здесь упускаю?Могу ли я принудительно преобразовать данные типа MEMO в UTF-8 или ANSI перед отправкой на сервер mysql?
РЕДАКТИРОВАТЬ:
Странно, если я копирую поле MEMO и вставляю его в таблицу, используя MySql Workbench, все работает нормально ... может быть, мне следует установить переменную для копирования информации?
EDIT2:
Это не сработало.Тем не менее говорит, что поле не может обрабатывать столько информации.Я начинаю думать, что дело в том, как access обрабатывает ситуации ... Может быть, есть способ добавить эту информацию в MySql?