Sql-Server

如何檢查我有權執行查詢的數據庫伺服器上安裝了哪些數據庫引擎?

  • February 12, 2017

我想檢查我可以訪問的 Datasase 伺服器上正在執行什麼類型的 sql。我只能訪問 Web 界面和表格列表。

通過該界面,我可以對列表中存在的表執行查詢。

如何獲取有關伺服器和伺服器正在執行的版本的更多資訊。我不知道伺服器正在執行的 IP 或埠。

我想知道伺服器是 MySQL、Mircosoft SQL Server、Oracle SQL、Postgre SQL 還是其他 sql server。

我說的網站是這個: w3schools.com SQL editor

編輯 2:雖然對於某些命令 select sqlite_version() 對我有用,但它不起作用。這是響應的螢幕截圖。

在此處輸入圖像描述

編輯 3:在 Chromium 瀏覽器上,該命令執行正常。但是在 Firefox 瀏覽器上,該命令不起作用。

我還提到我正在執行 Linux。

您認為在 Firefox 和 Chrome 上我得到不同結果的原因可能是什麼?

我假設您的 Web 界面允許您發出 SQL 命令。如果是這樣,您可以使用:

SELECT version();

PostgreSQL

如果您使用的是PostgreSQL數據庫,您會收到類似於以下內容的響應

PostgreSQL 9.6.1 on x86_64-apple-darwin14.5.0, compiled by Apple LLVM version 7.0.0 (clang-700.1.76), 64-bit

MySQL

如果您在MySQL數據庫上,答案看起來像

5.7.12-log

甲骨文

如果您使用的是Oracle數據庫,則會收到一條錯誤消息:

ORA-00923: FROM keyword not found where expected

(ORA-xxxx 告訴你你在 Oracle 上)。要找出哪個特定版本,請嘗試:

SELECT banner as "oracle version" from v$version

你會得到如下響應:

Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE    11.2.0.2.0  Production
TNS for 64-bit Windows: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

微軟 SQL 伺服器

如果您在MS SQL Server上,響應也將是一個錯誤,如下所示:

'version' is not a recognized built-in function name.

在這種情況下,您可以嘗試:

SELECT @@version ;

作為響應,您會得到如下所示的內容:

Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64)   
   Oct 28 2016 18:17:30   
   Copyright (c) Microsoft Corporation  
   Enterprise Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor) 

SQLite

如果您使用的是SQLite數據庫,則在嘗試時會收到一條錯誤消息SELECT version()

could not prepare statement (1 no such function: version)

在這種情況下,您可以嘗試:

SELECT sqlite_version()

響應將如下所示:

3.14.0

這個線上 SQL 編輯器使用Web SQL 數據庫,即嵌入在瀏覽器中的 SQL。如果您在http://www.w3schools.com/w3Database.js查看他們的 JS 原始碼並將 API 呼叫與 Web SQL 的 W3C 規范進行比較,則很容易辨識 ,例如他們如何打開數據庫:

w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0',
          'W3SchoolsDemoDatabase', 2 * 1024 * 1024);

所以沒有數據庫伺服器,它實際上是執行 SQL 的瀏覽器,以及您的瀏覽器選擇使用的 SQL 引擎(假設它具有 SQL 功能),這 sqlite很有意義。

(編輯:不完全正確,因為根據Martin Smith 的回答,當瀏覽器不支持 Web SQL 時,JS 送出程式碼會退回到伺服器端 MS-Jet 引擎)。

請注意,W3C 已決定在 2010 年放棄瀏覽器中的 SQL 概念,現在它已經過時了。

引用自:https://dba.stackexchange.com/questions/163993