MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
У меня это 4-й раз произошло.
Говорю за последний (4-й). Есть таблица, кот. нормально читаю, если не задаю фильтр, кот. дает 0 записей! Да, и тут MySql все делает без сообщений. И у меня уже есть курсор, назовем его "w". В нем где-то 10 полей. Из них только одна уникальная тройка полей, если присутствует в Select <<эта тройка>>,<<еще что-то или ничего>> from w ... дает сообщение Feature not available, в переводе это, типа "жопа" Вот написал тест, сканируем все таблицы всех БД. Ловит. Исправляю вручную так - Кинул таблицу в dbf - Запомнил структуру таблицы (MySql) - Удалил эту таблицу - Создал ее - Вставил записи из dbf Получилось... Работает? Вроде, да. Поставить все это на "профилактике"? Там везде ключевое поле Recno! У меня по нему все Update'ы. Autoincrement. Все сдвинется, так как уже Юзер что-то удалял, а тут с нуля. Исправлено 1 раз(а). Последнее : Ydin, 24.02.18 19:09 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Написал такую "восстановиловку" - лечилку.
Но, лучше ей не пользоваться или только в ночь с четверга на вторник. Т.к. автоматом при определении этой "порчи" можно нажить себе больше проблем, чем эта. Исправлено 1 раз(а). Последнее : Ydin, 24.02.18 22:31 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
Мало, что понял, но если
- это код в фоксе, то пробуй:
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
И что? Курсор уже приехал от запроса MySql без ошибок, он не совсем адекватен. А где мне приделать Цитата:? Я и без связи с ситуацией не понимаю как и где его втулить... Я имею на своих руках больной курсор, которому не помогу, он заболел раньше, еще при зачатии от запроса к MySql. Через ODBC - драйвер Исправлено 1 раз(а). Последнее : Ydin, 24.02.18 22:36 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Это походу не к Фоксу проблема, а к MySql. Только запрос к MySql работает, но не работает на Фоксе простой запрос, типа
Sele Recno,Field1,Field2 from w into curs w1 - Feature not available А сам курсор вижу через Browse, только он пустой, но это так и надо. Могу ему строки добавить (Append Blank), дать Pack,Zap. Но
Исправлено 1 раз(а). Последнее : Ydin, 24.02.18 22:47 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
Дык, при nofilter ошибка воспроизводится?
И второе, приведи явно типы в запросе к серверу и в запросе в фоксе. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 25.02.18 08:37 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
"отремонтировал" ту таблицу и теперь повторить не могу.
Таблица простая, в курсоре она DATE D WORKERS I(4) SOST I(4) DATEV D OPERUS C(32) MODUL C(50) REGIM C(50) IMAGE C(100) ZMIST M OTVET M RECNO I |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
В принципе, ясно как это ловить. Читаю все таблицы с Where .F. в курсор, а потом Фоксовский Select с полным списком полей из курсора в курсор
И при ошибках сразу лечить. Но это можно только ночью делать... Исправлено 1 раз(а). Последнее : Ydin, 25.02.18 10:43 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
2 PaulWist
Мне интересно, как бы с Nofilter, я его игнорировал раньше. ReadWrite или нет - мне ближе Но в данной ситуации, что есть причина? Вроде, запорченность курсора от запроса к MySql - устраняю там и устраняется здесь - в Фоксе с его курсором, кот. к нему приехал... Ладно, меня практическая сторона интересует. Кто-то с этим имеет опыт? Именно, с MySql? Я пишу, как могу это диагностировать (кто-то, может, подскажет как лучше). Я пишу как исправляю - это основная проблема... Это Offline решение - это слабо, это - плохое решение. Лучше, чем ничего. И это основной мой вопрос по этой ветке. Исправлено 2 раз(а). Последнее : Ydin, 25.02.18 15:12 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
1. Если запрос действительно вынимает данные из одно буквенного курсора w, то есть вероятность, что w совпадёт с рабочей областью в которой открыт другой курсор.
2. Если сервер возвращает пустой курсор, то фокс может по разному интерпретировать типы данных которое ему отдаёт ODBC, и принять RECNO Int за RECNO Logical, поэтому лучше приводить явно типы данных на сервере, например:
Для проверки можно использовать КА со схемой, если ошибки не будет, значит ODBC не дружит с фоксом. 3. Тоже самое для выборки из фоксового курсорв в курсор, из-за "нулевого прогона". 4. Опция Nofilter заставляет фокс физически скопировать курсор в новый курсор, при её отсутствии, фокс обычно просто накладывает фильтр на исходный курсор. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
1. Если запрос действительно вынимает данные из одно буквенного курсора w, то есть вероятность, что w совпадёт с рабочей областью в которой открыт другой курсор.
- нет, там имя курсора генерируется и оно длинное. Это не "ручное" написание запроса - средствами Framework 2. Если сервер возвращает пустой курсор, то фокс может по разному интерпретировать типы данных которое ему отдаёт ODBC, и принять RECNO Int за RECNO Logical, поэтому лучше приводить явно типы данных на сервере, например:
- На этом спотыкался когда начинали с MySql. Про КА хорошая мысль, но тут не верю, а время уже потрачено 3. Тоже самое для выборки из фоксового курсорв в курсор, из-за "нулевого прогона". - Не влетал с таким 4. Опция Nofilter заставляет фокс физически скопировать курсор в новый курсор, при её отсутствии, фокс обычно просто накладывает фильтр на исходный курсор.[/quote] - эта опция только заставляет работать через диск, не виртуально. ReadWrite - тоже Паша, если отремонтировал таблицу в MySql и проблема ушла, то зачем искать черную кошку в темной комнате, если ее там нет Я думаю, что шансы у меня еще есть и кто-то тут у нас еще не читал тему. Может, у MySql есть что-то свое такое для проверок и лечения. Но repair table не помогает Я в том проекте проверил, там 315 таблиц и только одна падала. Я каждый раз не берегу таблицу с ошибкой - исправить как-нибудь сразу, а потом хоть потоп. Что приятно, это не так как с DBF-ами, кот. при индексах или с мемо (cdx,fpt). Спасти еще не поздно. В этом случае, не фильтруй до пустого, и все работает. Т.е. пока не нарвется кто-то у пользователя. А нарвется - ошибку увидел,пропустил (грид целый), запись добавил и нам ничего не скажет. Ну гавкнуло что-то, "а это сеть виновата..." Исправлено 3 раз(а). Последнее : Ydin, 25.02.18 18:55 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
Ну-у-у, если устраивает незнание причины и метод "лечения" - хозяин-барин ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Не устраивает. Таблицы больной нет. Как ее создать - не знаю. Но именно таблица MySql была причиной. У меня это 4-я случай. На 5-м напишу, ОК? Написал проверку таблиц БД. На работе погоняю. Спасибо! |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Вероятно в этом случае сервер вкупе с ODBC драйвером отдаёт для некоторой колонки какой-то "волшебный" тип - скажем N(30) или C(0). Запихав это силами ODBC части в курсор, фокс потом уж спотыкается при попытке перелить данные в другой курсор. MySQL работает всегда в режиме сходном с MSSQL-ным SET IDENTITY_INSERT ON. Это значит что при вставке записей в автоинкреметное поле МОЖНО прописать явное значение - документация пишет что сервер в этом случае даже сам поправит свой внутренний счётчик, чтобы последующая генерация значений не порождала дубли. Это к вопросу о починке. Про nofilter... Это не так. "диск" тут совершенно не при чём. Разница в том что в одном случае мы получаем USE AGAIN + SET FILTER/ORDER - т.е. по сути работаем с ТЕМ ЖЕ курсором, а в случае NOFILTER/READWRITE - мы явно говорим "сделай новый, независимый курсор" - а уж будет он на диск записан или нет - это вопрос 25-й. Да запросто, продолжай и дальше в том же духе. "И она ещё не раз к тебе вернётся" DBA нужен, понимающий... И из вариантов следует выбирать всё же тот что понадёжнее, а не быстрее на пол-копейки. ------------------ WBR, Igor |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
2 ИК.
Спасибо, со всем согласен. Хорошо! А про Цитата:можно подробнее? Исправлено 1 раз(а). Последнее : Ydin, 26.02.18 10:27 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Куда уж подробнее то Нужен человек хорошо разбирающийся в mysql - способный и такого рода проблемы решать (на стороне сервера, или путём замены клиентских библиотек - если дело в них), и подсказывать разработчикам как грамотно, эффективно, надёжно работать с этим сервером.
------------------ WBR, Igor |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
2 ИК.
1. nofilter и Readwrite просто сказал про диск, про "виртуальность", но, тоже, что и ты. Паша настаивает на том, что nofilter что-то изменит. Я бы проверил, но нет "материала". Если при этом не гавкнет, интересно, но сильно не спасет. Осадок останется (это цитата из Одесского анекдота) 2. Char(0). Там, где это раньше замечал, то обходил у себя в FrameWork'е, это не давало проблем на "типа" MEDIUMTEXT. Просто, еще один сгенерированный Select *** From Name into curs Name И меmo-поля живые. И именно на этом Селекте нарвались наши при тестировании на то, что есть предмет этой темы 3. - если б он был, не было бы этой темы 4. Хотел еще этот пункт написать, но передумал |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
nofilter дает тот же результат (про фичу).
Интересно, что запортилась снова та же таблица, но может она с какой-то копии БД. Сама таблица содержит замечания пользователя по нашей программе. И наш ответ. Эти 2 поля типа MEDIUMTEXT. Но с MEDIUMTEXT мы работаем много и нормально. И тут все цело-невредимо. Но с фильтром на пусто - проблема Исправлено 1 раз(а). Последнее : Ydin, 21.03.18 21:36 |
Re: MySQL - VFP. "Порча" таблиц в MySql | |
---|---|
Гулин Федор Автор Сообщений: 4640 Откуда: Минск Дата регистрации: 24.10.2002 |
в MySQL есть разные типы таблиц
в некоторых есть глюки MyIsam или как то - пробегало на форумах - нав. лучше тда задать вопрос я работаю с 5.6 версией ENGINE=InnoDB DEFAULT CHARSET=utf8; но я только скрипты пишу |
© 2000-2024 Fox Club  |