powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Запись файла-картинки с БД с помощью ADO.NET
17 сообщений из 17, страница 1 из 1
Запись файла-картинки с БД с помощью ADO.NET
    #36837059
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня проект ASP.NET (VS2010 VB) с двумя базами MS SQL Server 2008 и Access2000.
Мне нужно записать файл-картинку (сам файл, не имя) в заданное поле (типа Binary) таблицы Access. Как это можно сделать в ADO.NET?
В MSSQL понятно, через хранимую процедуру с параметрами и соответствующими объектами ADO.NET можно. А с Access-ом как?
Заранее спасибо.
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837129
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973В MSSQL понятно, через хранимую процедуру с параметрами и соответствующими объектами ADO.NET можно.
Та-а-ак... А мне вот не понятно, как в этот силлогизЬм вкорячена непреложная истина о хранимой процедуре?
Я помню лет 10 назад ни один собеседник, хоть слегка причастный к разработке, не мог считать себя удовлетворенным, пока 25 раз не употребит многозначительно слово "транзакция"...
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837637
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы на что намекаете, дорогой? Я не очень понимаю ваше смещение темы на транзакции.
Давайте рассмотрим простой пример обнолвения поля, без цепочки действий и не будем затрагивать транзакции.
Я сейчас в чем-то подтупливаю, ну, так вас не затруднит меня подправить? Так есть ли способ записать двоичные данные в Access объектами ADO.NET. Раньше, во времена ADO, это делалось записью бинарного массива в поле объекта ADO.Recordset-а, а теперь как? (Конечно, можно и com-объект ADO.Recordset создать, но не хотелось бы.)
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837662
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел, что искал
http://support.microsoft.com/kb/316887/
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837677
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973,

Я не понял связи с ХП в первом сообщении.
А по теме есть материалы и попроще :
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837685
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА по теме есть материалы и попроще :
Это относится к MS SQL Sever, а речь об аксе.

P.S. Тема - баян (как запихнуть бинар в БД). Поиск по форуму рулит.
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837709
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдль,

Я имел в виду, что MS SQL есть ХП, которые могут иметь параметры любых типов (в тч и Binary) и их выполнение можно вызвать через ADO.NET объекты (SqlConnection, SqlCommand, SqlTransaction...), записать Binary-массив в параметр и передать его ХП.
А вот в Access понятия ХП нет, и как быть тут? (с объектом OleDbCommand или др.)
В этом суть вопроса. А вот вы (наверное, как большущий фанатик MS SQL, и давно уже не признающий других СУБД), все ж таки дали ответ по нему, хотя вопрос на самом деле был про Access.
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837719
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973А вот в Access понятия ХП нет, и как быть тут?
Вам говорят о том, - чё Вы привязались к этим ХП!

Про инструкцию INSERT INTO слыхали? Она что, обязана быть в контексте хранимой процедуры?
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837787
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно, как в инструкциях INSERT INTO или UPDATE... указать данные для бинарного поля?
Понятно, что никак. Поэтому я сразу и завел разговор о ХП для данного сабжа.
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837789
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
var builder = new OleDbConnectionStringBuilder
{
    Provider = "Microsoft.ACE.OLEDB.12.0",
    DataSource = "D:\\db.accdb",
};

using (var connection = new OleDbConnection(builder.ToString()))
using (var command = new OleDbCommand("INSERT INTO Images (Img) VALUES (?)", connection))
{
    var bytes = File.ReadAllBytes("D:\\File.pdf");
    command.Parameters.Add(
        new OleDbParameter("@Img", OleDbType.LongVarBinary, bytes.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytes)
    );
    connection.Open();
    command.ExecuteNonQuery();
}
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837794
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973Интересно, как в инструкциях INSERT INTO или UPDATE... указать данные для бинарного поля? Понятно, что никак.
Садитесь - двойка. Код - выше. Так же задача решается и для сиквела. И для оракла. И т.д.
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837804
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подстановка параметров ничем не отличается как для хранимой процедуры, так и для обычного статичного SQL запроса.
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837826
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Молодцы! Спасибо! Теперь я обладаю этим знанием и счастлив :)
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837877
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плохо, что для Вас это пришлось слишком долго разжевывать.

Картина: барана долбят палками по спине, бьют лопатами по голове, стреляют из резиностелов по ногам. Ни в какую. Баран упрямо смотрим на ворота и твердит: "Это не ворота, это - забор!"
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837896
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя, если разобраться, то это вы не в инструкции SQL бинарное значение указали, а через объект OleDbParameter (о чем, собственно, я и спрашивал).
Так что, зря вы так, с двойками...
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837946
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой вы злой дядька, МСУ. Компьютер вам идет на вред.
Есть на свете "люди добрые", а есть те, которые к ним не относятся...
...
Рейтинг: 0 / 0
Запись файла-картинки с БД с помощью ADO.NET
    #36837966
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973Хотя, если разобраться, то это вы не в инструкции SQL бинарное значение указали, а через объект OleDbParameter (о чем, собственно, я и спрашивал).
Так что, зря вы так, с двойками...
Через параметр решается не только задача с хранимыми процедурами - через параметр решаются все задачи выполнения SQL.
А Вы утверждали, что бинарные данные можно передавать только через хранимые процедуры. Вот в чём Ваша ошибка. Понимаете, о чём вещаю-то?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Запись файла-картинки с БД с помощью ADO.NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]