2010-04-21 21 views
5

Müşteri yapılandırma bilgilerini toplamak için bir araç yazıyorum. Cevaplamak istediğim sorulardan biri, hangi işletim sisteminin çalışan veritabanı olduğu.Bir veritabanının işletim sistemini bir SQL sorgusuyla mı algılıyor?

SQL ile işletim sistemini bulmak için genel bir yol bulamadım ve müşterinin veritabanında saklı yordamları oluşturamıyorum.

Bir yol varsa, muhtemelen satıcıya özgüdür.

Öneriler? Şimdiden teşekkürler.

cevap

5

Evet, satıcıya özel olacak. Oracle için, bu sorgu yoluyla edinebilirsiniz:

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 

çıkışının 4 satır benim 9i veritabanı (Solaris üzerinde çalışan kuyu, bunun ima "Solaris için TNS", çalıştığını gösterir gösterir OS zaten Solaris'dir).

+1

Teşekkür @@ seçin. Sql sunucusunun cevabını buldum. @@ sürümünü seçin Böyle bir şeye sahip olacaksınız: Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Şubat 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition, Windows NT 5.1 (Yapı 2600: Service Pack 3) Windows sürüm numarasını bu listeye karşılaştırın. http://www.nirmaltv.com/2009/08/17/windows-os-version-numbers/ – KaizenSoze

+0

Oracle yanıtları için teşekkürler. Sybase için herkesin bir fikri var mı? – KaizenSoze

3

Oracle için şunu kullanabilirsiniz

SELECT DBMS_UTILITY.PORT_STRING FROM dual; 

(Ask Tom itibaren)

2

nasıl: v $ veritabanından seçme PLATFORM_NAME;

1

Sybase ASE & Sybase IQ SQLServer aynıdır: versiyon örn

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 
İlgili konular