Страница 1 из 1

Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Пн 16 сен 2013 12:54
mdsf
Windows 7 SP1 RU (x86) + Delphi XE2 16.0.4504.48759 + MySQL 5.5.32 + DevArt MyDAC 7.6.11 + база данных InnoDB (utf8_general_ci).

Если напрямую обращаться к основной таблице - ошибок никаких нет.
Если же создать View:

Код: Выделить всё

CREATE TABLE IF NOT EXISTS `myview` (
`id` int(11)
,`number` int(11)
,`uploadstamp` datetime
,`author` varchar(25)
,`updatestamp` datetime
);

...

DROP TABLE IF EXISTS `myview`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `myview` AS SELECT
`a`.`id` AS `id`,
`a`.`number` AS `number`,
`a`.`uploadstamp` AS `uploadstamp`,
`a`.`author` AS `author`,
`a`.`updatestamp` AS `updatestamp`
FROM maintable;
... и попробовать к нему обратиться, то в ответ придёт ошибка "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)":
Изображение


В соседнем форуме нашёл такого же пострадавшего, но ему, к сожалению, тоже ничем не помогли.

Как быть?

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 17 сен 2013 04:55
mdsf
И да - это как-то связано с "UseUnicode := True" (+ "Charset"). Создал новый чистый проект, и переключил данную опцию в TMyConnection на "False" - ошибка ушла, но вместе с ними ушло и корректное отображение кириллических данных :(

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 17 сен 2013 09:34
mdsf
Попробовал продукт Вашего конкурента - он работает как надо. Выходит, MyDAC как-то некорректно работает. Вы можете это поправить?

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 17 сен 2013 13:19
DemetrionQ
Здравствуйте.

Проблема с открытием таблиц, содержащих TIMESTAMP поля, уже исправлена. Исправление будет доступно в следующей версии MyDAC, которую мы планируем выпустить на этой неделе.

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 17 сен 2013 14:08
mdsf
Благодарю за скорый ответ. А Вы можете в порядке исключения сказать мне, что конкретно нужно исправить в том файле, который упоминается в заголовке ошибки (только, пожалуйста, не сочтите мою просьбу за наглость и хамство)? Просто у меня проект горит и каждая минута на счету. Исходники компонента на руках. Спасибо заранее.

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 17 сен 2013 16:09
DemetrionQ
Сообщите мне ваш email и я вышлю вам письмо с описанием необходимых изменений.

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Ср 18 сен 2013 03:29
mdsf
[email protected]


Спасибо Вам огромное за Вашу помощь!

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Ср 18 сен 2013 14:03
DemetrionQ
Я отправил вам письмо с описанием фикса.

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Ср 18 сен 2013 14:34
mdsf
Спасибо! Прошло полчаса, но этот проклятый mail.ru до сих пор молчит как партизан, чтоб у них там всё... :oops:


Если Вас не затруднит, можно Вас попросить переотправить Ваше сообщение на gmail.com: [email protected]

Спасибо большое за отзывчивость!

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Чт 19 сен 2013 10:34
DemetrionQ
Отправил письмо и на gmail. Сообщите, если снова возникнут проблемы с доставкой письма.

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 01 окт 2013 14:43
Anfet
Эта ошибка проявляется всегда если использовать поля тип TIMESTAMP и UseUnicode опцию.

Чтобы ее убрать нужно переставить все поля с TIMESTAMP на DATETIME и прописать триггеры если нужна автоподстановка.

А можно и мне фикс?

Re: Ошибка: "Invalid FIELD_TYPE_TIMESTAMP Field.Length (57)"

Добавлено: Вт 01 окт 2013 15:08
AndreyZ
Данная проблема исправлена в MyDAC версии 8.1.3. Для решения проблемы Вам следует обновить MyDAC до версии 8.1.3 или выше.