2011-09-11 57 views
0

我在PostgreSQL 8.4中使用了Psycopg2。在從一張巨大的表中讀取數據時,我突然在下面這行代碼中發現了這個隱晦的錯誤,在這行代碼成功地獲取了幾十萬行之後。神祕的Psycopg2錯誤信息

somerows = cursorToFetchData.fetchmany(30000)

psycopg2.DataError:爲 「DD」

DETAIL無效值 「LA」:值必須是一個整數。

我的問題是我沒有名爲「DD」的列,並且該表中大約有300列(我知道300列是設計缺陷)。我希望提供一個關於這個錯誤信息的含義的暗示,或者如何找出問題所在。我不明白Psycop2在獲取行時如何對數據類型有任何要求。

回答

2

您可以粘貼導致問題的行中的數據嗎?在猜測我會說這是一個格式不好的日期條目,但很難說。

(不能發表評論,因此必須是在回答...)

+0

從現在開始,你可以發表評論。 ;)我會這樣做,看看它出現了什麼。如果有更好的答案出現,我可能會刪除接受答案。 – David

1

這不是一個psycopg錯誤,它是Postgres錯誤。

發生錯誤後,請查看cur.query以查看生成的查詢。複製並粘貼到psql中,你會看到相同的錯誤。然後從那裏調試它。