Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.04;
Скачать: CL | DM;

Вниз

Adaptive Server Anywhere Server Enumeration   Найти похожие ветки 

 
AME   (2003-07-15 11:36) [0]

В локальной сети несколько серверов с ASA.
Кол-во серверов меняется.
Как програмно найти новые сервера(IP or DNS),как это делает
утилита dblocate?
Нужно для настройки ODBC.


 
AME   (2003-07-15 13:00) [1]

Попробовал db_locate_servers
из dblib7.dll - даёт странные результаты:
иногда показыват все сервера , иногда нет.
Как искать без неё?


 
AME   (2003-07-15 14:35) [2]

db_locate_servers нормально работает - если только одна сетевая карта.


 
AME   (2003-07-15 14:45) [3]


unit Unit1;

interface

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

type a_server_address=record
port_type:Longword;
port_num:Longword;
name:PChar;
address:PChar;
end;
type Pa_server_address=^a_server_address;

type sqlwarn=record
sqlwarn0:Char;
sqlwarn1:Char;
sqlwarn2:Char;
sqlwarn3:Char;
sqlwarn4:Char;
sqlwarn5:Char;
sqlwarn6:Char;
sqlwarn7:Char;
sqlwarn8:Char;
sqlwarn9:Char;
end;

type SQLCA=record
sqlcaid:Array[0..7]of Char;
sqlcabc:Integer;
sqlcode:Integer;
sqlerrml:short;
sqlerrmc:Array[0..69]of Char;
sqlerrp:Array[0..7]of Char;
sqlerrd:Array[0..5]of Integer;
sqlwarn:sqlwarn ;
sqlstate:Array[0..5]of Char;
end;
type PSQLCA=^SQLCA;

type
TForm1 = class(TForm)
{Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;}
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

function db_locate_servers(Val1:PSQLCA;Addr:TFarProc;Val2:TFarProc):Longword ;stdcall;external "dblib7.dll";
function db_init(sqlcastruct:PSQLCA):Byte;stdcall;external "dblib7.dll";
function db_fini(sqlcastruct:PSQLCA):Byte;stdcall;external "dblib7.dll";

var
Form1: TForm1;

implementation



{$R *.DFM}
function EnumServers(P_SQL_CA:PSQLCA;Servr:Pa_server_address;UserFunc:TFarProc):Integer;stdcall;
var sT:String;
begin
sT:=Servr^.name;
Form1.ListBox1.Items.Add(sT+" "+Servr^.address+":"+IntToStr(Servr^.port_num));
if sT<>"" then result:=1
else result:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var SQL_CA:SQLCA;
begin
ListBox1.Items.Clear;
Label1.Caption:="Start";
Application.ProcessMessages;
db_init(@SQL_CA);
db_locate_servers(@SQL_CA,@EnumServers,nil);
db_fini(@SQL_CA);
Label1.Caption:="Done!";
end;

end.

Нет лучше собеседника чем САМ. :))



Страницы: 1 вся ветка

Текущий архив: 2003.08.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
3-10098
Spawn
2003-07-13 07:38
2003.08.04
Не могу вносить данные в НД


14-10444
BnT
2003-07-17 21:27
2003.08.04
---|Ветка была без названия|---


14-10458
Сатир
2003-07-16 21:09
2003.08.04
Почему девушки ломаются?


1-10212
Gorn
2003-07-20 11:26
2003.08.04
Работа со строками


1-10248
strannic
2003-07-21 13:48
2003.08.04
Можно ли импортировать *.rc в Delphi