私は、PCOMターミナルエミュレータから情報の束をコピーするAccess 97 VBAプログラムを持っています。 私はこのデータベースを私たちが持っているリモートSQLサーバと同期させたいと思っています。 MS Access 97を使用してこれを行った人物を見つけることができませんでしたので、自分のやり方で決めました。 リモート・データベースがこれは私が実行しようとしているコードでアクセス97 でconectedされています:MEMO Ms Jet DBデータ型をMySqlに変換する
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 実行時エラー3163をmensagem - !フィールドのデータが大きすぎます。
MS AccessデータベースのqweCont!mensagemフィールドは、MEMO〜3000 Charです。 そして、すでにMySQL DBのqweMensagens!mensagemフィールドをLONGTEXTとLONGBLOBに変更しようとしました。
This全く助けませんでした。それでも同じエラーが発生します。
これはテキストタイプの問題である可能性がありますが、解決策hereはまったく役に立たなかったと思います。さらに、hereでも、私はLONGTEXTをMEMOタイプに使うべきだと言っていました。
ここに何か不足していますか? mysqlサーバに送信する前に、MEMOタイプのデータ変換をUTF-8またはANSIに強制することはできますか?
EDIT:
奇妙な、私はMEMOフィールドをコピーするとMySQL Workbenchを使用してテーブルの上に貼り付けた場合、それは正常に動作します...多分私は情報をコピーするための変数を設定する必要がありますか?
EDIT2:
これは機能しませんでした。それでも、この分野は多くの情報を扱うことができないと言われています。私はそれがアクセスがシートを処理する方法について何かだと思っています...多分、この情報をMySqlに追加する方法がありますか?
コーリングエラー:ユーザー定義の種類が定義されていません。 'Set cnn = New ADODB.Connection'で停止します。私はアクセス97を使用しています。 –
申し訳ありませんが、私はワンピースを忘れています – rogerio