Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вставить картинку в oracle 
V
    Опции темы
charodej
Дата 4.9.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 26.3.2008
Где: Тула

Репутация: нет
Всего: нет



Подскажите пожалуйста, может ктонить знает:

я пытаюсь вставить картинку в поле типа blob субд Oracle, используя примерно такой код:
Код

            OracleConnection conn = new OracleConnection("Data Source=orcl;User Id=scott;Password=tiger;Integrated Security=no;");
            OracleCommand cmd = new OracleCommand("insert into _blob(col_blob) values(v_blob)", conn);
            Stream stream = File.Open("c:\\1.bmp", FileMode.Open, FileAccess.Read);
            int len = (int)stream.Length;
            byte[] bytes = new byte[len];
            stream.Read(bytes, 0, len);
            stream.Close();
            OracleParameter param = new OracleParameter("v_blob", OracleType.Blob);
            param.Value = bytes;
            cmd.Parameters.Add(param);
            conn.Open();
            int i = cmd.ExecuteNonQuery();
            conn.Close();

сервер oracle выдаёт ошибку: ORA-01036: неверное имя/номер переменной
при этом в MS SQL Server всё прекрасно работает и вставляется
подскажите, что не так?
PM MAIL ICQ   Вверх
Idsa
Дата 4.9.2008, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



charodej, в Sql Server точно вставляется? 

Цитата(charodej @  4.9.2008,  20:31 Найти цитируемый пост)
"insert into _blob(col_blob) values(v_blob)"

В строке запроса параметры предваряются специальным символом (в зависимости от провайдера). В Sql Server'ном провайдере для этого используется символ @.



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
charodej
Дата 4.9.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 26.3.2008
Где: Тула

Репутация: нет
Всего: нет



Цитата(Idsa @ 4.9.2008,  16:35)
charodej, в Sql Server точно вставляется? 

Цитата(charodej @  4.9.2008,  20:31 Найти цитируемый пост)
"insert into _blob(col_blob) values(v_blob)"

В строке запроса параметры предваряются специальным символом (в зависимости от провайдера). В Sql Server'ном провайдере для этого используется символ @.

да, в sql server я вставлял используя экранирование, пробовал и в oracle вставить также(хотя если не ошибаюсь это не обязательно), в sql server сработало, в oracle - нет
может действительно, в  oracle другой символ?

Это сообщение отредактировал(а) charodej - 4.9.2008, 17:27
PM MAIL ICQ   Вверх
charodej
Дата 4.9.2008, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 26.3.2008
Где: Тула

Репутация: нет
Всего: нет



всё, задача решена, кому интересно - проблема была только в том, что в oracle переменные нужно экранировать символом
Idsa спасибо за хорошую идею
PM MAIL ICQ   Вверх
Idsa
Дата 4.9.2008, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(charodej @  4.9.2008,  21:59 Найти цитируемый пост)
что в oracle переменные нужно экранировать символом

Каким символом-то?

И небольшое уточнение. Это не в Оракле, а в том провайдере, который Вы используете. От провайдера к провайдеру символ может меняться.

Добавлено через 57 секунд
Цитата(charodej @  4.9.2008,  21:24 Найти цитируемый пост)
хотя если не ошибаюсь это не обязательно

Не проверял, но, думаю, ошибаетесь


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.