0
我有一個樹莓派運行OSMC,一個媒體優化版本的Debian。這個Pi擁有一個SQLITE數據庫,我想從我的Windows 7 PC使用Python訪問。兩臺電腦都在同一家庭網絡上。pyodbc到遠程sqlite數據庫不工作,但沒有錯誤拋出
按照similar post的推薦,我獲得了SQLITE ODBC driver。
我寫了下面的代碼來查詢數據庫。該代碼不會拋出任何異常,但它也不會返回任何數據。我做錯了什麼?
import pyodbc
def connectToDB():
serverIP = '192.168.0.110' #raspberry pi on home network
databaseName = 'pigarage.db'
sql = 'DRIVER={SQLite3 ODBC Driver};SERVER=%s;DATABASE=%s;Trusted_connection=yes' % (serverIP, databaseName)
conn = pyodbc.connect(sql)
return conn
def runQuery(conn, sql):
cursor = conn.cursor()
cursor.execute(sql)
result = list(cursor.fetchall()) # list of tuples
cursor.close()
return result
if __name__ == '__main__':
conn = connectToDB()
print conn
sql = 'select distinct state from GarageDoorState'
print runQuery(conn, sql)
conn.close()
print 'completed successfully'
OUTPUT:
<pyodbc.Connection object at 0x035434E8>
[]
completed successfully
我注意到ODBC連接不需要任何類口岸(?不知道SQLite的需要這一點,因爲它不是一個服務器DB),或用戶名/密碼等等。我想我只是對這個過程感到困惑,而且我的設置是錯誤的。但是,我很困惑爲什麼沒有代碼錯誤?
謝謝,這是做到了。我在Raspberry Pi上安裝了一個samba服務器,然後使用以下連接字符串來訪問它:'sql =「DRIVER = SQLite3 ODBC Driver; Database = r'\\ 192.168.0.114 \ pi \ pigarage.db; – Roberto