Определение ОС базы данных с помощью SQL-запроса? - PullRequest
5 голосов
/ 21 апреля 2010

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

Я не нашел общего способа найти ОС с SQL и не могу создать хранимые процедуры в базе данных клиента.

Если есть способ, он, вероятно, зависит от поставщика.

Предложения? Заранее спасибо.

Ответы [ 4 ]

5 голосов
/ 21 апреля 2010

Да, это будет зависеть от поставщика. Для Oracle вы можете получить его с помощью этого запроса:

SQL> select banner from v$version; 

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
PL/SQL Release 9.2.0.8.0 - Production
CORE    9.2.0.8.0       Production
TNS for Solaris: Version 9.2.0.8.0 - Production
NLSRTL Version 9.2.0.8.0 - Production

4-я строка выходных данных показывает, что моя база данных 9i работает на Solaris (ну, это показывает, что она работает под управлением "TNS for Solaris", что подразумевает, что в любом случае ОС Solaris).

3 голосов
/ 21 апреля 2010

Для Oracle вы можете использовать

SELECT DBMS_UTILITY.PORT_STRING FROM dual;

(от Спросите Тома )

2 голосов
/ 22 апреля 2010

как насчет: выберите имя платформы из базы данных v $;

1 голос
/ 24 апреля 2010

sybase ASE и Sybase IQ совпадают с sqlserver: выберите @@ version например,

Sybase IQ/12.7.0/090824/P/ESD 7/Sun_Sparc/OS 5.9/64bit/2009-08-24 16:17:12

Adaptive Server Enterprise/12.5.3/EBF 12455 ESD#2/P/Sun_svr4/OS 5.8/ase1253/1904/64-bit/FBO/Wed Mar 23 03:04:04 2005
...