從我的32位Windows(Vista)筆記本電腦中,我需要R在另一臺計算機上(通過互聯網)在64位Windows(Server 2008)上查詢MS SQL Server 2008數據庫。錯誤的查詢結果與R
如果我使用SQL Server工作室在我的筆記本電腦連接到數據庫,併發出此查詢:
SELECT * from mytable where id = 1111111111111110032
我得到的迴應
ID,.....
1111111111111110032,... ..
這是正確的。我得到了我要求的記錄。
但如果我寫這篇文章的R:
library(RODBC)
My_conn <- odbcConnect("myODBC_connection", uid="abc123", pwd="abc123")
tbl_Calls <- sqlQuery(My_conn, "SELECT * from mytable where id = 1111111111111110032")
我得到的迴應
ID,.....
1111111111111110128,.....
換句話說,我獲得另一個記錄比我所要求的(一個以...... 128而不是...... 032結尾)。我知道這不是查詢本身,而是SQL Studio的工作原理。
我不知道什麼可能是錯的。是32位和64位的問題?在我的ODBC連接中,我使用「SQL Server」(6.00.6002.18005)。
這可能不是一個R問題,但我不知道從哪裏開始......也許是因爲ID是19位數字?
/Chris
你試圖測試其他查詢,以確定它是否是有問題的時候,或者所有的查詢,這個特定的查詢?只是在這裏大聲想... FWIW我使用一個32位的Windows機器,每天連接到64位服務器沒有麻煩。 – Chase 2011-05-01 03:13:01
感謝您的建議,我再次嘗試,現在我認爲它與WHERE標準中的字符數(111 ... 032,即19個字符)有關。我做了ODBC跟蹤,雖然我不明白,但確實得到「-3,無效的字符串長度」。但如何解決它? – Chris 2011-05-01 17:07:32