Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузка картинки в blob

37K
03 октября 2008 года
alexandr_nv
11 / / 22.09.2008
Visual Studio 2005, C#/ DB Oracle
Помогите, пожалуйста. Как загрузить картинку в blob?

Искал в инете, но безрезультатно. Примеры не работают.

Нашёл один пример, изменил его под OleDb (ведь к ораклу только через oledb можно обратиться?):
Код:
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;
    }


Вот этот код запихивает указанный файл в базу. Но (!!!) в строке
 
Код:
addEmp.Parameters.Add("picture", OleDbType.Binary, SIZE).Value = photo;

Если SIZE больше 4000 (байт) - то появляется ошибка ORA-01036.
Если меньше 4000 - то всё ок.

Помогите пожалуйста.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог