2016-05-16 8 views
0

Ich schreibe Anweisungen für Leute, die SQL völlig neu sind und die wahrscheinlich eine Schnittstelle verwenden, um mit der Datenbank zu sprechen. Die Schnittstelle kann ein SQL-Editor sein, der von ihrem Arbeitsplatz bereitgestellt wird, oder es kann Software (z. B. ein BI-Berichtssystem) sein, die es ihnen erlaubt, eine Abfrage zu schreiben, anstatt die GUI zu verwenden. Das sind Geschäftsleute, nicht IT.Wie kann ich bestätigen, welches RDBMS ich verwende (in irgendeiner Form von SQL)?

Die erste Sache, die ich sie tun soll, ist zu identifizieren, welche RDBMS sie haben, also können wir feststellen, welche Art von SQL sie lernen müssen. I.e. ist es Oracle, Microsoft, MySQL, PostGre und andere. Ich fühle mich dumm, das zu fragen: aber gibt es einen SQL-Befehl, der über alle RDBMS funktioniert, um ihnen das zu sagen? Der nächste, den ich habe, ist Version() zu wählen, aber das gibt nur die Versionsnummer, nicht den RDBMS-Namen. Und überhaupt wird es nicht konsequent umgesetzt.

Antwort

0

Normalerweise, wenn sie irgendeine Art von BI-System verwenden, können Sie einfach die Konfiguration der Software überprüfen, wo die Verbindungsparameter eingestellt werden

1

Wenn das ANSI Informationsschema zur Verfügung:

SELECT * FROM information_schema.sql_implementation_info; 

Insbesondere die Felder "DBMS NAME" und "DBMS VERSION".

+0

Funktioniert nicht mindestens für SQL Server 2012 oder niedriger. ["Microsoft SQL Server 2008 R2 und Microsoft SQL Server 2012 variieren wie folgt: Transact-SQL unterstützt diese Funktion nicht."] (Https://msdn.microsoft.com/en-us/library/hh544618 (v = sql. 105) .aspx) –

+0

Vielleicht ist das ANSI-Informationsschema dort optional und muss separat installiert/aktiviert werden. Es soll eine Cross-Implementierung sein. – wildplasser

+0

Microsoft SQL Server unterstützt viele 'INFORMATION_SCHEMA'-Ansichten, aber nicht' SQL_IMPLEMENTATION_INFO'. Ja, es ist Teil des ANSI-Standards. Nein, Microsoft SQL Server implementiert es nicht. –

Verwandte Themen