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

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

Добавлено: 29 Июль 2017, 4:56
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а наверно будет работать нормально, но уже два дня, пытаясь найти проблему и не удалось. Если у вас есть какие-либо идеи, я был бы очень благодарен.

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

Добавлено: 29 Июль 2017, 11:54
Губин Игорь
1. Попробуйте убрать, если есть, в манифесте, совместимость с Windows 10
2. Поставить в манифесте, принудительно, запуск с правами пользователя
3. Проверить по путям внимательно все dll на версии, а лучше, скинуть в каталог задачи.

Надо смотреть кусок кода, где заполняется IMDD
icohff писал(а): 29 Июль 2017, 4:56,obm:pn
Случайно, это не String?

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

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

Спасибо.

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

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