powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi и BD
27 сообщений из 27, показаны все 2 страниц
Delphi и BD
    #32092858
LevaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Можно ли стандартными средствами не конфигурируя файл idapi.cfg подключиться к любой СУБД. Например Oracle или SQL Server. Задача состоит в том, что программа должна коннектится к БД которую укажет ползователь, она может быть собрана абсольтно на любой СУБД. Т.е. чтобы пользователь из программы задал драйвер имя инстанса, имя пользователя и начал работать.
2. Как получить список возможных драйверов БД. Также список алиасов из idapi.cfg.
3. И последнее, как авторизоваться при работе с ORACLE. Каждый раз при выполнии запроса (вообщем при любом доступе к базе) он меня просит авторизоваться, а мне надо, чтобы проверка пароля проводилась только один раз. Разве Delphi не хранит сесию, создается впечатление, что он открывает сессию, выполняет запрос и закрывает сессию. Как быть?

Зарание всем огромное спасибо.
...
Рейтинг: 0 / 0
Delphi и BD
    #32092895
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переходите на ADO. Все будет проще.


Ответов я не знаю, могу только дать направление поиска

1.>> В чистом парадоксе есть функция ADDAlias. Значит она есть где-то в дебрях dll. Скорее всего в idapi32.dll

Описание на ObjectPal

1. addAlias ( const aliasName String, const type String, const path String ) Logical
2. addAlias ( const aliasName String, const type String, const params DynArray[ ] String ) Logical
3. addAlias ( const aliasName String, const existingAlias String ) Logical

DynArray - это как кэш в Perl. Индексом является название параметра.

2.>>Аналогично п.1

Описание на ObjectPal

enumAliasNames ( var aliasNames Array[ ] String ) Logical

3.>>Попробуйте KeepConnection. Или явное открытие сессий. Но почему отваливается - непонятно. Не должно.
...
Рейтинг: 0 / 0
Delphi и BD
    #32093011
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда-то я решил упростить себе инсталляцию клиента на ПК, и написал компонент, добавляющий псевдоним в рантайме (это для БДЕ), ниже его код.
Так что если хочешь работать ч/з БДЕ, посмотри в каталоге
:\Program Files\Common Files\Borland Shared\BDE\ файл bde32.hlp - там справка по функциям БДЕ, можно программно сделать всё, что делаешь ч/з БДЕ Администратор.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
unit AliasAdder;
// 23 - 26  Jan  1998  Delphi  3  Component
//**************************************************************
**
//hDrummer
// This component adds alias that exists while your program runnin'
// NOTE: 1.Alias adds for CURRENT SESSION only
//           2.Path must EXIST
// WARNING:
//       1.Do not forget to add DBIExit clause to the Form' OnDestroy event,
//         if you have not any component from  "Data Access"  or  "Data Controls" 
//         on the any form of your project
//**************************************************************

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, BDE;

type
  TAliasAdder = class(TComponent)
  private
    { Private declarations }
    FAlias    :string;
    FPath     :string;
    FAddError :string;
    FBDEError :string;
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner :TComponent);override;
    procedure AddAlias(FAlias, FPath :string);
  published
    { Published declarations }
    property prAlias :string read FAlias write FAlias;
    property prPath  :string read FPath write FPath;
    property prBDEIniError:string read FBDEError write FBDEError;
    property prError :string read FAddError write FAddError;
  end;

procedure Register;

implementation
//************************************************************************************
Constructor TAliasAdder.Create;
Begin
 inherited;
 FAlias:='NewAlias';
 FPath:='Path';
 FAddError:='None';
 FBDEError:='None';
End;{cns}
//************************************************************************************
Procedure TAliasAdder.AddAlias;
Var
 _DBIResult : DBIResult;
Begin

//**********************BDE initialization**********************************************

 _DBIResult:=DBIInit(Nil);
 Case _dbiResult of
  DBIERR_NONE	      :FBDEError:='Успешное завершение';
  DBIERR_MULTIPLEINIT :FBDEError:='Попытка многократной инициализации';
 Else
  FBDEError:='Неизвестная ошибка';
 End;{case}

//**********************Adding NEW alias*****************************************************

 _DBIResult:=DbiAddAlias(Nil, PChar(FAlias), Nil, PChar('PATH:'+FPath), True);
 Case _dbiResult of
  DBIERR_INVALIDPARAM :FAddError:='Неверные параметры';
  DBIERR_NONE	      :FAddError:='Успешное завершение';
  DBIERR_NAMENOTUNIQUE:FAddError:='Псевдоним с таким именем уже существует';
  DBIERR_OBJNOTFOUND  :FAddError:='Нужные параметры не найдены';
  DBIERR_UNKNOWNDRIVER:FAddError:='Неизвестный драйвер';
 Else
  FAddError:='Неизвестная ошибка';
 End;{case}
End;
//************************************************************************************

procedure Register;
begin
  RegisterComponents('hDrummer', [TAliasAdder]);
end;

end.
...
Рейтинг: 0 / 0
Delphi и BD
    #32093019
LevaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я тут прочитал, что компоненты dbExpress намного круче, чем их аналоги в DBE. Может ли кто нибудь скачать по этому поводу!!

P.S. Всем спасибо, особенно hDrummerу - твой компонент работает на ура, его даже практически не пришлось править!!!
...
Рейтинг: 0 / 0
Delphi и BD
    #32093031
LevaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, как получить список драйверов BD? Что бы потом возможные драйвера можно было бы отображать в программе!
...
Рейтинг: 0 / 0
Delphi и BD
    #32093055
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см. DbiOpenDriverList
...
Рейтинг: 0 / 0
Delphi и BD
    #32093240
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может и не кстати, но:

Мне кажется, что работа через BDE да еще и с любой БД, на которую укажет пользователь - это, как бы полегче, ............... плохо это очень. Маразм, одним словом.
И типы данных разные, и доступ к процедурам. А если используете SQL сервер как большой dbf - то это сооооовсем уж ни к чему - есть пример как не надо делать - 1С под SQL

ИМХО все это конечно
...
Рейтинг: 0 / 0
Delphi и BD
    #32093314
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С АДО не работал, но в БДЕ можно всякие плюшки делать типа запроса к таблицам из разных баз, также он кеширует всё не по детски и процедура Locate на нём быстро работает. Но проблема в том, что БДЕ отжил своё с выходом Kylix, т.к. для Линуха борланды не собираются его делать и дальнейшая судьба его печальна. Поэтому правильно говорят граждане - или АДО или DBExpress.
...
Рейтинг: 0 / 0
Delphi и BD
    #32093335
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Список всех BDE-алиасов можно получить командой:
Код: plaintext
1.
Session.GetAliasNames(List: TStrings);

А список всех драйверов:
Код: plaintext
Session.GetDriverNames(List: TStrings);


Вообще, смотри объект Session:TSession , он всегда существует, когда подключен модуль DB ...

Я когда-то пытался сделать что-то подобное для загонки данных из произвольной базы в Oracle (с помощью BDE), да плюнул... Проблем много (русские буковки и т.д.), а воспользоваться надо несколько раз...
...
Рейтинг: 0 / 0
Delphi и BD
    #32093702
LevaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На самом деле мне по заданию необходимо иметь возможность подконекчиваться как можно к большему количеству СУБД, а пока это только DBE.
dbExpres конечно круче DBE но там пока только 4-е драйвера, да и однонапрвленная она, а это плохо и мне не подходит.
А что касается ADO, то я с ним пока не развирался.
Скажите же толком, не так - нравится, ненравиться, плохо, отмерло, чем вамтак не угодил DBE. Мне главное, чтоб задержки были не очень ощутимы.
...
Рейтинг: 0 / 0
Delphi и BD
    #32093865
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты еще его правильно пиши - не DBE а BDE - а потом уж

А задание то - курсовая небось. Где еще такие ненормальные задания могут быть. В природе таких не существует
...
Рейтинг: 0 / 0
Delphi и BD
    #32093893
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть многое в природе, друг Горацио, что и не снилось нашим мудрецам...
...
Рейтинг: 0 / 0
Delphi и BD
    #32093908
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имею ввиду - естественное в природе.

А придуманных таких же я видел - 1С к примеру - но это еще ничего по сравнению с Турбо Бухгалтером 2000
...
Рейтинг: 0 / 0
Delphi и BD
    #32093911
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужто от Borland? Ж80
...
Рейтинг: 0 / 0
Delphi и BD
    #32093939
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты про что?
...
Рейтинг: 0 / 0
Delphi и BD
    #32093952
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про 1С конечно А ты про что подумал?
...
Рейтинг: 0 / 0
Delphi и BD
    #32094035
denche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
могу предложить один вариант.
возьми компоненты Zeos DB, накидай их все и потом только выбирай нужную базу и используй нужный набор :-)

MySql, PostgreSql, Interbase, DB2, MS SQL, SyBase SQL and Oracle
...
Рейтинг: 0 / 0
Delphi и BD
    #32094053
LevaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ненавижу, когда мне делают замечания типа - неправильно написал, неправильно сказал и т.д. Ежу понятно, что ошибся, я не думаю, что в это пальцем тыкать надо.
Я знаю, что делать опечатки и орфографические ошибки - это плохой тон, но еще хуже - это обращать внимание на эти ошибки, а тем более указывать на них!!!!
...
Рейтинг: 0 / 0
Delphi и BD
    #32094086
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой ой ой, только не надо про очепятки
Во всех постингах, где есть это слово, сделать опечатку, и не один раз !!!???!!!
Поэтому и указал - тут знаешь ли всякие бывают. Некоторые даже книжку "Delphi. Начало работы" и не открывали ни разу, а уже вопросы в кнфу задают. Это не к тебе, это из опыта просматривания тут вопросов.

А про курсовую чего? Почему нет ответа? Или в точку?
...
Рейтинг: 0 / 0
Delphi и BD
    #32094277
LevaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Свою ошибку я не относил к опечаткам - это было обобщение, скорее это путаница в аббревиатуре, поэтому так и вышло. Если такие мелочи для Вас основание относить человека в «отстой», то дело ваше…. А, вообще, форумы для того и нужны, чтобы вопросы задавать, а не для того чтоб некоторые (особо умные) люди выказывали свою крутизну, каждому встречному и поперечному.
Что касается курсовой – то Вы не правы, это часть дипломного проекта (очень прошу не развивать далее эту тему, мол что это за институт, где такие дурацкие дипломы делают).

P.S. На этом прошу закончить данную тему, и в дальнейшем, если Вас не затруднит, я попросил бы больше не писать в мои топики, потому что ваши сообщения меня очень расстраивают, да и толку от них совсем нету (по крайне мере по мои вопросам ничего конкретного сказано не было).
...
Рейтинг: 0 / 0
Delphi и BD
    #32094470
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Затруднит :)

Проблема не в том, что опечатка, и не в том, что кто-то крутой, а кто-то нет (хотя я такого не писал а просто заметил про неправильность написания).

Проблема в том, чтобы понять - разбирается человек в том, чего делает, или нет. Если нет - смысл голову ломать и чего-то подсказывать, все равно в пустую. Если да - тогда другое дело.
Так что не надо так сильно реагировать - нормальная беседа (тут, на форуме). Не на приеме в Кремле :)

Что касается курсовой – то Вы не правы, это часть дипломного проекта (очень прошу не развивать далее эту тему, мол что это за институт, где такие дурацкие дипломы делают)

Дак нет, как раз ПРАВ! Разницы нет - диплом, курсовая. Потому что одно и тоже обычно - безжизненная вещь, нужная только для сдачи.

ЗЫ. Я вот сдавал диплом - у меня были конечно исходники, но то, о чем я рассказывал и показывал на плакатах совершенно не работало, да и не было вообще написано - благо на компьютере проверить было невозможно. Хотя был реальный проект - но при смерти, и так и помер

И не правда, что советов хороших не давал - очень хороший совет о том, что делать универсальный доступ к любой БД - утопия!
...
Рейтинг: 0 / 0
Delphi и BD
    #32094478
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему, где-то это я уже читал...
...
Рейтинг: 0 / 0
Delphi и BD
    #32102738
Наследники OIT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто пучков можно!
Безусловно!
Мы сами пробовали и у нас получилось
Мы бы не дурачились
Просто мы думаем, что из 21 ответа ты почерпнул нужную тебе информацию и уже со всем разобрался! :-)
...
Рейтинг: 0 / 0
Delphi и BD
    #32103330
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tygra, а что ты скажешь про написание универсального клиента? Это я к твоему вопросу об утопии. Движок для работы с ЛЮБОЙ структурой данных? И могу тебя заверить, чтото и очень даже серьезное уже получается. Правда пока только на IB, но лиха беда начало

А вообще с тобой абсолютно согласен по поводу того что человеку нужно прежде почитать доки, книжки, хелпы, а уж потом что-то спрашивать... потому как перепечатывать книги неблагодарное занятие... :)
...
Рейтинг: 0 / 0
Delphi и BD
    #32103833
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А при чем тут универсальный клиент?
Из-за алиасов BDE? Так это мертвая технология.
ADO? А везде типы данных разные, работает все по-разному. Опираться для работы с данными только на select из клиента? Так это маразм и тормоза.

Самый лучший универсальный клиент - его не может быть, либо это Access 2000 или Delphi (или С++ или кому что нравится)

Но скорее всего его все же быть не может - нет таких задач. Никто телефонные номера на SQL сервере не хранит, чтобы для него делать клиента. А если хранит - значит Acess

Так что вот
...
Рейтинг: 0 / 0
Delphi и BD
    #32104254
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, просто если проанализировать что нужно юзверю обычно от БД? Ввести данные и вывести отчеты. Так движок можно и стандартизовать, так чтобы форточки отображающие данные выглядели однотипно, отчеты генерировались в одном месте. Понимаю, две программы на одном этом движке будут выглядеть одинаково, но ведь это и надо юзерам которые являются именно юзерами ...
а по поводу технологии, пытаемся перейти на ADO
...
Рейтинг: 0 / 0
Delphi и BD
    #32104301
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2tygra:
BDE - не мертвая технология. Она просто застывшая навека - в байтах и битах ;)
ЗЫ
Кстати, очень неплохое когда-то было решение. Если я не ошибаюсь она когда-то была основой концепции Golden Gate Borland'a - один интерфейс ко всем БД. А может и ошибаюсь...
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi и BD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]