PDA

View Full Version : چجوری لیست نام serverهای یه شبکه رو دربیاریم



komail_sh
پنج شنبه 28 دی 1385, 11:58 صبح
چجوری لیست نام serverهای یه شبکه رو دربیاریم

--------------------------------------------------------------------------------

من میخوام بمحض اجرای برنامه لیست نام sql serverهای موجود در شبکه به کاربر نشون داده شود و بعد از انتخاب نام server لیست database ها نیز نمایش داده شود.
لطفا مرا راهنمایی کنید.:چشمک:

linux
پنج شنبه 28 دی 1385, 20:52 عصر
تو codeproject یک کد با C# فبلا دیده بودن آنجا جستجو کنید باید از یکی از dll های ویندوز استفاده کنید

majid_afra222
پنج شنبه 28 دی 1385, 23:16 عصر
سلام
SQL-DMO، قبلا هم خیلی بحث شده.

hmm
شنبه 30 دی 1385, 08:31 صبح
و ایضا کنترل باز بودن پورت 1433 سرورها

komail_sh
شنبه 30 دی 1385, 08:50 صبح
توی sqldmo فقط نام databaseو غیره رو میشه در آورد ولی برای server نمیشه ازش استفاده کرد

titbasoft
شنبه 30 دی 1385, 12:25 عصر
و ایضا کنترل باز بودن پورت 1433 سرورهااگر پورت پیشفرض تغییر داده شده بود چی؟

حامد مصافی
شنبه 30 دی 1385, 18:30 عصر
سلام تابع NetServerEnum از فایل NetApi32.dll شما رو به هدف مورد نظر خواهد رسوند
لینک زیر یک مثال از نحوه استفاده از این تابع (البته #C)رو نشون میده
http://www.codeproject.com/cs/internet/ListNetworkComputers.asp

البته در این مثال فقط نام کامپیوتر ها لیست میشه،
برای اینکه فقط نام SQL Server ها رو بدست بیارید:

خط زیر رو به برنامه اضافه کنید



int SV_TYPE_SQLSERVER = 4;
سپس خط زیر رو


int ret = NetServerEnum(null, 100, ref buffer,
MAX_PREFERRED_LENGTH,
out entriesRead,
out totalEntries, SV_TYPE_WORKSTATION |
SV_TYPE_SERVER, null, out resHandle);
به این حالت تغییر بدین


int ret = NetServerEnum(null, 100, ref buffer,
MAX_PREFERRED_LENGTH,
out entriesRead,
out totalEntries, SV_TYPE_SQLSERVER,
null, out esHandle);
یادم رفت یه چیزی رو بگم و اون این که: لطفاً زحمت تبدیلش رو خودتون بکشید!