![]() |
Datenbank: Access • Zugriff über: ADO / MS-JET-OLEDB-4
Access Datentyp BLOB ??
Hallo DP,
Ich möchte in einer Access-MDB Dateien speichern. Das ganze mit Delphi 7. Problem: Ich habe kein MS-Access. Deshalb gehe ich über TAdoConnection (Microsoft.Jet.OLEDB.4.0) und versuche meine Tabellen per SQL anzulegen.
SQL-Code:
Dieser Befehl funktioniert aber nicht. "Syntaxfehler in Felddefinition."
Create Table TEST (myFile blob);
Scheinbar kennt Access keine Blobs?? Benutze ich den Datentyp BINARY anstatt BLOB, bekomme ich später die Fehlermeldung "Datentypen in Kriterienausdruck ". Um die Dateien ins MDB zu bekommen verwende ich:
Delphi-Quellcode:
Wie kriege ich das hin bzw. welche Datentypen muß ich verwenden, dass mein Delphi-Prog eine Datei ins MDB schreibt?
AdoQuery.Sql.Text := 'Insert Into TEST (myFile) Values (:TheFile)';
AdoQuery.Parameters.ParamByName('TheFile').LoadFromFile(AFileName,ft???); AdoQuery.ExecSQL; Danke. gmc |
Re: Access Datentyp BLOB ??
Versuch es mal mit dem MEMO-datentyp
|
Re: Access Datentyp BLOB ??
Hmmm ... mit Ascii-Dateien scheint das ganze gut zu funktionieren, aber mit Binaries irgendwie nicht.
Nur weiß ich nicht ob ich bei hinein schreiben einen Fehler mache, ober beim heraus schreiben. Ich denke aber "MEMO" scheint für Nicht-Ascii-Dateien ungeeignet zu sein. Wäre auch irgendwie logisch, oder? U.a. muß ich PDF's in der MDB hinterlegen. Und die kommen nur verstümmelt wieder raus :stupid: Oder gibs da noch einen Trick? |
Re: Access Datentyp BLOB ??
Access hat den Datentyp OLE-Objekt. Damit geht das mit Bildern und PDFs eigentlich ganz gut. Allerdings ist Access auch hier ein wenig besonders, weil hat neben den reinen Binärdaten noch ein paar Zusatzbytes hinterlegt werden. Ich hatte das Problem mit Bildern, aber über Google findet man da recht passable Lösungen.
|
Re: Access Datentyp BLOB ??
Das mit dem OLE-Objekt habe ich auch gefunden.
Hier werden, wenn ich's richtig im Kopf habe, 78 Byte zusätzlich vor den eigentlichen Daten gespeichert, die man dann beim "download" erst umständlich wieder abschneiden muß. Nach langem googlen hab ich aber einen Tipp gefunden. Den Datentyp IMAGE. Damit lässt sich mit "Create Table" eine Tabelle anlegen (was ich mit OLE-OBJECT bzw. OLE-OBJEKT nicht hinbekommen habe -> "Syntaxfehler in Felddefinition") und später im Code, mit dem LoadFromFile-Parameter ftBlob, ganz bequem füllen. Auch der Download aus der MDB funktioniert. Es kommt das heraus, was ich hinein getan habe. :bounce2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz