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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS SQL Server и хранение файлов 
:(
    Опции темы
Анальгин
Дата 29.11.2005, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть ли возможность хранить произвольные файлы в таблице базы данных MS SQL Server ?
PM MAIL   Вверх
Vit
Дата 30.11.2005, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Da


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Гость_VLadimir
Дата 2.12.2005, 08:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а где почитать про это можно подробно?
  Вверх
Papirus
Дата 2.12.2005, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Help -> Image
PM MAIL ICQ   Вверх
albert21
Дата 24.10.2006, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня файл размером 70 Mb не сохраняется в БД. Пробовал типы: varbinary, text,ntext,image.  Это может быть связано с настройками сервера (MS SQL SERVER 2000)?
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
Shiny
Дата 25.10.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


разбойница
*


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

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



Попробуй BLOB - там можно хранить файлы такого размера
PM MAIL   Вверх
Vit
Дата 25.10.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(albert21 @  24.10.2006,  10:22 Найти цитируемый пост)
У меня файл размером 70 Mb не сохраняется в БД. Пробовал типы: varbinary, text,ntext,image.  Это может быть связано с настройками сервера (MS SQL SERVER 2000)? 



Такой файл должен сохранятся в поле типа Image, если не сохраняется то чего-то не хватает: памяти, лога транзакций или времени до наступления Timeout. Кроме того что значит не сохраняется? Телепатов здесь нет - покажите код которым вы его сохраняли и название ошибки при этом возникающее


Цитата(Shiny @  25.10.2006,  06:22 Найти цитируемый пост)
Попробуй BLOB - там можно хранить файлы такого размера 

И MS SQL Server этот тип поля называется Image, что и было посоветовано...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
albert21
Дата 28.10.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо за советы.
Пишу я прикладную программу на C#. Ситуация следующая: использую тип поля Image, при вставке новой записи компьютер сильно задумывается при чём на долго затем появляется окошко с сообщением "Error askid thread to die!", в конце концов генерится исключение "Query timeout expired". Самое интересное то, что запись всё таки вставляется в полном объёме, т.е. прочитав данные из поля можно восстановить файл. Как быть с тормозами и вышеупомянутыми сообщениями? Подскажите!

Код

            OleDbCommand command = new OleDbCommand("add_el_book", oleDbConnection);
            command.Connection = oleDbConnection;
            command.CommandType = CommandType.StoredProcedure;
            OleDbParameter nameParam = null;
            OleDbParameter kolParam = null;
            OleDbParameter mParam = null;
            nameParam = command.Parameters.Add(new OleDbParameter("@name",  OleDbType.VarChar));
            nameParam.Direction = ParameterDirection.Input;
            nameParam.Value = "qqq";
            kolParam = command.Parameters.Add(new OleDbParameter("@kol", OleDbType.Integer));
            kolParam.Direction = ParameterDirection.Input;
            kolParam.Value = 1;
            mParam = command.Parameters.Add(new OleDbParameter("@m", OleDbType.LongVarBinary));
            mParam.Direction = ParameterDirection.Input;
            mParam.Value = mas;
            oleDbConnection.Open();
            command.ExecuteNonQuery();
            oleDbConnection.Close();


Код

CREATE PROC add_el_book
@name varchar(255),
@kol int,
@m Image
AS
INSERT INTO Book(Название, Количество_всего, Электронная_версия) VALUES (@name, @kol, @m)



--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
SergeBS
Дата 30.10.2006, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



albert21, 
Цитата

"Query timeout expired". 

На русский переведи. И увеличь таймаут на операцию.
PM MAIL   Вверх
Vit
Дата 30.10.2006, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(albert21 @  28.10.2006,  04:21 Найти цитируемый пост)
"Query timeout expired"


Трансфер файлов таких размеров операция не быстрая... Надо время тайм-аута увеличивать... Но реально, такое делать не желательно - базы данных не место для хранения файлов, ещё килобайтные файлы куда ни шло, а мегабайтные - тормоза будут сплошные... Файлы надо хранить в ввиде файлов, хорошо бы на специальном файл-сервере... 



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
albert21
Дата 31.10.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всё ясно! Спасибо!
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

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

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


 




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


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

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