ok... also das ich eine Datei in meine DB schreiben kann, hab ich nun hinbekommen. Das jetzige problem ist aber, das ich mehrere Dateien bzw. ganze Verzeichnisse in die Datenbank speichern möchte. Nehme ich einzelne Files, z.B. Bild.jpg und es liegt auf C:\ gibt es keine probleme.. aber sobald es z.B. ein gezippter Ordner ist oder eine Datei die einen tiefergehenden Pfad hat als C:\ klappt es nicht...
--> no such file or directory
obwohl es vorhanden ist.
Hier mein Code:
import abcaccess
def insertTrace ():
"See self.insertTrace"
fileName = "C:\testordner\SchichtRawData.dqy"
#Insert data with a empty LOB
abcaccess.execSql("""
INSERT INTO LOGBACKUP
(DATACLASS, LOGCONTENT, LOGSIZE)
VALUES
(:dataclass, EMPTY_BLOB(), :logSize)
""",
dataclass='B',
logSize = float (os.path.getsize (fileName)))
ergSql = abcaccess.execSelectOne (
"select max(id) FROM LOGBACKUP" )
if ergSql != None and ergSql[0] != None:
logContentId = ergSql[0]
#Select the LOB from the database
lobRow = abcaccess.execSelectOne ("""
SELECT LOGCONTENT
FROM LOGBACKUP
WHERE ID = :id
FOR UPDATE
""", id = logContentId)
#copy the file into the database
lobRow[0].loadFileBufferedIntoLob (fileName, compressed = True)
if __name__ == "__main__":
insertTrace()