我正在訪問商業數據庫。通過提示:RODBC返回0值
select PersonCode, PersonDate from CODB.mastertable where PersonCode=42
PersonCode PersonDate
----------- ------------
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
42 Jan 3 2011
在R:
library(RODBC)
query <- "select PersonCode, PersonDate from CODB.mastertable where PersonCode=42"
connection1 <- odbcConnect("RESDB", uid="userID", pwd="pwdaccess", believeNRows=FALSE)
sqlQuery(connection1,query)
sqlQuery(connection1,query)
PersonCode PersonDate
1 42 01/03/2011 00:00:00.000 UTC
2 42 01/03/2011 00:00:00.000 UTC
3 42 01/03/2011 00:00:00.000 UTC
4 42 01/03/2011 00:00:00.000 UTC
5 42 01/03/2011 00:00:00.000 UTC
6 0 01/03/2011 00:00:00.000 UTC
7 0 01/03/2011 00:00:00.000 UTC
8 0 01/03/2011 00:00:00.000 UTC
9 0 01/03/2011 00:00:00.000 UTC
10 0 01/03/2011 00:00:00.000 UTC
查詢的輸出不正確。有沒有人遇到過這個問題?這裏有一些附加信息。
> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] timeDate_2130.92 data.table_1.5.3 RODBC_1.3-2
loaded via a namespace (and not attached):
[1] tools_2.12.1
?你是通過ODBC還是直接連接?使用R,你使用的是什麼ODBC驅動程序?在使用64位Linux的RODBC中存在已知的錯誤,但當您應該獲得NA(NULL數據)時,它們通常會給出0。我從來沒有見過非NULL數據的腐敗。 – Harlan 2011-05-10 21:01:55
我認爲你的R安裝(locale可能?)有一些非常時髦的事情。這看起來非常類似於[早期問題](http://stackoverflow.com/q/5915728/271616)。這是否發生在您之前的問題中顯示的兩種情況中? – 2011-05-10 21:05:12
@harlan 1. sqsh,或者也叫dbvis的前端。其他用戶使用其他應用程序獲得相同的結果。 2.如何告訴正在使用的ODBC驅動程序?我想提供這些信息。 @joshua不,這不是我昨天遇到的問題。雖然我必須說,在3次罷工後,我可能不得不將一些關鍵代碼移到Python中。我不能承受錯誤。 – gappy 2011-05-10 21:12:08