ConnectMdb в памяти

Тема в разделе "WASM.WIN32", создана пользователем Valentin, 15 дек 2008.

  1. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    Господа, скажите, если файл базы Mdb спроецирован в память при помощи CreateFileMapping, то как к нему законнектится ч-з ODBC в памяти???
    Строка: DRIVER={Microsoft Access Driver (*.mdb)};DBQ=С:\M.mdb
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Любиш извращения ? Любой файл при открытии автоматически мапится в память.
     
  3. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    Не в этом дело.
    Я не правильно сфомулировал вопрос.
    У меня в ЕХЕ-шнике в ресурсах сидит база.
    При необходимости я ее достаю, записываю на диск, потом коннектюсь.
    Я хочу не ее записывать на диск, а при поиске базы в секции ресурсов ЕХЕ-шника и загрузке ее в память -читать ее из памяти.
    Вот как это сделать без извращения???

    invoke FindResource,hInst,iRes,RT_RCDATA ; // ищем
    mov hRsrc,eax
    invoke LoadResource,hInst,hRsrc ; // загружаем
    mov lpRes,eax
    invoke LockResource,lpRes ; // фиксируем
    mov lpRes,eax
    invoke SizeofResource,hInst,hRsrc ; // длина ресурса
    mov cRes,eax
    invoke CreateFile,FILERes,GENERIC_WRITE,0,0,CREATE_ALWAYS, FILE_ATTRIBUTE_READONLY, 0
    mov hFil,eax
    .if eax!=-1
    invoke WriteFile,hFil, lpRes, cRes,ADDR cWritten, 0; // пишем
    -- !!НЕ ПИШЕМ
    invoke CloseHandle,hFil ; // закрываем
    .endif
    invoke FreeResource, lpRes; // освобождаем ресурс
     
  4. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    а в данном случае ODBC работает как InProc, т.е. если перехватить в своём процессе CreateFile\ReadFile то может можно просто тупо подменять данные читая их из ресурсов или памяти?
     
  5. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    BaGiE

    А как тогда будет выглядеть строка коннекта??

    DBQ= ???