Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> База данных и её регистрация, Регистрация базы данных через Delphi 
:(
    Опции темы
Pakshin A. S.
Дата 15.2.2003, 04:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как програмным путём зарегистрировать новую базу данных? Запись в реестр и в ODBC.ini не помогает.
  Вверх
Vit
Дата 15.2.2003, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Для BDE:
Код

   Session.AddAlias(AliasName, AliasDriver, Params);
   Session.SaveConfigFile;



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Step
Дата 15.2.2003, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



Vit я думаю это надо добавить в ФАКЮ


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Medved
Дата 15.2.2003, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата
Vit я думаю это надо добавить в ФАКЮ


Да нет, вопрошаемому требуется зарегистрировать алиас не в BDE а в ODBC.

Передомной никогда не вставал такой вопрос, так как я препдочитаю использовать компоненты прямого доступа к БД.
Но где-то я в своей коллекции документации встречал ответ на такой вопрос, просто никак не могу его найти.

К сожалению для ковыряния времени сейчас нет.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Medved
Дата 15.2.2003, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



А какая база даных? (Paradox, DBase, FoxPro и т.д.?)


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Step
Дата 15.2.2003, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



лучше использовать ДАО


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Medved
Дата 15.2.2003, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Вот в папке Windows/System лежит утилита ODBCConf с ее помощью можно зарегистрировать новый алиас. Можно через ShellExecute запустить эту утилиту с указанием необходимых параметров, при этом спрятав окна сообщений. - Но это ИМХО не очень корректный вариант.


А вот это, взято из Кулибы.

Цитата
...я обращал ваше внимание на трудности коннекта Delphi-приложений с Watcom. За исключением досадной проблемы с чуствительностью регистров у ODBC драйверов (которая пропадает после установки соответствующих заплаток), мое приложение действительно лучше соединяется с базой данных Watcom, чем LIBS. Вот функция, которую я использую для подключения к серверу:


--------------------------------------------------------------------------------
    function TLogonForm.LogonToServer: Boolean;
begin
LogonToServer := FALSE;
MyDatabase.AliasName := DatabaseEdit.Text;
MyDatabase.Params.Values['USER NAME'] := UserIDEdit.Text;
MyDatabase.Params.Values['PASSWORD'] := PasswordEdit.Text;
MyDatabase.Params.Values['SERVER NAME'] := ServerName;
try
MyDatabase.Connected := TRUE;
LogonToServer := TRUE;
except
on E: EDatabaseError do
MessageDlg('Программа не в состоянии подключиться к
серверу баз данных по следующей причине: ' + #10 + #10 + E.Message, mtError, [mbOK], 0);
end;
end;

Эта функция находится в модуле с формой диалога подключения, на которой расположены три поля редактирования: идентификатор пользователя, пароль и имя базы данных. При щелчке пользователем на кнопке OK, значение из поля с именем базы данных используется для поиска в файле ODBC.INI:



--------------------------------------------------------------------------------
    ServerName := ODBCIni.ReadString(DatabaseEdit.Text, 'Database', '');

Этой строчкой мы получаем фактическое имя файла базы данных, к которому нам необходимо получить доступ ('SERVER NAME' - параметр соединения).

Во время разработки я выставил в своем компоненте TDatabase следующие параметры:


Connected: FALSE
DatabaseName: DCAC {это псевдоним, используемый приложением}
KeepConnection: TRUE
LoginPrompt: FALSE
Name: MyDatabase
TransIsolation: tiReadCommitted

AliasName, DriverName и Params в режиме проектирования остаются пусты, DriverName не используется совсем, т.к. во время выполнения приложения используется AliasName (они являются взаимоисключающими, вы можете установить что-то одно, но не оба сразу).
Вот секции Interbase и Watcom моего файла ODBC.INI:


[DCAC_IB]
Driver=C:\WIN\SYSTEM\BLINT04.DLL
Description=DC Aquatics (Interbase)
Database=D:\DCAC_IB\DCAC.GDB

[DCAC_WSQL]
Driver=D:\WSQL\wsqlodbc.dll
Description=DC Aquatics (Watcom)
Database=D:\DCAC_WAT\DCAC.DB
Start=D:\wsql\db32w %d
Если мне необходимо подключиться к базе данных Watcom, все, что мне нужно сделать - изменить содержимое поля редактирования имени базы данных в диалоге подключения на 'DCAC_WSQL'. Если мне нужно использовать базу данных Interbase, я набираю 'DCAC_IB'. Работает замечательно.
Надеюсь это поможет... успехов..



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 15.2.2003, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



У меня есть код для регистрации ODBC, в понежельник выложу, но есть 2 замечания:

1) Указывайте что конкретно надо, так как в данном случае непонятно речь идёт об BDE или ODBC
2) Указывайте базу данных


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 16.2.2003, 00:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











База данных Accessовская. Регистрировать её нужно мне через мою программу, а не через BDE и ODBC...
  Вверх
Vit
Дата 16.2.2003, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Тогда я не понял что имеется ввиду под понятием "регистрировать". В программе никакой регистрации базы данных не требуется, в зависимости от применяемого доступа для подключения базы данных используют:

1) Через BDE - указывается BDE Alias на базу данных
2) Через ADO - составляется ConnectionString
3) Через ODBC - указывается DSN
4) Через DAO - указывается путь к базе данных


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Step
Дата 16.2.2003, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



Цитата
База данных Accessовская. Регистрировать её нужно мне через мою программу, а не через BDE и ODBC...
использую ДАО и указывай прямой путь к файлу базы данных, ДАО работает быстее ОДБС.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Unregistered
Дата 16.2.2003, 04:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Прямой доступ к файлу у меня почему-то не работает, поэтому мне нужно заносить новый Алиас в реестр и в ODBC.ini какой-нибудь WinApi функцией или чем-то в этом духе (конечно без помощи функций по работе с реестром или классом TRegistry, или т. п.), т. к. прямая запись в реестр и в ODBC.ini не решает проблемы, а только создаёт её: появляются разные сообщения об ошибке работы с базой данных, хотя программа написано корректно...
  Вверх
Vit
Дата 16.2.2003, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Ещё раз спрашиваю -
Какой доступ к базе данных Вы используете - BDE, ADO, DAO, ODBC?
Если какой-то другой - то тогда приедите код. Так Вам никто не сможет ответить. Есть сотни способов работать с базами данных - пока Вы не посвятите нас о том Как именно вы обращаетесь к базе данных Вам никто не сможет помочь.

Пока же я могу только догадываться что вы делаете: скорее всего вы работаете через BDE и пытаетесь обратиться через BDE к базе MS Access используя BDE или ODBC провайдер. Естественно, что по прямому указанию пути BDE и ODBC не дадут Вам работать с базой данных. А вот теперь начинается самое интересное - я дал Вам код для создания BDE Alias, а Pegas для создания ODBC DSN (я смогу в понедельник дать Вам ещё один пример создания DSN), и тут Вы заявляете, что "Регистрировать её нужно мне через мою программу, а не через BDE и ODBC". Всё приехали! Нет и никогда не было никакой регистрации базы данных в программе! Существует лишь создание Alias для BDE или DSN для ODBC. Их можно создать либо через соответствующие утилиты, либо из программы, при помощи кода который мы привели. Всё, больше я ничего не могу сказать, так как Вы умудрились в конец всё запутать.


PS. Если не знаете терминов, постарайтесь лучше сказать своими словами, получится по крайней мере понятнее чем Ваш термин "Регистрировать базу данных", который в тупик поставит любого программиста, и который Вы вряд-ли найдёте в какой-нибудь более или менее серьёзной книге по программированию.



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Medved
Дата 17.2.2003, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Я бы посоветовал Вам прочитать в первую очередь статью Вита Базы данных с нуля, это будет очень полезно, и избавит нас от дальнейшей путаницы. Да к тому же не займет много времени.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1285 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.