ADO 1.6
От: evgeniu Молдова  
Дата: 24.02.03 16:27
Оценка:
Помогите правильно написать строку ConnectionString для подключения к mdb файлу 2.0 из ADO 1.6.
Проблема в том что народ не хочет устанавливать у себя MDAC 2.....
Re: ADO 1.6
От: BugMan  
Дата: 24.02.03 17:36
Оценка:
Здравствуйте, evgeniu, Вы писали:

E>Помогите правильно написать строку ConnectionString для подключения к mdb файлу 2.0 из ADO 1.6.

Что значит "mdb 2.0" ? — версия ADO к версии Access никакого отношения не имеет

E>Проблема в том что народ не хочет устанавливать у себя MDAC 2.....

А вот это уже проблеммы твоего народа. Минимальным требованием проги на VB, работающей с Access БД является MDAC 2.5.
Расхолаживать ваш народ не надо , а то завтра они захотят чтоб это всё еще и под DOS работало
Re[2]: ADO 1.6
От: evgeniu Молдова  
Дата: 24.02.03 18:10
Оценка:
Здравствуйте, BugMan, Вы писали:

BM>Минимальным требованием проги на VB, работающей с Access БД является MDAC 2.5.


а вот это, уважаемый чушь собачья, бо с 2.1 работает замечательно

проблема остается открытой
Re[3]: ADO 1.6
От: BugMan  
Дата: 24.02.03 18:46
Оценка:
Здравствуйте, evgeniu, Вы писали:

E>Здравствуйте, BugMan, Вы писали:


BM>>Минимальным требованием проги на VB, работающей с Access БД является MDAC 2.5.

OK поправка — "любой моей проги"

E>а вот это, уважаемый чушь собачья, бо с 2.1 работает замечательно

Это "уважаемый" не чушь, а вполне нормальное системное требование. Единственно, о чём я не чётко выразился, так это то, что юзер к установке MDAC (как и любых других компонент) оношения не имеет, и не должен, потому что это задача вашего инсталяционного пакета. А юзер о версии его MDAC-а и слышать не должен — это не его юзерское дело.

E>проблема остается открытой

Во вторых: Учитесь писать вопросы! "Помогите правильно написать строку ConnectionString" — звучит не очень информативно.

Втретьих: Я вам даю нормальный совет по кардинальному решению проблемы. А то как извините вы собираетесь с ADO 1.6 на Win2000 работать? На сколько я помню он с 2.х не совместим, а 2k идет уже с 2.5......

Резюмэ: Ставьте 2.5 принудительно, и не изобретайте велосипед.
Re[4]: ADO 1.6
От: evgeniu Молдова  
Дата: 25.02.03 16:54
Оценка:
Здравствуйте, BugMan, Вы писали:

BM>Во вторых: Учитесь писать вопросы! "Помогите правильно написать строку ConnectionString" — звучит не очень информативно.

попробую написать более информативно

Dim adocnn As New ADODB.Connection
       Dim strConn As String
       'strConn = "Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\DB2.MDB;"
       strConn = "Provider=MSDASQL;Persist Security Info=False;User ID=admin;Data Source=MS Access Database;Mode=ReadWrite;Initial Catalog=D:\DB2.MDB"
with adocnn       
      .ConnectionString = strConn
      .Open
end with


так вот в 2000, XP это всё замечательно работает, там ведь по умолчанию уже стоит минимум MDAC 2.5, 2.7
даже более того работает не менее замечательно в Win98 Second Edition (2222а)

проблема заключается в том что у конечного пользователя МОЖЕТ!!! стоять Win98 не Second Edition а версии (1998), в которой стоит MDAC 1.6, а нагружать инсталяху MDAC 2,5 и т.д. нет смысла (вешать 7 метров на прогу в 700Kb), бо её размер должен умещаться на дискетку, а там уже один msvbvm60.dll чего стоит.
так вот вопрос состоит в том чтобы правильно (как мне кажется) указать провайдера и т.д. именно в ConnectionString

Изначально то проблема стоит ещё более мелкая — нужен рекордсет для корректной работы репорта, бо без него репорт открываться не будет, а сами данные в этом репорте ваще не волнуют. А в MDAC 1.6 нет методов типа append для полей и нет методов open для сохранённого на диске рекордсета.

И пожалуйста не надо кричать про козлов юзверей и проч... лучше помоги выйти из создавшегося положения.
Re[5]: ADO 1.6
От: BugMan  
Дата: 25.02.03 19:29
Оценка:
Здравствуйте, evgeniu

Вобщем раз уж тебе самому было так лень продебагить, то вот лови:
(Windows 98SE absolutely clean, ADO 1.5)
' Error description:
' Class doesnt support automation or excpected inteface

' Error source
Set conn = New Connection

Каковы же выводы? — Connection string тут не причем, т.к. до него дело и не доходит. Как я и предположил в предыдущем моём посте — 1.х с 2.х не совместимы, т.е. Connection object из 2.5 имеет иной интерфейс чем из 1.5.
Ты мог бы конечно использовать в проэкте 1.5/6 , но вот загвоздка — не найдешь ты щас дистрибутив для 1.х, а если и найдешь то он поверх 2.х не встанет, и VS6 при инсталяциии ставит насильно 2.1.

Резюме: Если хош юзать ADO 1.х — переходи на более ранние версии Васика (кстати windows тоже придется переставить, т.к. MDAC анисталируется только теоретически).
Можно конечно поиграться с late binding, но версии MDAC-а — это отдельная история, во всяком случае у меня не получилось.

>нет смысла вешать 7 метров на прогу в 700Kb

Я тебя отлично понимаю, но смысл очень даже есть! Другое дело, как это сделать удобным для юзера — об этом тебе популярно обьяснят в "Инсталяция и Администрирование"

E>Изначально то проблема стоит ещё более мелкая — нужен рекордсет для корректной работы репорта, бо без него репорт открываться не будет, а сами данные в этом репорте ваще не волнуют. А в MDAC 1.6 нет методов типа append для полей и нет методов open для сохранённого на диске рекордсета.

Менять репорт компоненту?

E>И пожалуйста не надо кричать про козлов юзверей и проч...

Юзера вовсе не козлы, а бараны, и то далеко не все — это определение by Default, т.е. уровень на который ты должен расчитывать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.