Текущий архив: 2008.05.11;
Скачать: CL | DM;
Вниз
База данных Access Найти похожие ветки
← →
gidravlikus © (2008-03-21 12:27) [0]Суть вопроса: необходимо чтобы приложение могло работать с базой данных без установки на комп офисного пакета. Выдает ошибку [Microsoft][Диспетчер драйверов ODBC] Итсочник данных не найден и не указан драйвер используемый по умолчанию. Пробовал устанавливать mdac, dao35,36 не помогает.
← →
Reindeer Moss Eater © (2008-03-21 12:56) [1]У тебя ДСН не найден, а не драйвер
← →
Виталий Панасенко(дом) (2008-03-21 13:56) [2]А еще лучше - через АДО, MS JET напрямую, без ODBC
← →
gidravlikus © (2008-03-21 15:12) [3]Спасибо за внимание, сам догнал!
← →
Amoeba © (2008-03-24 13:20) [4]
> необходимо чтобы приложение могло работать с базой данных
> без установки на комп офисного пакета
Оно и не требует установки офиса. Все необходимое ставится в составе ОС. Об остальном уже сказано выше.
← →
DimonS (2008-03-25 04:40) [5]Блин, снесите ветку, не глянул вниз, вопрос тот же :)))
http://delphimaster.net/view/15-1206408609/
Но только тут такая загвоздка.
Цепляюсь через ADO:ADOConnection1.ConnectionString:="Provider=MSDASQL.1;.....";
С другим провайдером (MS JET) неполучается подключиться к одной из баз, пишет неверный пароль и все. Почему - незнаю, база не моя, я из нее делаю только выборку.
← →
slider007 © (2008-03-25 11:32) [6]
> Почему - незнаю, база не моя, я из нее делаю только выборку.
База не твоя ? Ты только зазместил объяву ?
← →
Anatoly Podgoretsky © (2008-03-25 15:10) [7]> DimonS (25.03.2008 04:40:05) [5]
И нафига левое ухо чесать правой рукой - JET
← →
DimonS (2008-03-26 02:17) [8]
> Anatoly Podgoretsky © (25.03.08 15:10) [7]
Создаем udl-файл.
Строка подключения:Provider=Microsoft.Jet.OLEDB.4.0;Password=а123;Data Source=D:\ddd.mdb;Persist Security Info=True
Проверить подключение:
"Не выполнена проверка подключения из-за ошибки инициализации поставщика. Не удается запустить приложение. Системная база отсутствует или открыта с монопольным доступом другим пользователем."
База есть. Не открыта никем.
Если использовать такую строку подключения:Provider=MSDASQL.1;Password=ldofmer9ERG40Gweg;Persist Security Info=True;Extended Properties="DSN=База данных MS Access;DBQ=D:\ddd.mdb;DefaultDir=D:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=а123;UID=admin;"
,
то все ОК.
Что я делаю неправильно?
← →
DVM © (2008-03-26 11:43) [9]С некоторых пор у меня на обоих компьютерах та же ерунда творится. Но. Если строку подключения через Jet указывать в Design Time то не работает. Вываливается:
"Не выполнена проверка подключения из-за ошибки инициализации поставщика. Не удается запустить приложение. Системная база отсутствует или открыта с монопольным доступом другим пользователем."
В Run Time та же самая строка подключения работает.
← →
DimonS (2008-03-26 15:35) [10]
> DVM © (26.03.08 11:43) [9]
Я тоже про это читал. У меня и в Run Time та же ошибка. И не только через udl. Из строки подглючения ADOConntction так же.
Да, база Access 2000, если это что-то значит.
← →
sniknik © (2008-03-26 19:13) [11]> Что я делаю неправильно?
задаешь пароль на юзера
> Password=а123
юзера тем не менее не указываешь, и + не указываешь системный файл в котором юзеры описаны (а раз пароль юзера задан то она его, этот файл ищет).
← →
DimonS (2008-03-27 00:14) [12]
> sniknik © (26.03.08 19:13) [11]
Хм...
Если входить в файл просто из Access, то просто тупо набираешь пароль и все, юзера не указываешь. Поэтому и незнаю какой юзер. Поумолчанию в udl прописывается юзер Admin, то же самое, не находит.
И тогда почему пускает черезProvider=MSDASQL
? Для этого провайдера юзер не нужен?
← →
sniknik © (2008-03-27 00:42) [13]> то просто тупо набираешь пароль
вероятно пароль на базу.
> юзера не указываешь
но если указываешь пароль юзера то должен указать и место где он хранится.
или также тупо набери его в строке, вместо для юзера.
> И тогда почему пускает через
> Provider=MSDASQL?
потому что он из твоей строки составляет свою, чтото игнорирует, чтото добавляет (может быть), и уже с правильной строкой присоединяется к тому же Jet.
> Для этого провайдера юзер не нужен?
но для него ты его пишешь... хотя в строке ни там ни там он не обязателен, он и по умолчанию подставится. + для этого провайдера ты пишешь и пароль базы. вот и все.
← →
DimonS (2008-03-27 02:20) [14]
> sniknik © (27.03.08 00:42) [13]
Ну объясни мне тупому :)))
> вероятно пароль на базу.
Естественно, пароль есть, его и указываю.
> но если указываешь пароль юзера то должен указать и место
> где он хранится.
Хм... Вот просто не знал про это. А где он может храниться? Ни одного файла с базой больше нет, ну кроме блокировочного, когда открываешь (сам создается).
> или также тупо набери его в строке, вместо для юзера.
Набрать что? Пароль вместо юзера? Просто не понял фразу.
В общем как нужно правильно все написать?
ЗЫ. Могу, впринципе, выложить этот файлик БД.
← →
sniknik © (2008-03-27 08:47) [15]> Ну объясни мне тупому :)))
уже. и имхо, достаточно (написал гораздо больше инфы в ответе чем предоставлено в вопросе).
> Естественно, пароль есть, его и указываю.
естественно это когда написано... описано что делается, ситуация, что есть, как есть и чего хочеш добиться...
у тебя нигде ни написано что пароль есть, и что пароль на базу, вместо этого приведена строка, правильная строка надо сказать, но для неподходящей ситуации, т.к. другая строка делает другое. и вопрос "Что я делаю неправильно?"...
типа, по аналогии
открываю зеленую дверь - стучу, откидываю щеколду, дергаю ручку, дверь открылась!
теперь красную - стучу, дергаю ручку, дверь не открывается!
Что я делаю неправильно?
ответ: не откидываешь щеколду.
(хотя вообщето непонятно, а эта дверь заперта, и на щеколду ли... но, судя по примеру зеленой)
что непонятного?
> В общем как нужно правильно все написать?
в зависимости от ситуации, что "закрыто" то и открывать. во второй строке у тебя два пароля, на юзера и на базу, хотя судя по всему юзеровский просто игнорируется... но не уверен.
> ЗЫ. Могу, впринципе, выложить этот файлик БД.
лучше задавай вопросы правильно, не экономь на словах для инфы. тем более что если она всетаки запаролена и юзером то этого недостаточно, нужна еще и системная.
← →
DimonS (2008-03-27 09:35) [16]
> sniknik © (27.03.08 08:47) [15]
Ладно, экономить на словах не буду.
Что имеется.
БД Access.
Какой на ней пароль - для юзера или на саму БД - я не знаю, не я ее создавал.
Сам пароль при входе через мелкософтовскую прогамму Access известен. Чему он принадлежит, опять же, БД или юзеру - неизвестно. Как это узнать?
Пароль во второй строке одинаков должен быть, просто один я затер, а второй пропустил.
Да, спасибо, рязъяснили. Я не знал, что на эту БД может быть пароль на юзера и на саму базу. Не часто с Access вожусь.
Ну еще до кучи. Эта БД открывается на разных машинах, так что наверное не к юзеру пароль привязан?
← →
sniknik © (2008-03-27 11:17) [17]> Эта БД открывается на разных машинах, так что наверное не к юзеру пароль привязан?
похоже на то, хотя не обязательно, системную базу можно "носить" с собой.
> Создаем udl-файл.
вот там и ищи при настройке, на последней вкладке пароль на базу. с юзера можно вообще убрать.
← →
DimonS (2008-03-28 02:46) [18]
> sniknik © (27.03.08 11:17) [17]
Спасибо за разъяснения, вроде разобрался. Но не до конца.
Если пароль убрать - то открывается, но так делать низзя, т.к. программа (сторонняя) не работает.
Если ставлю любой пароль, даже из одной буквы - то не открывается. С настройками поигрался, но что-то толку нет...
← →
sniknik © (2008-03-28 10:29) [19]и это называется разобрался? больше похоже на "не понял вообще ничего"...
сказали убрать пароль юзера из настроек он его убирает в базе, с базы.
сказали где конкретно вводится пароль на базу в настройках, он вместо того чтобы его там прописать с этими настройками играется...
а вот интересно, если бы показали оставшуюся часть прямо тут, в открытом виде, вместо объяснений, сразу же последовало бы
> Спасибо за внимание, сам догнал!
?. сам, как же. вот "догоняй", возможность есть. (2 с мелочью часа [1] по [3] легким движением руки превращаются... в уже без малого 7 суток...)
Страницы: 1 вся ветка
Текущий архив: 2008.05.11;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.017 c