SQL ServerをMySQLへ移行するべく日々ちまちまと勉強中です。
AccessよりMySQL内のストアドを実行しているのですが、パラメータに日本語を指定するとエラー終了してしまいます。
文字コードが関係しているという事は理解出来たのですが、具体的にどう対策したら良いのか分かりません。
アドバイスや代替案など、お気づきの点がありましたらご教示下さい。
宜しくお願い致します。
発生している問題・エラーメッセージ
Access
1実行時エラー '-2147467259(80004005)': 2[MySQL][ODBC 8.0(w) Driver][mysqld-8.0.15]Incorrect string value: 3'\x82\xA0\x82\xA2\x82\xA4...' for column 'prmTEXT' at row 1
該当のソースコード
Access
1Dim CN As ADODB.Connection 2Dim CMD As ADODB.Command 3Set CN = New ADODB.Connection 4Set CMD = New ADODB.Command 5 6CN.ConnectionString = "DRIVER={MySQL ODBC 8.0 UNICODE Driver};" _ 7 & "DSN=TestDB;" _ 8 & "SERVER=IPアドレス;" _ 9 & "DATABASE=TestDB;" _ 10 & "USER=ユーザー名;" _ 11 & "PASSWORD=パスワード;" 12CN.Open 13 14With CMD 15 .ActiveConnection = CN 16 .CommandType = adCmdStoredProc 17 .CommandText = "ST_TEST" 18 .Parameters.Append .CreateParameter("prmTEST", adVarChar, adParamInput, 10, Me.Txt_TEXT) 19 'Me.Txt_TEXT = 'テスト' 20 Call .Execute 21End With 22
MySQL
1CREATE DEFINER=`testuser1`@`%` PROCEDURE `TestDB`.`ST_TEST`(IN prmTEXT VARCHAR(10)) 2BEGIN 3 INSERT INTO T_TEXT SELECT prmTEXT; 4END
試したこと
・MySQL側でストアドを手動実行。問題なし。
・MySQLの文字セットをutf8からsjisに変更、何も変わらず。。。
補足情報
・Access2007
・MySQL 8.0.15
あなたの回答
tips
プレビュー