Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
7-10481
Ozone
2003-05-22 13:39
2003.08.04
Прерывания


6-10316
Jack-of-shadow
2003-05-24 08:57
2003.08.04
WebBrowser


14-10405
Niko4543
2003-07-16 21:17
2003.08.04
Копмонент


7-10482
qwerty2
2003-05-21 22:28
2003.08.04
Настройка DCOM программно через реестр или API


14-10394
frost
2003-07-11 22:53
2003.08.04
Базы Paradox и различные файловые системы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский