powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Список доступных MSSQL Server
19 сообщений из 19, страница 1 из 1
Список доступных MSSQL Server
    #32151571
Ziv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ziv
Гость
Как можно получить список доступных MSSQL Server?
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32152333
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делал через DB-Lib, функция
dbserverenum
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32152353
Ziv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ziv
Гость
Еще можно вот так:

LPSERVER_INFO_101 pBuf = NULL;
LPSERVER_INFO_101 pTmpBuf;

DWORD dwLevel = 101;
DWORD dwPrefMaxLen = -1;
DWORD dwEntriesRead = 0;
DWORD dwTotalEntries = 0;
DWORD dwTotalCount = 0;
DWORD dwServerType = SV_TYPE_SQLSERVER;
DWORD dwResumeHandle = 0;
NET_API_STATUS nStatus;
DWORD i;

nStatus = NetServerEnum(NULL,
dwLevel,
(LPBYTE *) &pBuf,
dwPrefMaxLen,
&dwEntriesRead,
&dwTotalEntries,
dwServerType,
NULL,
&dwResumeHandle);

if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
{
if ((pTmpBuf = pBuf) != NULL)
{
for (i = 0; i < dwEntriesRead; i++)
{
assert(pTmpBuf != NULL);

ComboBox1->Items->Add(pTmpBuf->sv101_name);

pTmpBuf++;
dwTotalCount++;
}
}
}

if (pBuf != NULL)
NetApiBufferFree(pBuf);
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32152970
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL-DMO тебя спасет
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32154578
MSDN

NetServerEnum
The NetServerEnum function lists all servers of the specified type that are visible in a domain. For example, an application can call NetServerEnum to list all domain controllers only or all SQL servers only.

You can combine bit masks to list several types. For example, a value of 0x00000003 combines the bit masks for SV_TYPE_WORKSTATION (0x00000001) and SV_TYPE_SERVER (0x00000002).

If you require more information for a specific server, call the WNetEnumResource function.

Security Requirements

Requirements
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Unsupported.
Header: Declared in Lmserver.h; include Lm.h.
Library: Use Netapi32.lib.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32158614
director
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем пользоваться, чтобы и в Win9x работало?
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32159046
Ziv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ziv
Гость
Самый лучший способ, как я убедился, это через SQL DMO.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32159128
>Самый лучший способ, как я убедился, это через SQL DMO.

И дополнительно клиенту вместе с MDAC ставить SQL-DMO, dll для MSSQL 2000 весит 4 метра. Я понимаю если у вас клиенты юзают SQL-DMO и он у всех имеется.

Честно говоря не сильно вдавался в детали входит ли DB-Lib в MDAC но помоему входит. Исходя из этого лучше воспользоваться советом cyc10ne.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32159833
director
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, поясните чайнику, т.к. вопрос очень назревший!
Где эти DB-lib функции сидят, как их вызывать (применительно к Builder) и есть ли у всего этого HELP.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32160284
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DB-Lib сидит в ntwdblib.dll
ее описалово в BOL, в т.ч. и той функции что я сказал.
dbserverenum

насчет Builder ничего сказать не могу так как не использовал никогда
делал на VC и на Delphi.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32160372
Ziv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ziv
Гость
А можно получить небольшой примерчик работы Delphi c DB Lib?
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32160962
director
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, действительно, примерчик на Delphi. Все же я чайник! Что такое BOL?
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32161032
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ziv: если подождете то я где-то во вторник покажу простецкую прогу

director: задайте свой вопрос на форуме про MSSQL Server
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32161658
director
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ведь это и есть ответ!!!
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32161854
director
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все же все нашлось. Однако вопрос вот в чем: В описаловке есть даже пример, где говорится , что надо подключить sqldb.h и sqlfont.h
потом еще подключаем dblib.h (перед ними). При компиляции имеем сообщение типа Unresolver external func... Т.е. в dblib.h она dbserverenum определена как extern . Чего-то не хватает, а чего?
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32161995
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
линкуй ntwdblib.lib со своей прогой
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32162030
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем это, дему я не стал делать (времени мало)
выложил ftp://sx.openbsd.ru/pub/dmssql/SQLFront.pas

подцепляете эту байду в uses и пользуете в Дельфях свой DB-Lib любимый.
имена типов и функций я постарался максимально сохранить как в оригинале
использование DB-Lib в BOL

успехов.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32185764
Ziv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ziv
Гость
Слушайте, а как теперь используя этот пасовский унит вставить функцию обработкы сообщений и ошибок. Если можно с примерами, а то ничего понять не могу. Заранее благодарен.
...
Рейтинг: 0 / 0
Список доступных MSSQL Server
    #32260581
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
//---------------------------------------------------------------------------
typedef int __stdcall (* pfnDBServerEnum)(int SearchMode, void *ServNameBuf, int SizeServNameBuf, int *NumEntries);
set<String> listMSSQLServer() // list of MS SQL Servers
{
set<String> result;
Screen->Cursor = crHourGlass;
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dblibc/dbc_pdc04e_8ilp.asp
try
{
HINSTANCE hLib = LoadLibrary("ntwdblib.dll");
if ((int)hLib < 32)
{
MessageDlg("Error in calling dll.", mtError, TMsgDlgButtons()<<mbOK, 0);
}
else
{
pfnDBServerEnum DBServerEnum = (pfnDBServerEnum)GetProcAddress(hLib,"dbserverenum");
int SizeServNameBuf;
if( DBServerEnum )
{
int NumEntries = EOF;
char *ServNames = new char[1024];
DBServerEnum(NET_SEARCH | LOC_SEARCH, ServNames, 1024, &NumEntries);
char str[100];
for(int i = 0; *ServNames != '\0'; )
{
char *name = ServNames;
for(; *ServNames++ != '\0' ; i++){}
result.insert( strncpy(str, name, ServNames-name) );
}
}
FreeLibrary(hLib);
}
}
catch (...) {
MessageDlg("Error in calling dll.", mtError, TMsgDlgButtons()<<mbOK, 0);
}

Screen->Cursor = crDefault;
return result;
}
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Список доступных MSSQL Server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]