Главная страница
    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.01 c
8-10305
wowik_c
2003-04-11 09:47
2003.08.04
Картинка в окне


1-10263
aaa3aaa
2003-07-21 09:51
2003.08.04
Печать отчета на подложке


3-10141
DBDev
2003-07-15 13:38
2003.08.04
Нужен стратегический совет!


1-10175
sdram
2003-07-18 16:40
2003.08.04
Подскажите как в TQuickRep в панель инструментов добавить кнопку


6-10318
Otec
2003-05-27 23:58
2003.08.04
Связь по сети





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский