[C# / Oracle] Bild aus Datenbank auslesen und speichern

MAN

Erfahrenes Mitglied
Hallo,

besteht die Möglichkeit ein in eine Oracle-Datenbank gespeichertes Bild in C# auszulesen und als tif-Image abzuspeichern?

Der Datentyp des Bildes in der Datenbank ist wortwörtlich: "BINARY FILE LOB".

Im Moment benutze ich folgenden Code:

Code:
using System.Data;
using System.Data.OracleClient;

OracleConnection myConnection = new OracleConnection();
myConnection.ConnectionString = "...";

myConnection.Open();

OracleCommand cmd = new OracleCommand
  ( "SELECT IMAGE FROM TB_IMAGE", myConnection );

OracleDataReader myReader = cmd.ExecuteReader();

while( myReader.Read() )
{
	// diese Zeile ist dann die Frage, mit welchem
	// Befehl ein Bild ausgelesen wird...

	System.Data.OracleClient.OracleBinary tmpBin =
	  myReader.GetOracleBinary(0);
}


mfG,
MAN
 
Habe es nun rausgefunden. Für alle die es Interessiert:

Code:
using System.Data;
using System.Data.OracleClient;

OracleConnection myConnection = new OracleConnection();
myConnection.ConnectionString = "...";

myConnection.Open();

OracleCommand cmd = new OracleCommand
  ( "SELECT IMAGE FROM TB_IMAGE", myConnection );

OracleDataReader myReader = cmd.ExecuteReader();

while( myReader.Read() )
{
	// # Image aus DB in byte[] schreiben #
	byte[] picBytes = (byte[])myReader.GetOracleBFile( 0 ).Value;

	// # Image aus byte[] in picturebox zeichnen #
	MemoryStream ms = new MemoryStream( picBytes );
	pictureBox.Image = new Bitmap( ms );

	// # Image von byte[] in Datei schreiben #
	FileStream outStream = File.Create( "tmpImage.bmp" );
	outStream.Write( picBytes, 0, picBytes.Length );
	outStream.Close();

	// # Image aus Datei in picturebox zeichnen #
	pictureBox.Image = Image.FromFile( "tmpImage.bmp" );
}

Vielen Dank fürs vorbeischauen :)


mfG,
MAN
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück