
escribir archivo en campo BLOB
Publicado por Leonardo Josué (3 intervenciones) el 17/09/2007 15:36:56
Buenos Días:
Estoy tratanto de subir algunos archivos a una tabla en Oracle que contiene un campo Tipo BLOB utilizando C#.
El procedimiento que estoy utilizando para subir los archivos lo encontré referenciado en la siguiente página:
http://support.microsoft.com/kb/309158/es
y lo que hago es lo siguiente:
SqlConnection con = new SqlConnection("Server=Darkover;uid=<username>;pwd=<strong password>;database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
FileStream fs = new FileStream(@"C:\winnt\Gone Fishing.BMP", FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData= new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
da.Fill(ds,"MyImages");
DataRow myRow;
myRow=ds.Tables["MyImages"].NewRow();
myRow["Description"] = "This would be description text";
myRow["imgField"] = MyData;
ds.Tables["MyImages"].Rows.Add(myRow);
da.Update(ds, "MyImages");
con.Close();
Hasta ahora no había tenido problemas, pero recientemente me solicitaron subir a la tabla un video que tiene un tamaño de casi 1 Gb, por lo que este procedimiento me manda un error de desbordamiento de memoria.
Mi pregunta es si alguien de ustedes sabe cómo puedo escribir archivos bastante grandes a un campo Blob (recordando que el campo Blob puede almacenar hasta 4 Gb de información binaria) .
Saludos y espero que me puedan ayudar.
Leo
Estoy tratanto de subir algunos archivos a una tabla en Oracle que contiene un campo Tipo BLOB utilizando C#.
El procedimiento que estoy utilizando para subir los archivos lo encontré referenciado en la siguiente página:
http://support.microsoft.com/kb/309158/es
y lo que hago es lo siguiente:
SqlConnection con = new SqlConnection("Server=Darkover;uid=<username>;pwd=<strong password>;database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
FileStream fs = new FileStream(@"C:\winnt\Gone Fishing.BMP", FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData= new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
da.Fill(ds,"MyImages");
DataRow myRow;
myRow=ds.Tables["MyImages"].NewRow();
myRow["Description"] = "This would be description text";
myRow["imgField"] = MyData;
ds.Tables["MyImages"].Rows.Add(myRow);
da.Update(ds, "MyImages");
con.Close();
Hasta ahora no había tenido problemas, pero recientemente me solicitaron subir a la tabla un video que tiene un tamaño de casi 1 Gb, por lo que este procedimiento me manda un error de desbordamiento de memoria.
Mi pregunta es si alguien de ustedes sabe cómo puedo escribir archivos bastante grandes a un campo Blob (recordando que el campo Blob puede almacenar hasta 4 Gb de información binaria) .
Saludos y espero que me puedan ayudar.
Leo
Valora esta pregunta


0