Quero verificar que tipo de sql está sendo executado em um servidor Datasase que eu possa acessar. Eu só tenho acesso a uma interface da web e uma lista de tabelas.
Através da interface, posso executar consultas nas tabelas que estão presentes em uma lista.
Como posso obter mais informações sobre o servidor e a versão que o servidor está executando? Não faço ideia do IP ou da porta que o servidor está executando.
Quero saber se o servidor é MySQL, Mircosoft SQL Server, Oracle SQL, Postgre SQL ou outro servidor sql.
O site do qual estou falando é este: editor SQL do w3schools.com .
EDIT 2: embora para alguns o comando select sqlite_version () funcione para mim, não funcione. Esta é a captura de tela da resposta.
EDIT 3: No navegador Chromium, o comando está funcionando corretamente. No entanto, no Firefox Browser, o comando não funcionou.
Menciono também que estou executando o Linux.
O que você acha que poderia ser a razão pela qual no Firefox e no Chrome recebo resultados diferentes?
fonte
Respostas:
Presumo que sua interface da web permita emitir comandos SQL. Nesse caso, você pode usar:
PostgreSQL
Se você estiver em um banco de dados PostgreSQL , receberá uma resposta semelhante a
MySQL
Se você estiver em um banco de dados MySQL , a resposta parece
Oráculo
Se você estiver em um banco de dados Oracle , receberá uma mensagem de erro:
(O ORA-xxxx informa que você está no Oracle). Para descobrir qual versão específica, tente:
Você receberá uma resposta como:
Microsoft SQL Server
Se você estiver no MS SQL Server , a resposta também será um erro e será semelhante a:
Nesse caso, você pode tentar:
E você receberá, como resposta, algo parecido com:
SQLite
Se você estiver em um banco de dados SQLite , receberá uma mensagem de erro ao tentar
SELECT version()
:Nesse caso, você pode tentar:
E a resposta será semelhante a:
fonte
SELECT sqlite_version()
e você terá sua resposta.Este editor de SQL online usa o Web SQL Database , significando SQL incorporado no navegador. É fácil reconhecer se você observar o código-fonte JS em http://www.w3schools.com/w3Database.js e comparar as chamadas de API com a especificação W3C do Web SQL, por exemplo, como elas abrem o banco de dados:
Portanto, não há servidor de banco de dados, é realmente o navegador que executa o SQL, com o mecanismo SQL que seu navegador optou por usar (supondo que ele tenha o recurso SQL para começar), para o qual
sqlite
faz muito sentido.(EDIT: não é estritamente verdade porque, de acordo com a resposta de Martin Smith , o código de envio JS volta para um mecanismo MS-Jet do servidor quando o navegador não suporta Web SQL).
Observe que o W3C decidiu abandonar o conceito de navegador SQL-in-the em 2010, agora está obsoleto.
fonte
Como indicado nas outras respostas, isso depende do seu navegador.
Se o seu navegador não tiver suporte nativo para o Web SQL Database, ele acabará enviando de volta ao servidor.
Isso usa o Jet, como pode ser visto executando
o que significa extensões de acesso proprietárias, como
TRANSFORM
trabalho ao acessar a página do Firefox (mas isso falhará no Chrome)fonte
Essa resposta foi dada antes do OP adicionar uma referência a w3schools.com
Se você pode executar uma consulta, comece com isto:
fonte
Para o caso específico do mecanismo SQL usado pela página no W3Schools :
Navegadores Safari, Chrome e Opera
Se você usa o navegador Safari (testei no Mac OS X 10.12), a página está usando SQLite, que parece estar embutido no próprio navegador. Quando você pressiona o botão "Executar SQL", ele não usa nenhum recurso externo. A engenharia reversa adicional revela que a página está inicializando o banco de dados por meio do seguinte código JavaScript:
window.openDatabase
significa que o código está usando um banco de dados SQL da Web . Isso foi definido pelo W3C há alguns anos e foi posto em prática pelo Opera, Safari e Chrome (AFAIK), mas não pelo FireFox (ou Explorer). Todos os três navegadores parecem ter implementado o "Web SQL Database" incorporando versões diferentes do SQLite dentro de si.Neste ponto, a página W3C afirma:
Testei um navegador Chrome (versão 56.0.2924.87, no Windows 10) e parece usar o SQLite 3.10.2. O Opera (versão 12.15, no Windows 10), usa o SQLite 3.7.9.
O Opera é claro o suficiente em seu "sobre":
O Guia de Programação de Aplicativos Offline e Armazenamento do Cliente Safari do Safari também menciona que
Eu não procurei no Chrome ... mas meu palpite é claro.
Navegadores do FireFox, Edge e Internet Explore
Se você usa o navegador FireFox (testei no Mac OS X 10.12); a mesma página do W3School se comporta de uma maneira radicalmente diferente. Ele não realiza as consultas no navegador , mas envia solicitações para o servidor . No lado do servidor, acho que está realmente usando um banco de dados do MS Access . Uma maneira de verificar isso é verificando o (padrão)
information_schema
.Se você emitir a seguinte consulta (que, em um banco de dados compatível com os padrões, forneceria a lista de tabelas acessíveis ao usuário):
Você recebe a seguinte resposta de erro (também reveladora) :
Se o software estiver procurando por um arquivo .MDB, significa que eles estão usando o Microsoft Jet Database Engine (ou algo equivalente) no lado do servidor e estão usando arquivos no formato .MDB do Access , que correspondem às versões do Access até e incluindo 2003. (O Access 2007 e versões posteriores usam, por padrão, arquivos no formato .ACCDB).
O Microsoft Internet Explorer 11 se comporta da mesma maneira (no Windows 10); e o Edge também (no Windows 10).
fonte