![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Unregister |
|
|||
|
Unregistered |
Привет, ALL! Как получить список всех зарегистрированных sql-серверов (MSSQL2000)? В нет-е накопал способ через вызов оле-объекта SQLDMO.Application, но он не подходит, т.к. на машине пользователя должна быть зарегистрирована библиотека sqldmo.dll (а она регистрируется при установке mssqlserver, зарегистрировать через regsvr32 не получается). Как быть? Точнее, понятно, что надо будет использовать odbc, а вот как я не знаю. Спасибо.
ps функцию PromptDataSource не предлагайте. У меня свой диалог будет Спасибо |
|||
|
||||
| Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: нет Всего: 2 |
Незнаю, как это должно выглядеть в Паскале, на С вот так:
Правда, здесь нет обработки ERROR_MORE_DATA, но врядли кол-во серверов может быть очень большим -------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Спасибо. Жаль в Дельфи нет описания этой функции. Попробую юзать Netapi32.dll
А используя ADO? Неужели никто с такой проблемой не сталкивался? |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Господа программеры! Давайте думать! В нет-е куча подобных вопросов, а ответы прямо скажем не очень-то. (извини Ars, но мне в дельфи эту функцию поднять проблематично будет, я посмотрел ее описание). Вот еще слышал про mssql32.pas, с помощью него можно, может есть у кого?
|
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Ничего неподъемного нет. См библиотеку JCL. Там есть модуль LM.pas, в нем-то и описана функция NetServerEnum и связанные с ней константы.
Ну а что-то вроде примера Ars'a но на Delphi выглядит приблизительно так:
Соответственно пользоваться можно так:
-------------------- Все знать невозможно, но хочется |
||||
|
|||||
| Unregistered |
|
|||
|
Unregistered |
JCL? Ага, щас возьму и посмотрю. Хоть ссылку кинул-бы где ее искать. И к чему твой пример, тож не понятно... если описания типов нету. Что за NET_API_STATUS? или PServerInfo101? А параметры в функцию подставить не проблема, даже для меня убогово.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Unregistered |
|
||||
|
Unregistered |
Кому интересно, вот что получилось:
вызов....
Нет проверки на netstat, а в остальном вроде работает. |
||||
|
|||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Для страховки, перед вызовом NetServerEnum надо ResumeHandle присвоить 0 (см.MSDN), поскольку начальное значение локальных переменных неопределено, и однажды может быть не равно 0. А в остальном неплохо. P.S. Еще, забыл отметить что по утверждению MSDN NetServerEnum отсутствует под Win95/98. Это сообщение отредактировал(а) Петрович - 29.12.2003, 15:30 -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Jonny |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 3.8.2005 Репутация: нет Всего: нет |
Вот рыскал по форуму и нашел давнишний топик. Спасибо авторам сильно помогли. Но возникла новая проблема. Даная процедура выводит список в конкретном домене, который мы сами и объявляем, к примеру как 'ASU' .
1. Как сделать что бы имя домена подставлялося автоматически. 2. И как быть если необходим спиок серверов из более чем 35 доменов? Заранее благодарен за ответы. |
|||
|
||||
| Jonny |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 3.8.2005 Репутация: нет Всего: нет |
И еще хотелось бы вот что добавить. Скачал http://citkit.dl.sourceforge.net/sourcefor...758Complete.zip ... но к моему разочарованию LM.pas не обнаружил. Что не так?
|
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 2 Всего: 22 |
Такая же тема есть в MS SQL server
|
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 2 Всего: 22 |
Пардон, что-то не найду
Ладно, еще раз закину код. Учтите - я его не проверял. Не нужно мне это.
|
|||
|
||||
| Sh@dow |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 1.7.2004 Репутация: нет Всего: 1 |
Работать то работает. Только тормозит малясь и спикер попискивает
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |