Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Внесение текстового файла в поле базы MySQL [D7, MySQL]


r9000 ©   (2005-06-01 10:31:00) 

Добрый день!

Можно задать вопрос? Пытаюсь записать в поле базы MySQL текстовый файл размером 1,4 МБ. В какое поле его лучше помешать
text или blob? Попробовал использовать text поле и через запрос
и post-ом(использую Query компонент) выдает ошибку неправильный размер blob вроде бы поменял этот размер bde все равно выдает эту же ошибку, при этом использую для работы с MySQL драйвер odbc.Что может быть неправильно? Или вообще это поле text для записи таких больших файлов нельзя использовать?
Попробовал использовать поле blob(использую Query компонент), то
же самое выдает неправильный размер blob.При работе с поле blob
пробую использовать компонент ADOQuery тоже выдает ошибку но уже
несколько другую. Что делать?


User_Name   (2005-06-01 15:30:00) [1]

Да, и в догонку. - конфигурационный файл сервера ? Что там?


User_Name   (2005-06-01 15:25:00) [2]

2 r9000   (01.06.05 15:02) [10]

//Offtop
Как говорит один мой знакомый телепаты у нас в отпуске.
//End Offtop

Приведи свой код, возможно скрипт на создание таблицы , код ошибки, тогда кто-нибудь возможно и поможет.


r9000   (2005-06-01 15:02:00) [3]

Если ошибка в коде почему дает файл 912КБ записывать в это поле без ошибки?


User_Name   (2005-06-01 14:56:00) [4]

Судя по цифре - 16 метров, так что ошибка скорее всего в коде (программы естессно).


r9000   (2005-06-01 14:41:00) [5]

А где это можно посмотреть в EMS MySql manager Fieldtype=MEDIUMBLOB size=16777215? Может, что-то еще?


User_Name   (2005-06-01 14:24:00) [6]

2 r9000   (01.06.05 13:43) [6]
Ну дык тогда какие проблемы то :)

Посмотри Max_data_length по этому полю. Может у тебя действительно версия очень древняя


r9000   (2005-06-01 13:43:00) [7]

Ну а какая разница
memo1.Lines.LoadFromFile(filepath+'\'+s2);
s4:=memo1.Text;
Query2.Edit;
Query2file1.Value:=s4;
Query2.Post;

или

Query2.Open;
Query2.Edit;
TBlobField(Query2.FieldByName('file1')).LoadFromFile(filepath+'\'+s2);
Query2.Post;

я же говорю мой вариант файл 912КБ он записывает в это поле без ошибки, а вот больше почему то нет


User_Name   (2005-06-01 13:25:00) [8]

2 r9000   (01.06.05 13:05) [3]
Хм, это сейчас так делают ?
Всегда делал через  - TBlobField.LoadFromFile

ЗЫ. ЕСтессно ИМХО


Плохиш   (2005-06-01 13:24:00) [9]

>r9000   (01.06.05 13:05) [3]

После такого, можешь спокойно использовать любую подходящую верёвку.


r9000   (2005-06-01 13:05:00) [10]

Может быть драйвер MySQL, который я использую не может передать
такой файл или где-то в настройках  это ограничено?
А что касается незнания TBlobField, то :
            Query2.Edit;
            Query2file1.Value:=s4;
            Query2.Post;
,что здесь может быть неправильно(поле статическое) и файл 912КБ он записывает в это поле без ошибки.


Плохиш   (2005-06-01 11:49:00) [11]

>Что делать?

После такого подробно-бесполезного описание проблемы могу только предложить застрелиться.

Если денег на пистолет не хватает, то изучай TBlobField.


User_Name   (2005-06-01 11:40:00) [12]

Bloob ниже 4.1 версии "держит" 16 метров текста, а >=  вроде бы до 4 Г.


Наверх

Титульная страница Поиск, карта сайта Написать письмо