[pgsql-jp: 34410] ADO/ODBCによるデータ取得で日本語データが正常に取得できない
森田 雅之
moritam @ jcsc.co.jp
2004年 12月 7日 (火) 14:30:13 JST
お世話になります。森田です。
ADOにてデータを取得する際、Valueプロパティを参照すると、データの後ろにゴミデータが付いてくるといった現象が発生します。
この現象が発生するのは、日本語データが入ったフィールドだけです。コードを後述します。
正常に取得する方法をご教授願えますでしょうか。
・postgreSQLのバージョン 7.3.4
・ODBCドライバのバージョン psqlodbc-jp-20010713版
--- コード ---
Private Sub Command1_Click()
Dim oConn As ADODB.Connection
Dim oRec As ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.ConnectionString = "Provider=MSDASQL;DRIVER=PostgreSQL;" & _
"SERVER=192.168.0.6;" & _
"DATABASE=PG;" & _
"UID=postgres;" & _
"PWD=;"
Call oConn.Open
Set oRec = oConn.Execute("select * from AAA")
With oRec
Do Until .EOF
Debug.Print .Fields("Field1").Value
.MoveNext
Loop
End With
oRec.Close
Set oRec = Nothing
oConn.Close
Set oConn = Nothing
End Sub
--- イミディエイトウィンドウの出力結果 ---
ああああああああああああ 72
Field1はCHAR(30)で定義しております。
後ろにあるゴミデータは区切り文字と次フィールドのデータのようです。
またFieldのActualSizeは42となっておりました。
フィールドサイズ+文字数(「あ」の数)となっているようです。
よろしくお願いいたします。
以上
pgsql-jp メーリングリストの案内