Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
...я обращал ваше внимание на трудности коннекта Delphi-приложений с Watcom. За исключением досадной проблемы с чуствительностью регистров у ODBC драйверов (которая пропадает после установки соответствующих заплаток), мое приложение действительно лучше соединяется с базой данных Watcom, чем LIBS. Вот функция, которую я использую для подключения к серверу:
functionTLogonForm.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:WINSYSTEMBLINT04.DLL Description=DC Aquatics (Interbase) Database=D:DCAC_IBDCAC.GDB [DCAC_WSQL] Driver=D:WSQLwsqlodbc.dll Description=DC Aquatics (Watcom) Database=D:DCAC_WATDCAC.DB Start=D:wsqldb32w %d
Если мне необходимо подключиться к базе данных Watcom, все, что мне нужно сделать - изменить содержимое поля редактирования имени базы данных в диалоге подключения на 'DCAC_WSQL'. Если мне нужно использовать базу данных Interbase, я набираю 'DCAC_IB'. Работает замечательно.
Надеюсь это поможет... успехов...