2017-10-12 92 views
3

我不斷收到錯誤:」'builtin_function_or_method'對象沒有屬性'執行'「我原本以爲投訴是在表值函數中然而,SQL Server,我看到消息指向「執行」,所以我認爲refcur已經執行定義。以下是我的連接字符串的樣子:Python 3.x:錯誤pyodbc sql服務器連接「無屬性」執行「

conn = pyodbc.connect("Driver={SQL Server};" 
         "Server=myserver;" 
         "Database=mydatabase;" 
         "Trusted_Connection=yes;" 
         "autocommit=True;") 

    refcur = conn.cursor 
    sql = "exec myschema.mystoredproc @TVPobject=?" 
    refcur.execute(sql,this_object) 

我附加了圖像以顯示我在intellisense中看到的可用內容。有誰知道爲什麼會發生這種情況?

enter image description here

回答

4

你是不是叫cursor,你只是回到該成員函數的引用,並將其存儲在refcur。爲了調用它(實際上創建一個光標),你需要添加括號:

refcur = conn.cursor() 
# Here -------------^ 
+1

現在,這必須是我曾發佈的最壞的東西 - 但我花了太多時間在它上面。我甚至沒有注意到丟失的括號。我會離開這張貼。我確信我不是唯一一個因爲這個原因而花費(或將花費)時間來追逐這個錯誤的人! :) @Mureinik,非常感謝! – plditallo