Главная страница
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.026 c
1-1118568996
xenos
2005-06-12 13:36
2005.07.11
Как зашить ехе внутрь другого exe?


4-1116186014
Gnut
2005-05-15 23:40
2005.07.11
Обои на раб. стол.


3-1117637236
Тестер
2005-06-01 18:47
2005.07.11
FB 1.5 и 2.0 на одной машине


3-1117514779
Тучудище
2005-05-31 08:46
2005.07.11
Хранение отчетов вне EXE файла


1-1119387261
dosik
2005-06-22 00:54
2005.07.11
Загрузка по PXE