2011-07-21 38 views
-1

我有一些代碼使用python 2.6在win x64上用pyodbc編寫,我沒有問題。 使用與MySQLdb相同的代碼切換出現錯誤。pyodbc和MySQLdb有什麼區別?

例子。長對象不可迭代....

pyodbc和MySQLdb有什麼區別?

編輯

import csv, pyodbc, os 
import numpy as np 

cxn = pyodbc.connect('DSN=MySQL;PWD=me') 
import MySQLdb 
cxn = MySQLdb.connect (host = "localhost",user="root",passwd ="me") 

csr = cxn.cursor() 


try: 

    csr.execute('Call spex.updtop') 

    cxn. commit 

except: pass 

csr.close() 
cxn.close() 
del csr, cxn 
+0

除了明顯嗎? –

+0

那是?對你來說最明顯的可能不是我 – Merlin

+1

顯而易見的是,pyodbc使用ODBC和MySQLdb使用MySQL客戶端庫。如果你想知道除此之外的任何內容,那麼你需要顯示代碼。 –

回答

1

沒有看到代碼,它爲什麼你得到錯誤不是很明顯。正如Ignacio Vazquez-Abrams所評論的,您可以使用任何一種連接到MySQL數據庫,並且都實現Python DB API的2.x版本,儘管它們的基本工作方式完全不同。

有些事情要考慮:

  • 是否使用擴展到了Python DB API,它可能在這兩者來實施?
  • 這兩個庫是否以相同的方式將MySQL數據類型轉換爲Python數據類型?
  • 是否有您可以發佈的示例代碼?
+0

請參閱編輯以上版本x – Merlin

+0

恐怕也有在沒有存儲過程定義的情況下發布的代碼很少。祝你好運,晚安。 – JasonFruit