私は、メディア最適化バージョンのDebianのOSMCを実行しているRaspberry Piを持っています。このPiには、Windows 7 PCからPythonを使用してアクセスしたいSQLiteデータベースがあります。両方のコンピュータは同じホームネットワーク上にあります。リモートsqliteデータベースへのpyodbcは動作しませんが、エラーはスローされません
この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
私は(?それはサーバーDBではないとわからないSQLiteのは、これを必要とする)ODBC接続はポートのいずれかの種類を必要としませんでした気づいた、またはユーザー/ PWD私はちょうどプロセスについて混乱していると思うし、私のセットアップは間違っていると思う。しかし、私はなぜコードからエラーが出ないのか困惑していますか?
ありがとうございました。私は自分のRaspberry Piにsambaサーバーをインストールし、それにアクセスするために次の接続文字列を使いました: 'sql =" DRIVER = SQLite3 ODBC Driver; Database = r '\\ 192.168.0.114 \ pi \ pigarage.db; "' – Roberto