Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie füge ich mit Python ein BLOB in Oracle ein?

Sie können etwas viel Einfacheres tun, was auch erheblich schneller sein wird. Beachten Sie, dass dieser Ansatz nur funktioniert, wenn Sie in der Lage sind, den gesamten Dateiinhalt im zusammenhängenden Speicher zu speichern, und die aktuelle feste Grenze 1 GB beträgt, selbst wenn Sie viele Terabyte RAM zur Verfügung haben!

cursor.execute("insert into t (id, b) values (:my_id, :my_blob)",
        (1, mem_file.getvalue())

Das Einfügen eines empty_blob()-Werts und das Zurückgeben des LOB-Locators für eine spätere Aktualisierung ist schneller als das Erstellen eines temporären LOB und dessen Einfügen (wie Sie es in Ihrem Code tun), aber das direkte Einfügen der Daten ist noch schneller!