Автор: Nomadic

Подождите, идет подготовка к зависанию компьютера…

Связь Win-клиента c DB2 в сети Netware
Hастройка доступа к DB2

1. Связь с использованием протокола IPX/SPX.

Возможны два варианта доступа:

через сервер NETWARE;
прямая адресация.
1.1. Конфигурация для доступа через сервер.
Замечание: Проверялся доступ через сервера NW 3.11 и 3.12. Для 4.х нужно еще разобраться.

1.1.1. DB2 Сервер

должна быть установлена OS/2 Warp или OS/2 Warp Connect;
включена поддержка NETWARE;
в CONFIG.SYS в переменную среды DB2COMM добавить (через запятую) IPXSPX и перезагрузить систему;
создать командный файл DBIPXSET.CMD следующего вида:
|——————————————————————
|db2 update dbm cfg using fileserver objectname dbserver
|——————————————————————
где - - имя сервера;

выполнить командный файл DBIPXSET.CMD;
перестартовать сервер базы данных;
создать командный файл DBIPXREG.CMD следующего вида:
|—————————————————————-
|db2 register nwbindery user
|—————————————————————-
где - - имя пользователя, обладающего правами администратора на сервере ;

выполнить командный файл DBIPXREG.CMD;
ответить на запрос пароля.
1.1.2. WINDOWS - клиент
установить WINDOWS 3.1 или WfWG 3.11;
установить клиента NETWARE от версии 4.х;
при установке влючить поддержку WINDOWS;
установить клиента DB2 для WINDOWS;
используя программу Client Setup описать новый узел - сервер базы данных :
Name - <любое имя>
Protocol - IPX/SPX
File server -
Object name - dbserver
описать базу данных и разрешить доступ к ней через ODBC.
1.2. Конфигурация для доступа через прямую адресацию
1.2.1. DB2 Сервер

см. п 1.1.1;
найти в директории x:\sqllib\misc программу DB2IPXAD.EXE и выполнить ее;
записать полученный адрес;
1.2.2. WINDOWS - клиент
см. п. 1.1.2. (первые три шага);
используя программу Client Setup описать новый узел - сервер базы данных :
Name - <любое имя>
Protocol - IPX/SPX
File server - *
Object name - <адрес полученный от DB2IPXAD.EXE>
описать базу данных и разрешить доступ к ней через ODBC.

Автор: delphi | в 7:19 | Рубрики: Базы данных

Автор: Nomadic

Приходит программер в магазин:
- У ваз майонезз езззь?
- Езььь.
- Рулезззь!

Я тут писал по поводу того, что у меня не pаботали тpиггеpы. Все дело оказалось в пpавиле написания команды “create trigger”. Если все остальные команды коppектно воспpинимаются на любом pегистpе, то эта - только набpанная одними большими буквами.

Автор: delphi | в 7:19 | Рубрики: Базы данных

Посылаю кое-что из своих наработок:

NtxRO - Модуль чтения clipper-овских индексов. Удобен для доступа к данным
Clipper приложений. Предусмотрено, что программа может работать с
индексом даже если родное приложение производит изменение в индексе
NtxAdd - Средство формирования своих Clipper подобных индексов. Индексы
НЕ БУДУТ ЧИТАТЬСЯ Clipper-приложениями (кое-что не заполнил в
заголовке, очень было лениво, да и торопился) Читать полностью…

Уважаемые жители Королевства, вашему вниманию предлагается

VK DBF — компонент для работы с DBF таблицами и с Clipper индексами NTX.

Версия 1.0.5 beta (24.10.02)
Для Delphi 5
Это не просто драйвер DBFNTX для Delphi 5.
Компонет поддерживает множество расширенных типов (~60) таких как Byte, Integer, Real48, Double, Int64, WideString и т.д.
Имеется встроенная криптография
Описание

1) Add Method TranslateBuff and rewrite methods CreateBlobStream and SaveToDBT with TranslateBuff to prevent ‘Access violation’ in read and write CLOB.
2) When set RecNo check Filter, SetDeleted and Range validation.
3) Fix bud in TVKNTXRange.InRange(S: String) method
4) Add event OnCreateIndex
5) Add public var FullLengthCharFieldCopy to TVKSmartDBF for manage SetFieldData for ‘C’ type fields
6) Fix buf with allocate memory for FLocateBuffer (AV when Locate, Lookup, ReindexAll, DBEval or Pack if BufferSize <> 4096)
7) Complex actions to make index compatibility with CLIPPER:
- Full rewrite TVKNTXIndex.DeleteKey procedure, now it normalize index like a CLIPPER.
- Make TVKNTXIndex.DeleteKeyStyle property to switch Delete Key style between CLIPPER normalize index and all athers (Apollo, Halcyon…).
- Add TVKNTXCompactIndex.NormalizeRest method to make normalize index in TVKNTXIndex.CreateCompactIndex and TVKNTXIndex.SubNtx procedures.
ATTENTION: Rebuild all indexes after apply this version ! 8) Add methods: TVKNTXIndex.FindKey
TVKNTXIndex.FindKeyFields with overloaded some parameters
It is the same SeekFirst…, but subject to SetDeleted, Filter and Range.
Partual key sapport Ok!
9) Rewrite Lokate and Lookup on TVKNTXIndex.FindKeyFields.
10) Add methods:
TVKSmartDBF.SetKey;
TVKSmartDBF.EditKey;
TVKSmartDBF.GotoKey;
TVKSmartDBF.GotoNearest;
TVKSmartDBF.DropEditKey;
TVKSmartDBF.FindKey;
TVKSmartDBF.FindNearest;
All this methods work throw TVKNTXIndex.FindKeyFields.
11) Add TVKSmartDBF.IndexName property.
12) Make type ‘C’ is not be NULL, if field empty Field.AsString return string of spases lethgt of field length.

Автор: admin | в 3:15 | Рубрики: Базы данных

function UnCheckIndex(FileDbf: string): Boolean;
var
Dbf: file;
Car: Char;
begin
Result := T;
AssignFile(Dbf, FileDbf);
Car := #0;
{$I-}
Reset(Dbf, 1);
if not ErrorIO(FileDbf, IoResult) then
begin
Seek(Dbf, 28);
{Flag’s position}
if not ErrorIO(FileDbf, IoResult) then
BlockWrite(Dbf, Car, 1, Num_R)
else
Result := F;
CloseFile(Dbf);
if ErrorIO(FileDbf, IoResult) then
Result := F;
end
else
Result := F;
{$I+}
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if UnCheckIndex(’MyBase.dbf’) then
ShowMessage(’Flag removed’);
end;