Я хочу проверить, какой тип sql запущен на сервере Datasase, к которому я могу получить доступ. У меня есть только доступ к веб-интерфейсу и списку таблиц.
Через интерфейс я могу выполнять запросы к таблицам, которые присутствуют в списке.
Как я могу получить больше информации о сервере и версии, на которой работает сервер. Я понятия не имею об IP-адресе или ПОРТ, который работает на сервере.
Я хочу знать, является ли сервер MySQL, Mircosoft SQL Server, Oracle SQL, Postgre SQL или другой сервер SQL.
Веб-сайт, о котором я говорю, - это редактор SQL для w3schools.com .
РЕДАКТИРОВАТЬ 2: хотя для некоторых команда select sqlite_version () у меня работает, это не работает. Это скриншот ответа.
РЕДАКТИРОВАТЬ 3: В браузере Chromium команда работает правильно. Однако в браузере Firefox команда не работала.
Я также упоминаю, что я использую Linux.
Как вы думаете, что может быть причиной того, что на Firefox и Chrome я получаю разные результаты?
источник
Ответы:
Я предполагаю, что ваш веб-интерфейс позволяет вам выполнять команды SQL. Если это так, вы можете использовать:
PostgreSQL
Если вы находитесь в базе данных PostgreSQL , вы получите ответ, аналогичный
MySQL
Если вы находитесь в базе данных MySQL , ответ выглядит так
оракул
Если вы находитесь в базе данных Oracle , вы получите сообщение об ошибке:
(ORA-xxxx сообщает вам, что вы используете Oracle). Чтобы узнать, какая конкретная версия, попробуйте:
Вы получите ответ как:
Microsoft SQL Server
Если вы используете MS SQL Server , ответ также будет ошибкой и будет выглядеть так:
В этом случае вы можете попробовать:
И в ответ вы получите нечто похожее на:
SQLite
Если вы находитесь в базе данных SQLite , вы получите сообщение об ошибке при попытке
SELECT version()
:В этом случае вы можете попробовать:
И ответ будет выглядеть так:
источник
SELECT sqlite_version()
и вы получите ответ.Этот онлайн-редактор SQL использует базу данных Web SQL , что означает SQL, встроенный в браузер. Это легко узнать, если вы посмотрите на их исходный код JS по адресу http://www.w3schools.com/w3Database.js и сравните вызовы API со спецификацией W3C Web SQL, например, как они открывают базу данных:
Таким образом, нет сервера базы данных, это действительно браузер, который выполняет SQL, с механизмом SQL, который ваш браузер выбрал для использования (при условии, что он имеет возможность запуска SQL), для чего
sqlite
есть большой смысл.(РЕДАКТИРОВАТЬ: не совсем верно, потому что, согласно ответу Мартина Смита , код отправки JS возвращается к серверу MS-Jet на стороне сервера, когда браузер не поддерживает Web SQL).
Обратите внимание, что W3C решил отказаться от концепции SQL-in-the-browser в 2010 году, сейчас она устарела.
источник
Как указано в других ответах, это зависит от вашего браузера.
Если ваш браузер не имеет встроенной поддержки базы данных Web SQL, он отправляет обратно на сервер.
Это использует Jet, как можно увидеть, запустив
что означает проприетарные расширения доступа, такие как
TRANSFORM
работа при доступе к странице из Firefox (но в Chrome это не получится)источник
Этот ответ был дан до того, как ОП добавил ссылку на w3schools.com
Если вы можете выполнить запрос, начните с этого:
источник
Для конкретного случая механизма SQL, используемого страницей в W3Schools :
Браузеры Safari, Chrome и Opera
Если вы используете браузер Safari (я тестировал на Mac OS X 10.12), на странице используется SQLite, который, похоже, встроен в сам браузер. Когда вы нажимаете кнопку «Запустить SQL», он не использует никаких внешних ресурсов. Дальнейшее обратное проектирование показывает, что страница инициализирует базу данных с помощью следующего кода JavaScript:
window.openDatabase
означает, что код использует базу данных Web SQL . Это было определено W3C несколько лет назад и реализовано на практике Opera, Safari и Chrome (AFAIK), но не FireFox (или Explorer). Кажется, что все три браузера реализовали «базу данных Web SQL», внедрив в себя разные версии SQLite.На этом этапе страница W3C утверждает:
Я протестировал браузер Chrome (версия 56.0.2924.87, в Windows 10) и, похоже, использует SQLite 3.10.2. Opera (версия 12.15, в Windows 10), использует SQLite 3.7.9.
Опера достаточно понятна в своих «о»
А в Руководстве по программированию клиентских и автономных приложений Safari также упоминается, что
Я не смотрел в Chrome ... но мое предположение ясно.
FireFox, Edge и Internet Explore браузеры
Если вы используете браузер FireFox (я тестировал на Mac OS X 10.12); та же страница W3School ведет себя совершенно иначе. Он не выполняет запросы в браузере , но отправляет запросы на их сервер . На стороне сервера, я думаю, что на самом деле используется база данных MS Access . Один из способов проверить это - проверить (стандарт)
information_schema
.Если вы выполните следующий запрос (который в базе данных, соответствующей стандартам, даст список таблиц, доступных пользователю):
Вы получаете следующий (слишком показательный) ответ об ошибке :
Если программное обеспечение ищет файл .MDB, это означает, что он использует Microsoft Jet Database Engine (или что-то подобное) на стороне сервера и использует файлы формата Access .MDB , которые соответствуют версиям Access вплоть до и включая 2003. (Access 2007 и более поздние версии по умолчанию используют файлы формата .ACCDB).
Microsoft Internet Explorer 11 ведет себя так же (в Windows 10); как и Edge (в Windows 10).
источник