![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
в CBuilder или DElphi (BDE) подсоединиться к БД Access без alias [D5, access]
muk07 © (2004-05-15 15:30:00)Пишу db->DriverName="MSACCESS";
db->Params->Add("DATABASE NAME=c:\mybase.mdb")
db->Open();
безуспешно
muk07 (2004-05-19 12:19:00) [1]to VLAD_MAL
Вы все таки читайте вопрос, прежде чем отвечать.
VLAD-MAL (2004-05-17 15:41:00) [2]Юзай ADO!
db->ConnectingString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Working\AccessBases\MyBase.mdb;Persist Security Info=False"
sniknik (2004-05-17 10:56:00) [3]> 1)Через alias БД открывается, следовательно BDE поддерживает.
через какой? DSN ODBC? естественно будет открывать, (его и советовал), я про родной из BDE что у тебя используется в вопросе "MSACCESS", вот этот у меня давно уже (года с два-три) выдает "нераспознаваемый формат" (у тебя тоже должен если конечно база не от 97-го офиса).
> - если ODBC источник с определенным именем на компьютере не существует, создать его.
легко (хотя правильнее наверное пользоваться инсталятором проги которая все и настраивает)
fReg:= TRegistry.Create;
fReg.OpenKey('\Software\ODBC\ODBC.INI\DocumentsFab', True);
fReg.WriteString('Database', 'Documents');
fReg.WriteString('Description', ' ');
fReg.WriteString('Driver', 'C:\WINNT\System32\myodbc.dll');
fReg.WriteString('Flag', '1');
fReg.WriteString('Password', '');
fReg.WriteString('Port', ' ');
fReg.WriteString('Server', 'xmark');
fReg.WriteString('User', 'winuser');
fReg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', True);
fReg.WriteString('DocumentsFab', 'MySQL');
fReg.CloseKey;
fReg.Free;
это правда для MySql, но ты создай нужный руками для Access а после по ключам посмотри значения (дома есть пример и для аксес но ... :)
muk07 (2004-05-17 08:50:00) [4]to sniknik
1)Через alias БД открывается, следовательно BDE поддерживает.
2) драйверы я, конечно, менял. Без успеха.
Честно говоря, мне нужно немного другое:
Неграмотный user, которому говорить слова "ODBC" и "alias" нельзя, указав в ini файле программы местонахождение БД, должен начать работу.
Сегодня попробую написать для runtime следующее:
- если ODBC источник с определенным именем на компьютере не существует, создать его.
- воспользоваться им как alias для открытия БД
Но первоначальный вопрос не потерял актуальность. Выходные кончились. Сегодня народу будет побольше. Может кто-то ответит.
Ау-у..
sniknik (2004-05-16 12:45:00) [5]согласен. если с BDE. просто вот это
> безуспешно
может означать что угодно, например нераспознаваемый формат (читай ошибку) а это может означать что у тебя версия базы уже больше чем то что BDE поддерживает. и ? т.что воспринимай предыдущее как предупреждение, в током аспекте это очень даже имеет отношение.
ну если BDE всетаки жизненно необходим, то хотябы возьми ODBC драйвер, это хотя и через задницу (ODBC в этом случае использует драйвер OLE DB, тот же ADO), но всетаки рабочий во всех случаях вариант. драйвер Microsoft Access Driver (*.mdb) вместо MSACCESS.
muk07 (2004-05-16 07:55:00) [6]Я задавал вопрос о BDE. Ваш совет не имеет отношения к вопросу.
sniknik (2004-05-15 17:28:00) [7]смотри ADO, изначально без алиасов и избежиш кучи проблем несовместимости BDE с новыми версиями jet (access)