Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Внесение текстового файла в поле базы MySQL   Найти похожие ветки 

 
r9000   (2005-06-01 10:31) [0]

Добрый день!

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


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

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


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

>Что делать?

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

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


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

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


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

>r9000   (01.06.05 13:05) [3]

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


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

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

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


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

Ну а какая разница
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 14:24) [7]

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

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


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

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


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

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


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

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


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

2 r9000   (01.06.05 15:02) [10]

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.059 c
3-1116852613
stud
2005-05-23 16:50
2005.07.11
обновление данных в firebird 1.5


1-1119345382
MegaVolt
2005-06-21 13:16
2005.07.11
CheckBox в ListView в виртуальном режиме, OwnerData:=true;


8-1111160885
zhongguoren
2005-03-18 18:48
2005.07.11
tstringlist.create


14-1118840546
Oyster
2005-06-15 17:02
2005.07.11
Windows XP выэтовается.


3-1116793928
PalPalych
2005-05-23 00:32
2005.07.11
Сумма элементов открытого запроса