Portál AbcLinuxu, 7. května 2025 01:06

Dotaz: Python skript nevidi tabulku SQLite databaze Digikamu

28.11.2019 19:37 zdenek2008 | skóre: 26
Python skript nevidi tabulku SQLite databaze Digikamu
Přečteno: 303×
Odpovědět | Admin
Nasledujicim pokusnym skriptem jsem si chtel nacitat obrazky z SQLite databaze Digikamu:
import sqlite3

def writeTofile(data, filename):
    # Convert binary data to proper format and write it on Hard Disk
    with open(filename, 'wb') as file:
        file.write(data)
    print("Stored blob data into: ", filename, "\n")

def readBlobData(Id):
    try:
        sqliteConnection = sqlite3.connect('thumbnails_digikam.db')
        cursor = sqliteConnection.cursor()
        print("Connected to SQLite")

        sql_fetch_blob_query = """SELECT * from Thumbnails where id = ?"""
#        sql_fetch_blob_query = """SELECT * from Thumbnails where id = 23"""
        cursor.execute(sql_fetch_blob_query, (Id,))
        record = cursor.fetchall()
        for row in record:
            print("Id = ", row[0],)
            photo = row[4]

            print("Storing image on disk \n")
            photoPath = "/home/q1/Pictures/thumbnails/" + name + ".jpg"
            writeTofile(photo, photoPath)

        cursor.close()

    except sqlite3.Error as error:
        print("Failed to read blob data from sqlite table", error)
    finally:
        if (sqliteConnection):
            sqliteConnection.close()
            print("sqlite connection is closed")

readBlobData(23)
readBlobData(24)
Bohuzel ale Python hlasi ze dotycna tabulka v db neni. Jenze ona tam JE, SQLiteBrowser ji zobrazuje a dotaz "SELECT * from Thumbnails where id = 23" v ni normalne funguje. Nebude neco s opravnenimi? Nebo co jineho je spatne? Predem dekuji za pripadne tipy.
q1@zzz:~/Pictures$ python3 blob_viewer.py
Connected to SQLite
Failed to read blob data from sqlite table no such table: Thumbnails
sqlite connection is closed
Connected to SQLite
Failed to read blob data from sqlite table no such table: Thumbnails
sqlite connection is closed

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (zdenek2008 (tazatel))
28.11.2019 20:06 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Python skript nevidi tabulku SQLite databaze Digikamu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je možné, že se pokoušíš otevřít databázi v jiném adresáři. Vytvoří se nová a logicky v ní taková tabulka nebude.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Řešení 1× (zdenek2008 (tazatel))
28.11.2019 20:15 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Python skript nevidi tabulku SQLite databaze Digikamu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyreseno. Mel jsem chybu v nazvu databaze. Takze misto otevreni databaze se vytvorila nova, prazdna. Ted mam jiny problem: soubory vytvorene z blobu se neotevrou jako obrazky, nejsou to platne jpg soubory.
28.11.2019 20:46 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Python skript nevidi tabulku SQLite databaze Digikamu
Gimp hlasi ze vytvoreny soubor neni image, protoze zacina 0x50 0x47. Tak hledam online o co jde.
28.11.2019 21:05 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Python skript nevidi tabulku SQLite databaze Digikamu
No tak je to PGF format...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.