Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];

Вниз

Non-blob column in table required to perform operation!   Найти похожие ветки 

 
Avreliy   (2003-05-12 16:26) [0]

Привет мастерам!
Есть форма, работающая с 2мя таблицами: Главная --> Подчиненная.
Доступ к БД(FireBird) осуществляется посредством BDE. Так вот, при попытке внести данные в подчинённую таблицу, появляется сообщение: Non-blob column in table required to perform operation!. Хотя никаких BLOB-полей в таблице не присутствует. Нету и длинных строк, которые трактовались бы как BLOB"ы. Тем не менее данные в таблицу вносятся, при том, столько раз, сколько вызывается метод Post подчинённой таблицы. Может, кто сталкивался с этим? Буду признателен за помощь.


 
Zacho   (2003-05-12 16:42) [1]


> Avreliy (12.05.03 16:26)

Ты уже задавал этот вопрос. Но так и не признался: какие компоненты доступа и размер полей VARCHAR ?
Если BDE и VARCHAR >255 - то это фича BDE.


 
Zacho   (2003-05-12 16:44) [2]

P.S. смотри http://delphimaster.net/view/3-1052324308/


 
Anatoly Podgoretsky   (2003-05-12 16:45) [3]

Любые строковые поля длиной свыше 255 трактуются как blob


 
Avreliy   (2003-05-12 17:00) [4]

Прошу прощения, что в прошлый раз внезапно покинул форум - очень спешил.
-------------
Компоненты доступа стандартные - Table, DataBase, DataSource.
Визуальный компонент - DBGrid.
Максимальный размер поля типа VarChar - 120. Но этот тип я использую не напрямую, а через домен.
Среди остальных типов полей таблицы: Date, Integer, SmallInt, Numeric(9.2).
Также использую несколько полей выборки.


 
Johnmen   (2003-05-12 17:21) [5]

Какова кодировка символьного поля ?


 
Avreliy   (2003-05-12 17:33) [6]

Кодировка символьного поля - WIN1251


 
Johnmen   (2003-05-12 17:47) [7]

Тогда не более 83


 
Avreliy   (2003-05-12 18:02) [8]

Т.е. любое символьное поле размером > 83 трактуется как поле типа BLOB? Как избежать этого, конечно же, не изменяя длины поля? И почему такое ограничение?


 
Johnmen   (2003-05-12 18:09) [9]

Трактуется движком BDE, если указана национальная кодировка. А в общем и целом, конечно, нет !


 
Zacho   (2003-05-12 18:14) [10]


> Johnmen © (12.05.03 17:47)

Уже смутно помню работу с BDE, но кажется мне, что ограничения в 83 там не было. Помнится, были у нас поля с charset win1251 ровно 255, и все было нормально. А 83 - это максимальный размер индекса на поле с collate (а не с character set), и BDE здесь ни при чем.


 
Avreliy   (2003-05-12 18:24) [11]

И всё же...
Есть какие-то определённые идеи?
> Zacho
Помнится, ты говорил, что давно не работаешь с BDE. Я работаю с базами недолго, поэтому не знаю альтернатив BDE. Какие можешь посоветовать?


 
spater   (2003-05-12 18:31) [12]

Удалено модератором
Примечание: Задай вопрос в СВОЕЙ ветке


 
Zacho   (2003-05-12 18:39) [13]


> Avreliy (12.05.03 18:24)

В комплекте с Дельфи (начиная с D5) есть IBX (на палитре компонентов - закладка Interbase). Еще есть FIBPlus - гораздо лучше IBX, но стоят 15$. Еще есть IBO (InterBase Objects) - тоже платные, ничего про них сказать не могу,т.к. последний раз смотрел в 1998 г. а с тех пор IBO сильно изменились. Еще можно работать через ADO и dbExpress - по этому поводу тоже ничего сказать не могу, не пробовал. Я сейчас использую IBX. Да, еще осталась предтеча IBX и FIBPlus - FIBC (Free InterBase Components), но использовать их сейчас нет смысла, т.к. примерно с 1999 г. FIBC умерли.


 
Avreliy   (2003-05-12 18:51) [14]

За инфо спасибо.
Но как насчёт определённых идей по избежанию появления сообщения?


 
Zacho   (2003-05-12 18:56) [15]


> spater (12.05.03 18:31)

IMHO, master-detail и каскадное удаление здесь ни при чем. Все дело в DBMemo. Этот компонент предназначен для работы с blob (memo) полями, отсюда и ошибка.
Когда я еще работал с BDE :) , в наших проектах были таблицы с самими разными связями, и строковые поля с character set win1251 размером до 255 включительно, и такой ошибки я ни разу не видел.


 
spater   (2003-05-12 19:12) [16]

> Zacho © (12.05.03 18:56)

Так мне что делать?

База то в акцессе..., и размер поля 300.


 
Zacho   (2003-05-12 19:18) [17]


> spater (12.05.03 19:12)

Ветка была про IB. И отвечал я про IB. А с access"ом я дела не имел, заведи свою ветку, укажи в теме ACCESS и жди ответов :)


 
Zacho   (2003-05-12 19:40) [18]


> Avreliy (12.05.03 18:51)

По предоставленной тобой информации ничего вразумительного сказать уже не могу. Как я уже писал, в свое время работал с BDE, и связи master-detail были, и поля с кодировкой win1251 были, а такую ошибку наблюдал только для строковых полей более 255 символов. Может у кого-нибудь еще идеи будут.
А подавить само сообщение об ошибке конечно можно, но не лучше ли разобраться, почему она происходит ?


 
spater   (2003-05-12 19:40) [19]

ok :)


 
Avreliy   (2003-05-12 19:45) [20]

Разобраться я попытаюсь, а вот если не получится, то лучше его игнорировать. Только подскажи, как?


 
Zacho   (2003-05-12 19:56) [21]


> Avreliy (12.05.03 19:45)

try ... except ... end
или
Application.OnException
или
TDataSet.OnPostError

А не лучше ли перейти на IBX или FIBPlus ? В BDE еще много чего неожиданного (и не всегда приятного) есть :)


 
Avreliy   (2003-05-12 20:07) [22]

Насколько трудоёмок этот процесс?
И неужели нигде нету бесплатного FibPlus?


 
Zacho   (2003-05-12 20:20) [23]


> Avreliy (12.05.03 20:07)
> Насколько трудоёмок этот процесс?

Зависит от ... Много чего, точнее не скажешь :) Переводить какой-нибудь более-менее большой старый проект - немного проще, чем написать все заново :) В общем, попробуй, узнаешь :)

> И неужели нигде нету бесплатного FibPlus?

Есть какая-то старая версия. Наверное, и новые версии можно найти на каких-нибудь варезных сайтах. Но лично мне было бы стыдно :) За такой отличный продукт - цена совсем небольшая. Жалко денег - пользуйтесь IBX, тоже вполне приемлемо.



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

Форум: "Базы";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.01 c
1-94873
merliniii
2003-05-20 12:57
2003.05.29
Путь из диалога


1-94825
Raduga
2003-05-19 14:52
2003.05.29
определение объема занимаемой памяти


4-95153
Максим
2003-04-01 09:33
2003.05.29
как ограничить передвижение мыши границами формы?


14-95032
Pat
2003-05-08 16:21
2003.05.29
Выключение Win2k


9-94656
Хранитель_7К
2002-12-17 16:11
2003.05.29
Очень нужна небольшая библиотека для воспроизведения MP3 файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский