Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 23:21 19.01.21 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Проблем с намиране на локален SQL server  
Автор BatiGogo ()
Публикувано02.03.16 18:38



M$ SQL server 2005. Трябваше ми да намеря на всички сървъри в мрежата. Намерих из НЕТ-а :


procedure ListAvailableSQLServers(Names : TStrings);
var
RSCon: ADORecordsetConstruction;
Rowset: IRowset;
SourcesRowset: ISourcesRowset;
SourcesRecordset: _Recordset;
SourcesName, SourcesType: TField;

function PtCreateADOObject(const ClassID: TGUID): IUnknown;
var
Status: HResult;
FPUControlWord: Word;
begin
asm
FNSTCW FPUControlWord
end;
Status := CoCreateInstance(
CLASS_Recordset,
nil,
CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,
IUnknown,
Result);
asm
FNCLEX
FLDCW FPUControlWord
end;
OleCheck(Status);
end;
begin
SourcesRecordset := PtCreateADOObject(CLASS_Recordset) as _Recordset;
RSCon := SourcesRecordset as ADORecordsetConstruction;
SourcesRowset := CreateComObject(ProgIDToClassID('SQLOLEDB Enumerator')) as ISourcesRowset;
OleCheck(SourcesRowset.GetSourcesRowset(nil, IRowset, 0, nil, IUnknown(Rowset)));
RSCon.Rowset := RowSet;
with TADODataSet.Create(nil) do
try
Recordset := SourcesRecordset;
SourcesName := FieldByName('SOURCES_NAME'); { do not localize }
SourcesType := FieldByName('SOURCES_TYPE'); { do not localize }
Names.BeginUpdate;
try
while not EOF do
begin
if (SourcesType.AsInteger = DBSOURCETYPE_DATASOURCE) and (SourcesName.AsString <> '') then
Names.Add(SourcesName.AsString);
Next;
end;
finally
Names.EndUpdate;
end;
finally
Free;
end;
end;


Работи си. Всичко ОК.
Само на единия от компютрите не намира локалния сървър.
Инфо - един компютър закачен за рутър. На него М$ SQL SERVER 2005. Потребителя е с администраторски права. ВИН 7 - 64.
Списъка излиза празен. След като въведа ръчно "user\sqlexpress" и го достъпвам без проблем. Windows defender-a ми е изключен. Има Аваст. Забраних го - все тая.FireWall - изключен.
Същия модул работи без проблем при други клиенти , някои също с ВИН7 64 и аваст. Настройките на сървъра са идентични навсякъде.

Ще бъда благодарен на всякаква помощ.

Компилирано е с делфи - 7.

Редактирано от BatiGogo на 02.03.16 18:40.



Тема Re: Проблем с намиране на локален SQL serverнови [re: BatiGogo]  
Автор NikB (спокоен)
Публикувано07.03.16 15:46



Не ми е ясна техниката, която ползваш (не познавам тези ОЛЕ-обекти), но ти предлагам да видиш : MSSQL, освен сървъра запуска и агент.
SQL managment Studio също не намира автоматично сървъри, ако не е стартиран агента.
Агента се стартира от SQL server configuration manager.
(Но, естествено, най-добре е през мениджърите да видиш кой сървър как е стартиран - струва ми се странно да ги енумерираш :))



Тема Re: Проблем с намиране на локален SQL serverнови [re: NikB]  
Автор BatiGogo ()
Публикувано08.03.16 10:53



Току що сравних с SQL Server Configuration Menager - с друга машина с ВИН7 - 64.
Всичко е 1:1.
Лошото е, че при клиента ходи куцо и сакато. И е с администраторски права...Просто такова им беше желанието навремето - да може да се пипа всичко...Хубавото е,че на мен ми се отваря повече работа. Това увеличава финансовите ми постъпления...
Обикновенно ако нещо е осрано - връщам предишен backup за 10 мин. И съм готов...Но след това трябва да минат всички знаещи, дето са инсталирали това-онова...И работата пак се осира...
Явно и този път ще стане така. Счетито като си приключи годишните отчети и restore.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2021 Dir.bg Всички права запазени.