Помогите правильно написать строку ConnectionString для подключения к mdb файлу 2.0 из ADO 1.6.
Проблема в том что народ не хочет устанавливать у себя MDAC 2.....
Здравствуйте, evgeniu, Вы писали:
E>Помогите правильно написать строку ConnectionString для подключения к mdb файлу 2.0 из ADO 1.6.
Что значит "mdb 2.0" ? — версия ADO к версии Access никакого отношения не имеет
E>Проблема в том что народ не хочет устанавливать у себя MDAC 2.....
А вот это уже проблеммы твоего народа. Минимальным требованием проги на VB, работающей с Access БД является MDAC 2.5.
Расхолаживать ваш народ не надо , а то завтра они захотят чтоб это всё еще и под DOS работало
Здравствуйте, 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 принудительно, и не изобретайте велосипед.
Здравствуйте, 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 для сохранённого на диске рекордсета.
И пожалуйста не надо кричать про козлов юзверей и проч... лучше помоги выйти из создавшегося положения.
Вобщем раз уж тебе самому было так лень продебагить, то вот лови:
(Windows 98SE absolutely clean, ADO 1.5)
' Error description:
' Class doesnt support automation or excpected inteface
' Error sourceSet 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, т.е. уровень на который ты должен расчитывать.