phpbar.de logo

Mailinglisten-Archive

[php] Blobfelder in Oracle

[php] Blobfelder in Oracle

Walzl Michael Michael.Walzl_(at)_lvh.it
Mon, 6 Dec 1999 16:48:18 +0100


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01BF4001.510DE240
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hallo Liste,
=20
Ich habe ein Problem mit den Blob-Feldern in Oracle. Ich versuche ein
gib-Bild als binary in
der Oracle-Datenbank in einem Blob-Feld zu speichern. Das folgende =
Skript
liefert mir aber
keinen Fehler nur wird die Gr=F6=DFe in der Datenbank mit der Gr=F6=DFe =
"0"
gespeichert.
Hier der Codeschnipsel:
=20
$Bild =3D addslashes(fread(fopen($foto, "r"), filesize($foto)));

$conn =3D OCIPLogon($orauser, $orapassword, $oradb)=20
   or die ('Kann Datenbank nicht =F6ffnen');
$sql =3D "INSERT INTO PROBE (KODEX, BILD) VALUES ";
$sql.=3D "($kodex, EMPTY_BLOB()) returning Bild into :Bild";
=20
$stmt =3D OCIParse($conn, $sql);
$Bild =3D OCINewDescriptor($conn, OCI_D_LOB);
  =20
OCIBindByName($stmt, ":Bild", &$Bild, -1, OCI_B_BLOB);
  =20
OCIExecute($stmt, OCI_DEFAULT)
OCICommit($conn);

Der Datensatz wird in der Datenbank gespeichert nur wird lediglich die
EMPTY_BLOB()-Funktion ausgef=FChrt.
Hat jemand eine Erkl=E4rung oder auch ein kleines Beispiel dazu?
Ich habe das gleiche mit einer MySQL-Datenbank gemacht. Da klappt das
speichern des Bildes und auch das
Auslesen einwandfrei.
=20
Danke schon im voraus f=FCr Euer Bem=FChen.
mfG
Michael Walzl

------_=_NextPart_001_01BF4001.510DE240
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">


<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D810373415-06121999>Hallo =

Liste,</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D810373415-06121999></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D810373415-06121999>Ich =
habe ein Problem=20
mit den Blob-Feldern in Oracle. Ich versuche ein gib-Bild als binary=20
in</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D810373415-06121999>der =
Oracle-Datenbank=20
in einem Blob-Feld zu speichern. Das folgende Skript liefert mir=20
aber</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN =
class=3D810373415-06121999>keinen Fehler nur=20
wird die Gr=F6=DFe in der Datenbank mit der Gr=F6=DFe "0"=20
gespeichert.</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D810373415-06121999>Hier =
der=20
Codeschnipsel:</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D810373415-06121999></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D810373415-06121999><FONT =

face=3DCourier>$Bild =3D addslashes(fread(fopen($foto, "r"),=20
filesize($foto)));<BR></FONT></DIV></SPAN></FONT>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999>$conn =3D=20
OCIPLogon($orauser, $orapassword, $oradb) </SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999>&nbsp;&nbsp; or=20
die ('Kann Datenbank nicht =F6ffnen');<BR>$sql =3D "INSERT INTO PROBE =
(KODEX, BILD)=20
VALUES ";</SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN=20
class=3D810373415-06121999>$sql.=3D&nbsp;"($kodex, EMPTY_BLOB()) =
returning Bild into=20
:Bild";</SPAN></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999>$stmt =3D=20
OCIParse($conn, $sql);<BR>$Bild =3D OCINewDescriptor($conn,=20
OCI_D_LOB);<BR>&nbsp;&nbsp;&nbsp;<BR> OCIBindByName($stmt, ":Bild", =
&amp;$Bild,=20
-1, OCI_B_BLOB);<BR>&nbsp;&nbsp;&nbsp;<BR>OCIExecute($stmt,=20
OCI_DEFAULT)<BR>OCICommit($conn);<BR></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>Der Datensatz wird in der Datenbank gespeichert nur wird =
lediglich=20
die EMPTY_BLOB()-Funktion ausgef=FChrt.</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>Hat jemand eine Erkl=E4rung oder auch ein kleines Beispiel =

dazu?</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>Ich habe das gleiche mit einer MySQL-Datenbank gemacht. Da =
klappt das=20
speichern des Bildes und auch das</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>Auslesen einwandfrei.</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN=20
class=3D810373415-06121999></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>Danke schon im voraus f=FCr Euer =
Bem=FChen.</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>mfG</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DCourier size=3D2><SPAN =
class=3D810373415-06121999><FONT=20
face=3DArial>Michael Walzl</FONT></DIV></SPAN></FONT></BODY></HTML>

------_=_NextPart_001_01BF4001.510DE240--


php::bar PHP Wiki   -   Listenarchive