public void Add(string photoFilePath)
{
byte[] photo = GetPhoto(photoFilePath);
OleDbConnection nwindConn = new OleDbConnection();
nwindConn.ConnectionString = ConfigurationManager.ConnectionStrings["myconnect"].ConnectionString;
OleDbCommand addEmp = new OleDbCommand("INSERT INTO sp_mer (id_mer, name, picture) " +
"Values(null, :name, :picture)", nwindConn);
addEmp.Parameters.Add("name", OleDbType.VarChar,60).Value = "TESTTT";
addEmp.Parameters.Add("picture", OleDbType.Binary,photo.Length).Value = photo;
nwindConn.Open();
addEmp.ExecuteNonQuery();
nwindConn.Close();
}
public byte[] GetPhoto(string filePath)
{
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);
size = photo.Length;
br.Close();
fs.Close();
return photo;
}
Загрузка картинки в blob
Помогите, пожалуйста. Как загрузить картинку в blob?
Искал в инете, но безрезультатно. Примеры не работают.
Нашёл один пример, изменил его под OleDb (ведь к ораклу только через oledb можно обратиться?):
Код:
Вот этот код запихивает указанный файл в базу. Но (!!!) в строке
Код:
addEmp.Parameters.Add("picture", OleDbType.Binary, SIZE).Value = photo;
Если SIZE больше 4000 (байт) - то появляется ошибка ORA-01036.
Если меньше 4000 - то всё ок.
Помогите пожалуйста.