我必須使用pyodbc閱讀2005年SQL Server數據庫的python腳本:Django不使用pyodbc爲Python做
import pyodbc
con = pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=schema;UID=user;PWD=pass')
cursor = con.cursor()
cursor.execute(str.format("SELECT id FROM schema.dbo.mytable WHERE num = {0}", foo.num)
這工作得很好。
當我嘗試使用相同的參數在我的django項目設置中配置數據庫時,我無法讀取來自同一數據庫的表。
'second_db': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'schema',
'USER': 'user',
'PASSWORD': 'pass',
'HOST': 'servername',
'OPTIONS': {
'driver': 'SQL Server',
},
},
某處在Django項目工作區:
from django.db import connection
cursor = connection.cursor()
cursor.execute(str.format("SELECT id FROM schema.dbo.mytable WHERE num = {0}", obj.num)
我得到:
[42S02] [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'schema.dbo.mytable'. (208) (SQLExecDirectW)
誰能幫我檢測一下是在兩者之間有什麼區別? Django運行在我運行腳本的同一臺機器上,所以我相信這不是一個權限問題...
我想使用django連接而不是定義標準遊標,因爲我更喜歡有django設置中的所有數據庫設置,不會圍繞代碼展開。
感謝建議!我發現嘗試提出建議的問題。 – toscanelli