Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c