Странная ситуация C10+ADO+In-Memory, W10

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
icohff
Новичок
Сообщения: 14
Зарегистрирован: 15 Март 2009, 19:40
Откуда: Bulgaria, Varna
Контактная информация:

Странная ситуация C10+ADO+In-Memory, W10

Сообщение icohff »

C10 12463 + ADO support + In-Memory, MySQL сервер, mysql-connector-odbc-5.3.7/8,
Загрузка данных в memory file вместо Queue.
Рабочие станции под управлением windows 7, 8, - все нормально + 3 под windows 10.
До трех дней и с ними все было нормально. Я думаю, там было обновление Windowsa, потому что проблемы появились во всех трех в то же время /они находятся в разных городах/.
При запуске программа зависает и windows предлагает только рестарт.
Первый после рестарт работает нормально, второй не запускался, после новая установка windowsа работает нормально.
На третьем после переустановки драйвера ODBC, все данные загружаются, но memory файлы потеряли индексы и могут быть прочитаны только по порядку записей.

Обработка данных довольно просто, но теперь придется читать все записи дважды, чтобы получить отчет.

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

obmwed               FILE,DRIVER('MEMORY','/THREADEDCONTENT'),PRE(obm),BINDABLE,CREATE,THREAD 
PRIMARY                  KEY(obm:uidrec,obm:pn),NOCASE,PRIMARY      
pdt                      KEY(obm:prihod,obm:data1,obm:time1),DUP,NOCASE
....

clear(obm:record)
!obm:prihod=0;obm:data1=loc:d1;obm:time1=100;set(obm:pdt,obm:pdt)
set(obmwed)
loop
  if access:obmwed.TryNext() then break.
  if obm:prihod=0
    do gl_data
  else
    !break
. .
Не работает и access:file.Fetch(key) что не позволяет обрабатывать данные в других функциях.

После новая установка windowsа наверно будет работать нормально, но уже два дня, пытаясь найти проблему и не удалось. Если у вас есть какие-либо идеи, я был бы очень благодарен.
Христо Христов
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

Странная ситуация C10+ADO+In-Memory, W10

Сообщение Губин Игорь »

1. Попробуйте убрать, если есть, в манифесте, совместимость с Windows 10
2. Поставить в манифесте, принудительно, запуск с правами пользователя
3. Проверить по путям внимательно все dll на версии, а лучше, скинуть в каталог задачи.

Надо смотреть кусок кода, где заполняется IMDD
icohff писал(а): 29 Июль 2017, 4:56,obm:pn
Случайно, это не String?
Это я только кажусь дураком! На самом деле я полный идиот!
icohff
Новичок
Сообщения: 14
Зарегистрирован: 15 Март 2009, 19:40
Откуда: Bulgaria, Varna
Контактная информация:

Странная ситуация C10+ADO+In-Memory, W10

Сообщение icohff »

<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
uidrec STRING(16), pn BYTE, все dll последний, IMDD заполнен точно,
только совместимость с win10 там в манифесте стоит, я удалю его завтра.

Спасибо.
Христо Христов
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

Странная ситуация C10+ADO+In-Memory, W10

Сообщение Губин Игорь »

icohff писал(а): 30 Июль 2017, 21:52uidrec STRING(16), pn BYTE,
Вот в этом-то и засада!!!
Бывает... Практика показала, что для гарантированно стабильной работы IMDD нужно, чтобы Primary был только из числовых, а ещё лучше из одного числа...
Это я только кажусь дураком! На самом деле я полный идиот!
Ответить