1. ホーム
  2. python

OperationalError: データベースファイルを開くことができません。

2022-02-16 22:10:59
<パス
# -*- coding:utf-8 -*-  

'''
Created on January 12, 2016
@author: Lux
'''

import sqlite3

chromeHistoryDbPath = 'C:\Users\Lux\Desktop\History'

class GetDbContent():
    def __init__(self,path):
        self.dbpath = path

    def ReadTable(self):
        con = sqlite3.connect(self.dbpath)
        cur = con.cursor()
        tableList = cur.execute("select name from sqlite_master where type = 'table' order by name").fetchall()
        for table in tableList:
            print table[0]
        cur.close()

if __name__ == '__main__':
    a = GetDbContent(chromeHistoryDbPath)
    a.ReadTable()

Pythonでsqliteデータベースのファイルに接続する際の偶発的なエラー

<ブロッククオート

sqlite3.OperationalError: データベースファイルを開くことができません。

エラーの種類はたくさんあるので、少しリストアップしておきます。

  • データベースのパスは絶対パスで書いた方がよく、ディレクトリは存在するはずであり ディレクトリの読み取りと書き込みのパーミッションが使用可能であること なぜなら、データベースを開くときに一時的なデータが作成されるからです。
  • Win 7 enterpriseとWin Xp Proの上にpython v2.7を書く場合 'C:\Users\Lux\Desktop\History' というパスが必要な場合があります。 'C:\Users\\\Lux\\\Desktop\\\History' を使用します。
  • データベースファイルのサフィックス名が db という名前に変更する必要があります。 xxx.db また
  • データベースファイルへの読み取りと書き込みのアクセス権を持つこと。