Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];

Вниз

Версия SQL клиента и сервера - узнать   Найти похожие ветки 

 
Gu   (2011-02-20 07:46) [0]

Как узнать версию Sql сервера и\или клиента, который установлен в системе, желательно без TQuery и TSqlQuery? Интересует строка, типа "10.5 R2"

Rad 2010, W7


 
Palladin ©   (2011-02-20 08:02) [1]

зачем?


 
Anatoly Podgoretsky ©   (2011-02-20 10:35) [2]

> Gu  (20.02.2011 07:46:00)  [0]

Этих SQL серверов, как Бразилии диких обезьян


 
АН   (2011-02-20 13:49) [3]

Функции есть и хранимые процедуры системные, про MS SQL расскажу, на других серверах наверное аналогично


 
clickmaker ©   (2011-02-20 13:52) [4]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server


 
Плохиш ©   (2011-02-20 13:53) [5]


> желательно без TQuery и TSqlQuery

Возьми TAdoDataset.


 
АН   (2011-02-20 14:17) [6]

>Возьми TAdoDataset.
или Command


 
Gu   (2011-02-21 01:37) [7]

TAdoDataset неподходит, задача не при подключении к БД это выяснить а на локальном ПК, там где запущена прога, определить установлен ли sql сервер и его версию.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
не подходит, вы оттуда пробовали ключи читать? Кроме sqlexpress остальные прочитать нельзя (те, которые как раз за серваки отвечают - из проги не прочитываются).
например OpenKeyReadOnly("SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS") даст false, хотя через регедит ключ видно.
и в GetKeyNames(MyList) он не попадает при

RootKey:=HKEY_LOCAL_MACHINE;  
if OpenKeyReadOnly("Software\Microsoft\Microsoft SQL Server")=True then
 GetKeyNames(MyList);

еще идеи?


 
Anatoly Podgoretsky ©   (2011-02-21 09:57) [8]

> Gu  (21.02.2011 01:37:07)  [7]

Те которые, за серваки отвечают находятся на серверах.


 
Гость   (2011-02-21 10:59) [9]

>>Как узнать версию Sql сервера
sqlcmd -L
Servers:
   DBS
   DBSERVER
   FORWARD
   KRS-029
   RZV-110
   SCOM
   SQLSERVER2
   STORM3
   UKTDB2
   VTRM2

которого?


 
Gu   (2011-02-21 12:46) [10]

2 Anatoly Podgoretsky
куда поставишь там и находятся. если допустим на обычный пк ставится sql server compact, который 5 метров весит, что, ПК серваком становится?
http://www.microsoft.com/sqlserver/2005/en/us/compact.aspx
и даже если на серваках, что, там другой метод определения?

2 Гость.
и чего мне из проги командную строку дергать, я про дельфи спрашиваю.


 
sniknik ©   (2011-02-21 12:59) [11]

> и в GetKeyNames(MyList) он не попадает при
у тебя ошибка в прог... в правах.


 
Gu   (2011-02-21 13:04) [12]

прога должна запускаться от имени пользователя. кроме того на ключах разрешение для пользователя стоит на чтение, так что читать должен, причем он из этой ветки все ключи читает нормально кроме нужных.
кроме реестра никак чтоли? по файлам лазить не хочется, т.к. может быть установлен не по умолчальному пути. может библиотеки его где в системе прописаны с версией?


 
Гость   (2011-02-21 13:28) [13]

>> и чего мне из проги командную строку дергать, я про дельфи спрашиваю.
а я говорю, что вот столько серверов. От 2000 до 2008.
Какой из них проге определять?


 
Gu   (2011-02-21 13:37) [14]

неважно какой. какой(кие) есть. вот если запустить msSql managment studio (из стандартной поставки sql server, даже в express она есть), там в начале выводится окошко, к чему подключаться, в нем если в имени сервера выбрать "обзор" то она показывает имена всех локальных и сетевых серваков + их версии. вот что то подобное надо. по 1433 локалхост если опрашивать, а чего туда посылать то чтобы он все это выдал?

нашел тут вот это http://www.delphisources.ru/pages/faq/base/srvs_list.html но sql серваки она невидит хотя в константах они есть в начале. и версию сервака определяет а не самого сервера-приложения. обратно нето.


 
sniknik ©   (2011-02-21 13:49) [15]

> но sql серваки она невидит хотя в константах они есть в начале.
это настройка безопасности в самом мс сервере, у нас в сети тоже видится от силы пяток, хотя стоят чуть ли не на каждой машине т.е. где то 200-250 должно быть.


 
Gu   (2011-02-21 14:01) [16]

пока сделал поиск через реестр, через список унинстала, там анализирую строки на "sql",

{}Procedure GetSqlVer;
 var MyList: TStringList;MyRegistry: TRegistry;i: Integer;Str: string;i7:integer;
 begin
Act("Microsoft SQL Server\Client\AddOn:",clblack,true);i7:=0;
 MyRegistry:=TRegistry.Create;MyList:=TStringList.Create;
 with MyRegistry do begin RootKey:=HKEY_LOCAL_MACHINE;
 if OpenKeyReadOnly("Software\Microsoft\Windows\CurrentVersion\Uninstall")=True then GetKeyNames(MyList);
 CloseKey;if MyList.Count=0 then begin Act("Ошибка получения списка"#10,clmaroon);MyList.Free;exit;end;
  for i:=0 to MyList.Count-1 do begin
  OpenKeyReadOnly("Software\Microsoft\Windows\CurrentVersion\Uninstall\"+MyList[i]);
  Str:=ReadString("DisplayName");
  if (Str<>"")and(pos("SQL",Uppercase(Str))>0) then begin inc(i7);Act(" "+inttostr(i7)+". "+Str+#10);
  end;CloseKey;end;end;MyList.Free;if i7=0 then Act(" не установлен"#10,clmaroon);Act(" "#10);
 end;
// act - аналог messagebox

получаю вот такое
1. Системные типы Microsoft SQL Server System CLR Types
2. Visual Studio 2010 Tools for SQL Server Compact 3.5 SP2 RUS
3. Microsoft SQL Server Compact 3.5 SP2 RUS
4. Объекты SMO Microsoft SQL Server 2008 R2
5. Microsoft SQL Server 2008 R2 Transact-SQL Language Service
6. Microsoft SQL Server Compact 3.5 SP2 Query Tools RUS
7. Microsoft SQL Server 2008 R2 Data-Tier Application Project
8. Microsoft SQL Server Browser
9. Microsoft SQL Server Database Publishing Wizard 1.4
10. Платф. прилож. уровня данных для Microsoft SQL Server 2008 R2
11. Политики Microsoft SQL Server 2008 R2
12. Microsoft SQL Server 2005 Compact Edition [ENU]

уже хотябы понятно что установлен. но хотелось бы чтото понаряднее чтобы было..


 
Gu   (2011-02-21 14:03) [17]

а вот это не фурычит..

procedure GetServerList(Strings: TStrings);
var dmo:OleVariant;
    i:Integer;
begin
Strings.Clear;
try
   dmo:=CreateOleObject("SQLDMO.SQLServer");
   dmo:=dmo.Application;
   dmo:=dmo.ListAvailableSQLServers;
   for i:=1 to dmo.Count do begin
     if (Length(trim(dmo.Item(i))) > 0) and (CompareText(dmo.Item(i),"(LOCAL)")<>0) then  Strings.Add(AnsiUpperCase(dmo.Item(i)));end;
except
end;
end;


 
sniknik ©   (2011-02-21 14:28) [18]

> а вот это не фурычит..
а оно у тебя стоит? и потом что значит "не фурычит"? может там просто нет того чего ты от него ждешь. может он тебе вместо имени сервера определенный в настройках алиас возвращает...


 
Anatoly Podgoretsky ©   (2011-02-21 14:30) [19]

> Gu  (21.02.2011 12:46:10)  [10]

Поставили на сервер, а ты ищешь там где светло и при этом обижаешься


 
Gu   (2011-02-21 14:33) [20]

да, нету такого в системе вроде и оппираца на него нельзя для всех пк.. и дмошную библиотеку не хочется с прогой таскать.


 
sniknik ©   (2011-02-21 14:33) [21]

> алиас
кстати...
> if (Length(trim(dmo.Item(i))) > 0) and (CompareText(dmo.Item(i),"(LOCAL)")<>0) then
два из них ты сам обрезаешь.


 
Гость   (2011-02-21 14:34) [22]

http://www.sql.ru/forum/actualthread.aspx?tid=7068&hl=sqldmo


 
Palladin ©   (2011-02-22 14:38) [23]

дауны отакэ, то в системе, то в сети...


 
Gu   (2011-02-22 19:08) [24]

короче полезной инфы 0



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.003 c
15-1297845189
Tirael
2011-02-16 11:33
2011.06.05
виртуальная NTFS


1-1255806622
minomorf
2009-10-17 23:10
2011.06.05
Как в TSynEdit сделать подсветку строки (как при ошибке)


15-1298291672
Baks
2011-02-21 15:34
2011.06.05
Дебаггер для разных версий Delphi


3-1260262902
mz
2009-12-08 12:01
2011.06.05
sql-запрос


15-1298011878
Virgo_Style
2011-02-18 09:51
2011.06.05
Помнится, когда-то здесь поднималась тема китайских магазинов





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