0
我用pyodbc連接到Teradata數據庫
不同,它似乎是東西現在能正常使用:pyobdc和直接查詢在Teradata的
此:
conn = connect(params)
cur = conn.cursor()
if len(argv) > 1:
query = ''.join(open(argv[1]).readlines())
else:
query = "SELECT count(*) FROM my_table"
cur.execute(query)
print "...done"
print cur.fetchall()
回報似乎是一個溢出,一些像140630114173190,但實際上只有260中的表項(其中我直接從Teradata數據的SQL助手查詢得到)
然而,做一個select *
當結果似乎是正確的。
什麼可以去上的任何想法?
運行於:
Linux eron-redhat-100338 2.6.32-131.0.15.el6.x86_64
感謝
編輯:我不認爲這是一個使用fetchall()的問題。這只是改變我是否得到一個列表或一個元組或其他東西,但數字不會改變。
有趣的是,我發現,改變以
query = "SELECT CAST(count(*)) AS DECIMAL(10,2) FROM my_table"
沒有得到正確的號碼,只有在爲浮點數。整數正在發生變化。
的'fetchall'方法應該返回[所有結果行作爲序列序列](http://www.python.org/dev/peps/pep-0249/#fetchall),而不是單個標量值。你能準確地發佈你從'cur.fetchall()'得到的結果嗎? – lanzz
我編輯了我的問題。 – elelias