DataBase सर्वर पर कौन सा डेटाबेस इंजन स्थापित किया गया है, इसकी जाँच करने के लिए मेरे पास क्वेरीज़ को चलाने के लिए कैसे जाँचें?


11

मैं जांचना चाहता हूं कि डेटासे सर्वर पर किस प्रकार का एसक्यूएल चल रहा है जिसे मैं एक्सेस कर सकता हूं। मेरे पास केवल वेब इंटरफ़ेस और तालिकाओं की एक सूची है।

इंटरफ़ेस के माध्यम से मैं एक सूची में मौजूद तालिकाओं पर प्रश्नों को चला सकता हूं।

मैं सर्वर और संस्करण के बारे में अधिक जानकारी कैसे प्राप्त कर सकता हूं कि सर्वर चल रहा है। मुझे आईपी या पोर्ट के बारे में कोई जानकारी नहीं है कि सर्वर चल रहा है।

मैं जानना चाहता हूं कि क्या सर्वर MySQL, Mircosoft SQL Server, Oracle SQL, Postgre SQL या अन्य sql सर्वर है।

जिस वेबसाइट के बारे में मैं बात कर रहा हूं वह यह है: w3schools.com SQL संपादक

EDIT 2: हालाँकि कुछ कमांड के लिए sqlite_version () मेरे लिए काम करता है यह काम नहीं करता है। यह प्रतिक्रिया का स्क्रीनशॉट है।

यहाँ छवि विवरण दर्ज करें

EDIT 3: क्रोमियम ब्राउज़र पर कमांड ठीक से काम कर रहा है। हालाँकि फ़ायरफ़ॉक्स ब्राउज़र पर कमांड काम नहीं करता था।

मैं यह भी उल्लेख करता हूं कि मैं लिनक्स चला रहा हूं।

आपको क्या लगता है कि फ़ायरफ़ॉक्स और क्रोम पर मुझे अलग-अलग परिणाम क्यों मिल सकते हैं?


क्या आप एक क्वेरी चला सकते हैं?
डेविड

@DuduMarkovitz हाँ, मैं क्वाइरीज़ चला सकता हूँ।
yoyo_fun

यह तथ्य कि यह कथन कुछ के लिए काम करता है न कि दूसरों के लिए यह प्रतीत होता है कि विशिष्ट पर्यावरण मायने रखता है। संभवतः @joanolo सही था जब उसने कहा कि ये क्वेरी ब्राउज़र में चलती है। अलग-अलग लोग अलग-अलग ब्राउज़रों का उपयोग करते हैं, कुछ संभवतः अतिरिक्त एक्सटेंशन इंस्टॉल किए गए हैं।
एंड्री एम

2
"अभिव्यक्ति में अपरिभाषित समारोह।" एक एक्सेस एरर मैसेज है, इसलिए सर्वर साइड की तरह लगता है जैसे वे जेट
मार्टिन स्मिथ

@MartinSmith इस संदर्भ में जेट क्या है? मैं इसके बारे में और कहाँ पढ़ सकता हूँ?
yoyo_fun

जवाबों:


15

मुझे लगता है कि आपका वेब इंटरफ़ेस आपको 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 डेटाबेस पर हैं, तो उत्तर दिखता है

5.7.12-log

आकाशवाणी

यदि आप ओरेकल डेटाबेस पर हैं, तो आपको एक त्रुटि संदेश मिलेगा:

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

Microsoft SQL सर्वर

यदि आप MS SQL सर्वर पर हैं , तो प्रतिक्रिया भी एक त्रुटि होगी, और इस तरह दिखाई देगी:

'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

उत्तर के लिए धन्यवाद, लेकिन दुर्भाग्य से इस वेबसाइट पर कुछ भी काम नहीं करता है w3schools
yoyo_fun

अंतिम प्रयास करें: SELECT sqlite_version()और आपके पास आपका उत्तर होगा।
जोनलो

1
यह उस संस्करण की तरह दिखता है जो वास्तव में आपके ब्राउज़र पर पूरी तरह से चलता है । पर देखो github.com/kripken/sql.js
joanolo

क्या यह सुनिश्चित करने का कोई तरीका है कि यह मामला है। क्या SQL भाषा के ब्राउज़र संस्करण में इसके संस्करण की जाँच करने का कोई तरीका है या वास्तव में यह SQL इंजन है?
yoyo_fun

7

यह ऑनलाइन SQL संपादक वेब SQL डेटाबेस का उपयोग करता है , जिसका अर्थ है कि SQL ब्राउज़र में एम्बेडेड है। यह समझना आसान है कि आप http://www.w3schools.com/w3Database.js पर अपने JS स्रोत कोड को देखते हैं और उदाहरण के लिए वेब SQL के W3C युक्ति से API कॉल की तुलना करते हैं, उदाहरण के लिए कि वे डेटाबेस कैसे खोलते हैं:

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

तो कोई डेटाबेस सर्वर नहीं है, यह वास्तव में ब्राउज़र है जो SQL को निष्पादित करता है, SQL इंजन के साथ जो आपके ब्राउज़र ने उपयोग करने के लिए चुना है (यह मानकर कि इसमें SQL क्षमता शुरू होनी है), जिसके लिए sqliteबहुत अधिक समझ में आता है।

(EDIT: कड़ाई से सच नहीं है क्योंकि मार्टिन स्मिथ के उत्तर के अनुसार , जेएस सबमिशन कोड एक सर्वर-साइड MS-Jet इंजन पर वापस आ जाता है, जब ब्राउज़र वेब एसक्यूएल का समर्थन नहीं करता है)।

ध्यान दें कि W3C ने 2010 में एसक्यूएल-इन-ब्राउज़र अवधारणा को छोड़ने का फैसला किया है, यह अब अप्रचलित है।


क्या आप जानते हैं कि उन्होंने यह फैसला क्यों लिया? क्या ब्राउज़र और SQLite में SQL के बीच कोई अंतर है?
yoyo_fun

@yoyo_fun: en.wikipedia.org/wiki/Web_SQL_Database के कुछ संकेत हैं। या आप इसे dba.se पर एक स्वतंत्र प्रश्न के रूप में पूछ सकते हैं
डैनियल

यह वास्तव में एक बहुत अच्छा विचार है :)
yoyo_fun

5

जैसा कि अन्य उत्तरों में कहा गया है यह आपके ब्राउज़र पर निर्भर करता है।

यदि आपके ब्राउज़र में वेब एसक्यूएल डेटाबेस के लिए मूल समर्थन नहीं है, तो यह सर्वर पर वापस सबमिट करना समाप्त करता है।

यहाँ छवि विवरण दर्ज करें

यह जेट का उपयोग करता है जैसा कि रनिंग द्वारा देखा जा सकता है

SELECT X FROM Foobar

Microsoft Jet डेटाबेस इंजन इनपुट तालिका या क्वेरी 'Foobar' नहीं ढूँढ सकता। सुनिश्चित करें कि यह मौजूद है और इसका नाम सही तरीके से लिखा गया है।

जिसका अर्थ है मालिकाना एक्सेस एक्सटेंशन जैसे TRANSFORMकाम फ़ायरफ़ॉक्स से पेज एक्सेस करते समय (लेकिन यह क्रोम में विफल हो जाएगा)

यहाँ छवि विवरण दर्ज करें


विस्तृत उत्तर के लिए धन्यवाद। क्या आप बता सकते हैं कि आपको पहला स्क्रीनशॉट कैसे मिला? वह कौन सा संपादक है जिसका आप उपयोग कर रहे हैं? यह एक वेब ब्राउज़र के लिए एक विस्तार है?
yoyo_fun

@yoyo_fun फ़ायरफ़ॉक्स में निर्मित डेवलपर टूल
मार्टिन स्मिथ

3

ओपी ने w3schools.com के संदर्भ को जोड़ने से पहले यह जवाब दिया था


यदि आप एक क्वेरी चला सकते हैं, तो इसके साथ शुरू करें:

select version();        -- PostgreSQL  e.g.: PostgreSQL 9.6beta2, compiled by Visual C++ build 1800, 64-bit                                                                                                                                            

select version();        -- MySQL       e.g.: 5.7.11-log                                                                                                                                                                                                

select @@version;        -- SQL Server  e.g.: Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64)   Apr 29 2016 23:23:58   Copyright (c) Microsoft Corporation  Express Edition (64-bit) on Windows 7 Enterprise 6.1 <X64> (Build 7601: Service Pack 1)         

select * from v$version; -- Oracle      e.g.: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production                      

select sqlite_version(); -- Sqlite:     e.g.: 3.15.1     

thansk लेकिन दुर्भाग्य से कमांड w3schools साइट और अन्य पर काम नहीं करते हैं। पता www.w3schools.com/sql/trysql.asp?filename=trysql_select_all
yoyo_fun


SQLite। अपडेट किए गए उत्तर की जाँच करें
डेविड דודו मार्कोविट्ज़

मार्कोविट ने कमांड "सिलेक्ट साइक्लाइट_वोरशन ()" को "अनफाइन्ड फंक्शन 'स्क्वैलाइट_वर्सन' चलाने का परिणाम बताया है।"
yoyo_fun

1
(उत्तर ब्राउज़र पर निर्भर करता है)
जोआनो

2

W3Schools पर पृष्ठ द्वारा उपयोग किए गए SQL इंजन के विशिष्ट मामले के लिए :

सफारी, क्रोम और ओपेरा ब्राउज़र

यदि आप सफारी ब्राउज़र (मैंने मैक ओएस एक्स 10.12 पर परीक्षण किया है) का उपयोग करते हैं, तो पृष्ठ SQLite का उपयोग कर रहा है, जो ब्राउज़र में ही बनाया गया लगता है। जब आप "रन SQL" बटन दबाते हैं, तो यह किसी भी बाहरी संसाधन का उपयोग नहीं करता है । आगे रिवर्स इंजीनियरिंग से पता चलता है कि पृष्ठ निम्नलिखित जावास्क्रिप्ट कोड के माध्यम से डेटाबेस को आरम्भ कर रहा है:

function w3WebSQLInit() {
    var w3DBObj = this;
    w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
   ...
}

window.openDatabaseमतलब कोड एक वेब SQL डेटाबेस का उपयोग कर रहा है । यह कुछ साल पहले W3C द्वारा परिभाषित किया गया था, और ओपेरा, सफारी और क्रोम (AFAIK) द्वारा व्यवहार में लाया गया था, लेकिन फ़ायरफ़ॉक्स (या एक्सप्लोरर) द्वारा नहीं। सभी तीन ब्राउज़रों ने अपने भीतर SQLite के विभिन्न संस्करणों को एम्बेड करके "वेब SQL डेटाबेस" को लागू किया है।

इस बिंदु पर, W3C पृष्ठ दावा करता है:

"खबरदार। यह विनिर्देश अब सक्रिय रखरखाव में नहीं है और वेब एप्लिकेशन वर्किंग ग्रुप इसे आगे बनाए रखने का इरादा नहीं रखता है।"

मैंने विंडोज 10 पर एक क्रोम ब्राउज़र (56.0.2924.87 संस्करण) का परीक्षण किया , और यह SQLite 3.10.2 का उपयोग करने लगता है। ओपेरा (संस्करण 12.15, विंडोज 10 पर), SQLite 3.7.9 का उपयोग करता है।

ओपेरा उनके "के बारे में" में स्पष्ट है:

यहाँ छवि विवरण दर्ज करें

और Safari Client-Side Storage और Offline Applications Programming Guide में भी इसका उल्लेख है

Safari 3.1 और iOS 2.0 में शुरू, Safari HTML5 जावास्क्रिप्ट डेटाबेस वर्ग का समर्थन करता है। SQLite पर आधारित जावास्क्रिप्ट डेटाबेस क्लास, सामग्री के स्थानीय भंडारण के लिए एक संबंधपरक डेटाबेस प्रदान करता है जो कुकीज़ में सुविधाजनक रूप से स्टोर करने के लिए बहुत बड़ा है (या जोखिम के लिए बहुत महत्वपूर्ण है) जब उपयोगकर्ता अपनी कुकी हटाता है तो गलती से डिलीट हो जाता है)।

मैंने Chrome में नहीं देखा ... लेकिन मेरा अनुमान स्पष्ट है।

फ़ायर्फ़ॉक्स, एज एंड इंटरनेट एक्सप्लोर ब्राउज़र

यदि आप फ़ायरफ़ॉक्स ब्राउज़र का उपयोग करते हैं (मैंने मैक ओएस एक्स 10.12 पर परीक्षण किया है); एक ही W3School पृष्ठ बिलकुल अलग तरीके से व्यवहार करता है। यह ब्राउज़र पर प्रश्नों का प्रदर्शन नहीं करता है , लेकिन उनके सर्वर को अनुरोध भेजता है । सर्वर की ओर से, मुझे लगता है कि यह वास्तव में एक एमएस एक्सेस डेटाबेस-जैसे का उपयोग कर रहा है । इसे जांचने का एक तरीका (मानक) की जाँच है information_schema

यदि आप निम्नलिखित क्वेरी जारी करते हैं (जो, एक मानक-अनुरूप डेटाबेस में उपयोगकर्ता के लिए सुलभ तालिकाओं की सूची देगा):

SELECT * FROM information_schema.tables;

आपको निम्न (बहुत बताने वाला) त्रुटि प्रतिक्रिया मिलती है :

Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.

यदि सॉफ़्टवेयर एक .MDB फ़ाइल की तलाश कर रहा है, तो इसका मतलब है कि वे सर्वर साइड पर Microsoft Jet Database Engine (या कुछ समतुल्य) का उपयोग कर रहे हैं, और वे Access .MDB प्रारूप फ़ाइलों का उपयोग कर रहे हैं , जो एक्सेस संस्करणों के अनुरूप हैं। 2003. सहित (प्रवेश 2007 और बाद के संस्करण डिफ़ॉल्ट रूप से, .ACCDB प्रारूप फ़ाइलों का उपयोग करते हैं)।

Microsoft इंटरनेट एक्सप्लोरर 11 उसी तरह से व्यवहार करता है (विंडोज 10 पर); और ऐसा एज (विंडोज 10 पर) करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.