RODBCを使用してRからGreenPlum PostgreSQLデータベースに接続するときに、私が今までに一度も得られなかった新しいエラーが発生しています。 EMACS/ESSとRStudioの両方を使用してエラーが発生しました.RODBC呼び出しは過去と同じように機能しています。PostgreSQLでのrodbc文字エンコーディングエラー
library(RODBC)
gp <- odbcConnect("greenplum", believeNRows = FALSE)
data <- sqlQuery(gp, "select * from mytable")
> data
[1] "22P05 7 ERROR: character 0xc280 of encoding \"UTF8\" has no equivalent in "WIN1252\";\nError while executing the query"
[2] "[RODBC] ERROR: Could not SQLExecDirect 'select * from mytable'"
EDIT: はちょうど別のテーブルを照会しようとした結果を手に入れました。だから、RODBCの問題ではなく、PostgreSQLのテーブルエンコーディングの問題だと思います。
R version 2.13.0 (2011-04-13)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RODBC_1.3-2
>
通常のRセッションでは機能しますか?この場合、 'sessionInfo()'からの出力が役に立ちます。 1つまたは両方のシステムのロケール/エンコーディングが変更されたようなものがあるようです。 (ところで、 'odbcConnect()'コールの引数名 'believeNRows'のタイプミスはありません) –
@Gavinいいえ、通常のRセッションからは動作しません。私はsessionInfo()からの出力を追加し、タイプミスを修正しました。ありがとうございました。 – wahalulu