Saya ingin memeriksa tipe sql apa yang berjalan pada server Datasase yang dapat saya akses. Saya hanya memiliki akses ke antarmuka web dan daftar tabel.
Melalui antarmuka, saya dapat menjalankan kueri pada tabel yang ada pada daftar.
Bagaimana saya bisa mendapatkan informasi lebih lanjut tentang server dan versi yang dijalankan server. Saya tidak tahu tentang IP atau PORT yang dijalankan server.
Saya ingin tahu apakah servernya adalah MySQL, Mircosoft SQL Server, Oracle SQL, Postgre SQL, atau server sql lainnya.
Situs web yang saya bicarakan adalah yang ini: w3schools.com SQL editor .
EDIT 2: meskipun untuk beberapa perintah pilih sqlite_version () bekerja untuk saya itu tidak berfungsi. Ini adalah tangkapan layar dari respons.
EDIT 3: Pada Browser Chromium perintah berfungsi dengan benar. Namun pada Firefox Browser perintahnya tidak berfungsi.
Saya juga menyebutkan bahwa saya sedang menjalankan Linux.
Menurut Anda apa yang menjadi alasan mengapa di Firefox dan di Chrome saya mendapatkan hasil yang berbeda?
sumber
Jawaban:
Saya berasumsi bahwa antarmuka web Anda memungkinkan Anda mengeluarkan perintah SQL. Jika demikian, Anda dapat menggunakan:
PostgreSQL
Jika Anda menggunakan database PostgreSQL , Anda akan mendapat respons yang mirip
MySQL
Jika Anda menggunakan database MySQL , jawabannya seperti
Peramal
Jika Anda menggunakan database Oracle , Anda akan mendapatkan pesan kesalahan:
(ORA-xxxx memberi tahu Anda bahwa Anda menggunakan Oracle). Untuk mengetahui versi spesifik mana, coba:
Anda akan mendapat respons seperti:
Microsoft SQL Server
Jika Anda menggunakan MS SQL Server , responsnya juga akan menjadi kesalahan, dan terlihat seperti:
Dalam hal ini, Anda dapat mencoba:
Dan sebagai tanggapan, Anda akan mendapatkan sesuatu yang terlihat seperti:
SQLite
Jika Anda menggunakan database SQLite , Anda akan mendapatkan pesan kesalahan saat Anda mencoba
SELECT version()
:Dalam hal ini, Anda dapat mencoba:
Dan jawabannya akan terlihat seperti:
sumber
SELECT sqlite_version()
dan Anda akan mendapat jawaban.Editor SQL online ini menggunakan Database SQL Web , yang berarti SQL tertanam di browser. Sangat mudah untuk mengenali jika Anda melihat kode sumber JS mereka di http://www.w3schools.com/w3Database.js dan membandingkan panggilan API ke spesifikasi W3C dari Web SQL, misalnya bagaimana mereka membuka database:
Jadi tidak ada server database, itu benar-benar browser yang mengeksekusi SQL, dengan mesin SQL yang dipilih browser Anda untuk digunakan (dengan asumsi ia memiliki kemampuan SQL untuk memulai), yang
sqlite
sangat masuk akal.(EDIT: tidak sepenuhnya benar karena menurut jawaban Martin Smith , kode pengiriman JS jatuh kembali ke mesin MS-Jet sisi-server ketika browser tidak mendukung Web SQL).
Perhatikan bahwa W3C telah memutuskan untuk meninggalkan konsep browser SQL-in-the pada tahun 2010, sekarang sudah usang.
sumber
Seperti yang dinyatakan dalam jawaban lain itu tergantung pada browser Anda.
Jika browser Anda tidak memiliki dukungan asli untuk Web SQL Database, maka akhirnya mengirimkan kembali ke server.
Ini menggunakan Jet seperti yang bisa dilihat dengan menjalankan
yang berarti ekstensi Access milik seperti
TRANSFORM
bekerja ketika mengakses halaman dari Firefox (tetapi ini akan gagal di Chrome)sumber
Jawaban ini diberikan sebelum OP menambahkan referensi ke w3schools.com
Jika Anda dapat menjalankan kueri, mulailah dengan ini:
sumber
Untuk kasus spesifik dari mesin SQL yang digunakan oleh halaman di W3Schools :
Safari, Chrome dan Opera Browser
Jika Anda menggunakan Safari Browser (saya uji pada Mac OS X 10.12) halaman tersebut menggunakan SQLite, yang tampaknya dibangun ke dalam browser itu sendiri. Ketika Anda menekan tombol "Run SQL", itu tidak menggunakan sumber daya eksternal apa pun. Teknik reverse lebih lanjut mengungkapkan bahwa halaman ini menginisialisasi database dengan menggunakan kode JavaScript berikut:
window.openDatabase
berarti kode menggunakan Database SQL Web . Ini didefinisikan oleh W3C beberapa tahun yang lalu, dan dipraktikkan oleh Opera, Safari dan Chrome (AFAIK), tetapi tidak oleh FireFox (atau Explorer). Ketiga browser tampaknya telah menerapkan "Web SQL Database" dengan menyematkan berbagai versi SQLite di dalam diri mereka.Pada titik ini, halaman W3C mengklaim:
Saya menguji browser Chrome (versi 56.0.2924.87, pada Windows 10), dan sepertinya menggunakan SQLite 3.10.2. Opera (versi 12.15, pada Windows 10), menggunakan SQLite 3.7.9.
Opera cukup jelas dalam "tentang" mereka:
Dan Panduan Pemrograman Aplikasi Penyimpanan Sisi Klien dan Offline juga menyebutkan hal itu
Saya tidak melihat ke Chrome ... tapi dugaan saya jelas.
FireFox, Edge, dan Internet Jelajahi Browser
Jika Anda menggunakan browser FireFox (saya diuji pada Mac OS X 10.12); halaman W3School yang sama berperilaku dengan cara yang sangat berbeda. Itu tidak melakukan permintaan pada browser , tetapi mengirimkan permintaan ke server mereka . Di sisi server, saya pikir sebenarnya menggunakan MS Access seperti database. Salah satu cara untuk memeriksanya adalah dengan memeriksa (standar)
information_schema
.Jika Anda mengeluarkan kueri berikut (yang, dalam database yang sesuai standar akan memberikan daftar tabel yang dapat diakses oleh pengguna):
Anda mendapatkan respons kesalahan berikut (terlalu jelas) :
Jika perangkat lunak mencari file .MDB, itu berarti mereka menggunakan Microsoft Jet Database Engine (atau sesuatu yang setara) di sisi server, dan mereka menggunakan file format Access .MDB , yang terkait dengan versi Access hingga dan termasuk 2003. (Access 2007 dan versi yang lebih baru menggunakan, secara default, file berformat .ACCDB).
Microsoft Internet Explorer 11 berperilaku dengan cara yang sama (pada Windows 10); dan begitu pula Edge (pada Windows 10).
sumber