Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые ГУРУ! Нуждаюсь в ваших советах по следующим вопросам: 1. Нужно чтобы программа для работы с базой данных корректно работала на разных версиях Windows winXP win7 win8(8.1) и win10 используя библиотеку ADO В директории C:\Program Files (x86)\Common Files\System\ado есть куча dll. Подскажите пожалуйста какие из из этих dll импортировать для той или иной версии windows Google дает примеры использования msado15.dll msado20.dll ... Хотелось бы знать какая dll в каких случаях используется (что-то вроде таблицы соответствий). Базы данных - (Access MSSQL MySQL). 2. Если выбор dll зависит от ОС, то как программно подключить нужную библиотеку? Я могу определить версию ОС пользовательской функцией. но прописать директиву #import в теле функции нельзя Тогда как узнать версию ОС без использования пользовательской функции, чтобы в начале файла с кодом прописать нужную dll Или директивой #import прописывать все варианты, а в программе, в зависимости от ОС, использовать вызовы функций из нужной dll ? Заранее благодарен за любую помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 21:43 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
автор1. Нужно чтобы программа для работы с базой данных корректно работала на разных версиях Windows winXP win7 win8(8.1) и win10 используя библиотеку ADO Нужно устанавливать с дистрибутивом вашей программы MDAC Программа должна быть только 32-битной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 21:53 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Eolt, спасибо за MDAC А что в самой windows изначально нет msado15.dll msado20.dll и т.д? А как на счет 2 вопроса (программный выбор подключения)? Какой подход тут нужен? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 22:12 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
EoltНужно устанавливать с дистрибутивом вашей программы MDAC . А что, в самой windows изначально нет нужных библиотек? Вот что пишет microsoft по твоей ссылке: "Microsoft Data Access Components (MDAC) 2.8 SP1 содержит те же основные компоненты доступа к данным, что и Microsoft SQL Server OLE DB, и драйвер ODBC. Установщик версии MDAC 2.8 SP1 устанавливает те же основные компоненты доступа к данным, что и операционная система Microsoft Windows XP SP2." Я так понял, что во всех версиях windows все это есть... или я не чего-то не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 22:32 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
авторА что, в самой windows изначально нет нужных библиотек? В вопросе был упомянут XP. Насколько я помню, в голой SP2 нет MDAC, и на счет SP3 тоже не уверен. Насчет чистой Windows 10, тоже хз. А в остальных он вроде есть везде. Если специально его не удалили. И еще он есть точно, на машине где стоит 32-битный Офис, так в дистрибутив офиса он входит. Чтобы из VBА можно было коннектится к базам через ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 22:52 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
ArbitПодскажите пожалуйста какие из из этих dll импортировать Не надо ничего импортировать из DLL. ADO работает на основе OLE DB и какие именно сервера автоматизации создавать - решается на основе информации в реестре. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 22:53 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
ArbitEolt, спасибо за MDAC А что в самой windows изначально нет msado15.dll msado20.dll и т.д? А как на счет 2 вопроса (программный выбор подключения)? Какой подход тут нужен? Спасибо. Там не только эти две dll. Их больше, и они с зависимостями. Часть это COM DLL, их нужно регистрировать в реестре. Проще просто включить в инсталлятор вашей программы - установщик MDAC, и пытаться его поставить в конце инсталляции вашей проги. Если MDAC уже стоит, то его повторная установка не произойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 22:59 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Еще раз уточню вопросы. 1. Подскажите пожалуйста где можно почитать о назначении dll, расположенных по адресу: C:\Program Files (x86)\Common Files\System\ado\ (для 64-битных ОС) C:\Program Files\Common Files\System\ado\ (для 32-битных ОС) и какими версиями ОС они поддерживаются? Мне нужна в программе всего одна dll которая, которая будет работать в конкретной ОС например msado15.dll 2. Как программно ДИНАМИЧЕСКИ подключить нужную для данной ОС библиотеку ADO ? Вариант 1 - Определить версию ОС до объявления директивы #import (как?), а потом например if .... #import "C:\Program Files (x86)\Common Files\System\ado\ msado15.dll " rename("EOF","ADOEOF") rename("BOF","ADOBOF") endif Если msado15.dll присутствует во всех нужных версиях windows(XP, Vista, 8, 8.1, 10), то данный топик можно считать закрытым. Если нет - то продолжу поиски ответа на свой вопрос Вариант 2 - Объявить #import *.dll для каждой ОС, а в теле функции по работе с базой определить версию ОС и использовать функции нужной библиотеки Вариант 3 - ваш вариант Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 23:44 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovArbitПодскажите пожалуйста какие из из этих dll импортировать Не надо ничего импортировать из DLL. ADO работает на основе OLE DB и какие именно сервера автоматизации создавать - решается на основе информации в реестре. А можно чуть-чуть подробнее как работать с базой без этой строчки на основе реестра #import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" rename("EOF","ADOEOF") rename("BOF","ADOBOF") а на основе данных реестра? Сильно не пинайте пожалуйста спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2016, 23:52 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Arbitа на основе данных реестра? Код: sql 1. и далее везде. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 00:08 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Микрософт прикрывает технологии ADO (обосрались-с), так что задавать вопросы по поводу далеких планов совместимости нерационально. https://msdn.microsoft.com/en-us/library/ms810810.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 00:14 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
ArbitЕще раз уточню вопросы. 1. Подскажите пожалуйста где можно почитать о назначении dll, расположенных по адресу: C:\Program Files (x86)\Common Files\System\ado\ (для 64-битных ОС) C:\Program Files\Common Files\System\ado\ (для 32-битных ОС) и какими версиями ОС они поддерживаются? Мне нужна в программе всего одна dll которая, которая будет работать в конкретной ОС например msado15.dllНигде. Это проприетарная информация Микрософт и она целиком и полностью на совести компании. Причем она не только может быть разной в разных ОС, но и меняться во время жизни одной и той-же машины. Приехал клиенту очередной "security update" и аля-улю. Arbit2. Как программно ДИНАМИЧЕСКИ подключить нужную для данной ОС библиотеку ADO ?Просто открой коннект. ArbitВариант 3 - ваш вариантИспользовать ADO надо в Visual Basic и его кузенах. Использовать ADO в С++ глупо. Абсолютно никакого выигрыша в удобстве написания кода, плюс потери на оверехеде конвертации данных между драйвером СУБД и клиентской программы. ADO это враппер над ODBC и OLEDB драйверами предназначенный для встраивания в Visual Basic. В последствии ADO подтянули и в другие языки, но только в VB с ним работать удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 00:19 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Код: sql 1. и далее везде. Спасибо, попробую! А если стоит голая система без офиса или MSSQL, это тоже сработает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 00:19 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
White Owl, ADO это враппер чисто над OLEDB, ODBC живёт свой жизнью Писанины на C++ с АDO несколько меньше чем с OLEDB А топикстартер похоже слегка путает подключение dll для автогенерации заголовков при компиляции с использованием COM при исполнении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 09:07 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Изопропил, ну слава богу, а то я уже почти загрустил! :) Я еще только учусь, и наверно неправильно задал вопрос. Приложение пишется под win32 (студия 2013) Я использую класс ADODB для работы с базой данных Заголовочный файл содержит следующую строку: в win32 это будет Код: plaintext 1. В win64 это будет Код: plaintext 1. [b]Мне нужно: Определить разрядность системы и в зависимости от нее прописать в заголовочном файле моего класса нужный вариант строки. Вопрос - как это правильно прописать в заголовочном файле? Еще вопрос: Все ли "голые" системы windows: XP, Vista, 8.0, 8.1, 10 содержат в себе данную библиотеку msado15.dll , или нужно будет устанавливать на машине пользователя MDAC нужной .версии? Если устанавливать MDAC, то какой и на какую версию windows Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 17:34 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Опять ерунду написал Наоборот в win32 - Program Files а в win64 - Program Files (x86) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 17:40 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Arbitпрописать в заголовочном файле моего класса нужный вариант строки. Вопрос - как это правильно прописать в заголовочном файле? Библиотеки зависят от разрядности приложения, не системы. Соответственно, скорее всего будет работать так: Код: sql 1. 2. 3. 4. 5. 6. 7. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 17:53 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Библиотеки зависят от разрядности приложения, не системы. Соответственно, скорее всего будет работать так: Код: sql 1. 2. 3. 4. 5. 6. 7. Спасибо, это то, что нужно! А по второму вопросу? Все ли "голые" системы windows: XP, Vista, 8.0, 8.1, 10 содержат в себе данную библиотеку msado15.dll, или нужно будет устанавливать на машине пользователя MDAC нужной .версии? Если устанавливать MDAC, то какой и на какую версию windows? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 18:12 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Библиотеки зависят от разрядности приложения, не системы. Соответственно, скорее всего будет работать так: Код: sql 1. 2. 3. 4. 5. 6. 7. Я тут подумал... наверное не совсем так... Дело в том, что в 32- разрядных версиях windows ведь нет директории Program Files (x86) а есть только Program Files Видимо нужно все=таки определить разрядность WINDOWS или наличие или отсутствие в файловой системе директории Program Files (x86) и в зависимости от результата в заголовочный файл подключать нужную строку? Вопрос открытый Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 18:27 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
ArbitДело в том, что в 32- разрядных версиях windows ведь нет директории Program Files (x86) а есть только Program Files Видимо нужно все=таки определить разрядность WINDOWS или наличие или отсутствие в файловой системе директории Program Files (x86) и в зависимости от результата в заголовочный файл подключать нужную строку? это нужно только при компиляции. что не знаешь где компилишься и под какую платформу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 18:43 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Изопропилэто нужно только при компиляции. что не знаешь где компилишься и под какую платформу? Да нет, в настройках компиляции все нормально. И все работает, Но если программа будет например на windows XP, то там директория Program Files , а не Program Files (x86) И по моему разумению на строке Код: plaintext 1. должна произойти ошибка, из-за неправильного пути? Прости если туплю, ну не догоняю я этот момент.. :(( Помоги понять, пожалуйста Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 19:16 |
|
||
|
Выбор dll ADO в winXP win7 win8(8.1) и win10
|
|||
|---|---|---|---|
|
#18+
Пока писал - допер! строка Код: plaintext 1. нужна только компилятору. а готовый экзешник уже будет содержать все что нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 19:25 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39364110&tid=2018355]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 137ms |

| 0 / 0 |
