KF

Техника => Софт => Тема начата: ITM от 19-01-2009, 13:26:49



Название: Остались ли еще знатоки Delphi ?
Отправлено: ITM от 19-01-2009, 13:26:49
Ситуация следующая, есть приложение (Delphi 5), подключается к БД Access 2000, соответственно установлено BDE,  в ODBC заведен элиас, на машине установлен Access 2003. На операционных системах Windows 2000 – XP (с любым SP) все работает замечательно, при установке на Vista появляется ошибка при открытии запросов, которые в списке заданных полей имеют текстовый тип (Delphi expecting: String actual: Memo), естественно лечится путем перезадания типа поля, но тогда данный exe при запуске выдает сообщение обратного порядка о несоответствии типов. Приложение единое должно работать на части машин под XP и на части под Vista. Может знает кто в чем причина и как можно вылечить?


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: Com от 19-01-2009, 14:22:17
Кодовая страница?


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: ITM от 19-01-2009, 14:25:03
Кодовая страница?
В чем кодовая таблица ... Access как Access в ODBC все "по умолчанию"


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: Com от 19-01-2009, 14:33:43
http://www.u4t.ru/vista.shtml


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: ITM от 19-01-2009, 14:39:22
ммм думаете для Access и ODBC это актуально ?


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: ITM от 19-01-2009, 15:39:11
мда ... не осталось таких ....

В Windows Vista в некоторых местах вместо значения показывается "(MEMO)"

   Проблема является следствием того, что драйверы ODBC, которые поставляются с Windows Vista, неверно определяют размер строковых полей, которые используются в запросах. На данный момент, к сожалению, не найдено других путей решения этой проблемы, кроме как откатиться на более раннюю версию ODBC драйвера для Microsoft Access. Возможно, в будущем компания Microsoft выпустит исправление для этой ошибки, пока же для замены драйвера можем порекомендовать сделать следующее:
1. Возьмите файл odbcjt32.dll из любой редакции Windows XP или Windows 2000 (он находится соответственно в папках C:\WinXP\System32 или C:\WinNT\System32) или скачайте вот этот архив: odbcjt32.zip
2. Зайдите в Windows Vista под учетной записью администратора
3. Сделайте архив файла C:\Windows\System32\odbcjt32.dll
4. Запустите командную строку, выполните следующие команды:
    cd C:\Windows\System32
    takeown /f odbcjt32.dll
5. Зайдите в папку C:\Windows\System32 проводником, щелкните по файлу odbcjt32.dll правой кнопкой мыши, выберите Свойства, перейдите на закладку Безопасность. Нажмите кнопку "Изменить" и дайте полный доступ на этот файл группе Administrators.
6. В проводнике удалите файл odbcjt32.dll
7. Скопируйте в папку C:\Windows\System32 файл, который Вы скопировали или скачали в п.1.
Для проверки правильности всех действий зайдите в меню Пуск - Панель управления - Администрирование, щелкните по иконке "Источники данных ODBC" и перейдите на закладку "Драйверы". Если все сделано правильно, то версия драйвера Microsoft Access будет 4.x.x.x, а не 6.x.x.x


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: McArrow от 20-01-2009, 20:08:23
Говорила же мама - используй Access 97  :'(.


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: ITM от 21-01-2009, 12:34:28
Говорила же мама - используй Access 97  :'(.
не понял Вашей "шутки"


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: McArrow от 23-01-2009, 20:22:15
У меня тоже была проблема со связкой access 2000 - BDE - delphi. В связке access 97 - BDE - delphi проблем не наблюдал, видимо из-за того, что в таком случае вместо глючных  ODBC драйверов использовали native-драйвер BDE, работающий через dao.


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: borodavka от 30-03-2009, 10:13:36
у мелкомягких так всегда ...новое не значит правильное ... а вообще нада было через ADO юзать ...


Название: Re: Остались ли еще знатоки Delphi ?
Отправлено: ITM от 30-03-2009, 10:30:26
у мелкомягких так всегда ...новое не значит правильное ... а вообще нада было через ADO юзать ...

не .... не переделывать же на ADO....