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'"
편집 : 그냥 다른 테이블을 쿼리 시도하고 결과를 얻을 수 있었다. 그래서 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()'의 출력이 도움이 될 수 있습니다. 하나 또는 둘 모두의 시스템 로케일/인코딩이 변경되도록 무언가가 변경된 것 같습니다. (그런데,'odbcConnect()'호출에서'believeNRows'라는 인수 이름에 오타가 없습니까?) –
@Gavin 아니요, 정상적인 R 세션에서 작동하지 않습니다. 그냥 시도해 보았습니다. 방금 sessionInfo()에서 출력을 추가하고 오타를 수정했습니다. 덕분에 – wahalulu