Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при работе с TEXT и базой MySQL / 11 сообщений из 11, страница 1 из 1
24.10.2018, 11:17
    #39721930
quickstar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
Добрый день!
В интернете нет ответа, обращаюсь к вам - гуру Accessa.

Подключил Access к базе Mysql через ODBC драйвер.
Все работает отлично.

Сегодня понял, что текстовое поле с типом VARCHAR заменил на TEXT, так как размер нужен более 255 символов.
Теперь возникла проблема:
1. При открытии таблиц в Access пишет все записи #удалены и только после принудительного обновления f5 таблица отображает данные. Скрин http://prntscr.com/l9rzzp
2. Запросы: если убрать фильтры, то работают норм, если применить фильтр при загрузке (!даже не потекстовому полю), то так же пишет записи #eудалены.

Вопрос 1: почему при работе с типом поля TEXT данные не загружаются при открытии таблицы?
Подразумеваю, что данные в TEXT слишком большие и запрос обрубается, тогда где увеличить время ожидания данных с Mysql?
...
Рейтинг: 0 / 0
24.10.2018, 11:56
    #39721964
quickstar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
Как только возвращаю тип поля VARCHAR, проблема исчезает и данные в таблицу залетаю мгновенно из Mysql
...
Рейтинг: 0 / 0
24.10.2018, 13:11
    #39722049
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
ЕМНИП надо шаманить с типом данных связанного поля в самом Аксессе, ставить что-то типа "Длинный текст".
...
Рейтинг: 0 / 0
24.10.2018, 13:42
    #39722084
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
quickstar,

VARCHAR в Mysql может быть больше 255
посмотрите их мануалы, там что то порядка >2000
можно пробовать играть с размером
...
Рейтинг: 0 / 0
24.10.2018, 16:06
    #39722272
quickstar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
Игортан, Вы правы в MySQL 5.0.3 и более поздних версиях и от 0 до 65.535 .

Сейчас вопрос в том, если в VARCHAR ставлю Длина/Значения свыше 341,
то в access выводится #удалены
и отображаются только после f5

Длину 341 выяснил экспериментальным путем.
Может кто знает почему свыше 341 символа, Access уже не загружает данные в таблице?
...
Рейтинг: 0 / 0
24.10.2018, 16:12
    #39722278
quickstar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
Akina, http://prntscr.com/l9wdiy
так и сделано по-умолчанию.
Но загадка не разгадана) не работает.
...
Рейтинг: 0 / 0
24.10.2018, 16:21
    #39722286
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
quickstar,

я натыкался на проблему
сейчас не сильно вспомню...
тоже поставил тип TEXT и была проблема с сохранением строки
причем хоть пустая хоть нет.
Скинул тоже на VARCHAR(255) и все стало на места (благо, человека устроило).
Только у меня форма висела тупо на Recordset, без своих табличек

Вообще, система MySQL не родная, как то я все время натыкался на мелкие неприятности, в сравнении
с MS SQL...
...
Рейтинг: 0 / 0
24.10.2018, 16:48
    #39722314
quickstar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
Сейчас вопрос решен "заплаткой" - команда на повторное обновление таблицы после загрузки формы.
Пользователю это не заметно и данные отображаются.

Но я буду рад, если кто-то подскажет решение самой проблемы - как сделать так, чтобы акцесс отображал сразу контролы с длиной свыше 341 символа.
...
Рейтинг: 0 / 0
24.10.2018, 19:01
    #39722436
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
quickstar,

а попробуйте эксперимент
из рекордсета взять сами данные а для примера ограничьте набор одной строкой
и сделайте размер поля больше 341
команда GetString
при этом просто посмотрите в дебагере, что покажет по этому полю
будет строка обрезана или нет

кстати вариант - поле разбивать на несколько.
Хоть и не кошерно, но можно будет передать больше данных
...
Рейтинг: 0 / 0
24.10.2018, 20:09
    #39722469
quickstar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
Игортан, вау, для меня звучит сложно.
Я только учусь программировать, с рекодсетом пока не справлюсь.
...
Рейтинг: 0 / 0
24.10.2018, 20:48
    #39722479
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при работе с TEXT и базой MySQL
quickstar,

что то вроде этого
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Dim MyRec As New ADODB.Recordset
Dim TempStr as String

NewCtart:
'линк к серверу
If LincSQL = True Then
    MyRec.CursorLocation = adUseClient
    Set MyRec.Open "Хранимка", MyConnect, adOpenDynamic, adLockOptimistic
    If Not MyRec.EOF Then TempStr = MyRec.GetString(, , ";", ";")
    MyRec.Close
    debug.print TempStr
Else
    If i < 2 Then
        i = i + 1
        Call LincSQL
        GoTo NewCtart
    Else
        MsgBox "Не удалось подключение к БД!", vbInformation, "Ошибка подключения!"
        DoCmd.Close acForm, Me.Name
    End If
End If
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при работе с TEXT и базой MySQL / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]