Jump to content
Fórum Script Brasil
  • 0

Tabelas com nomes minuscula


Arivaldo Mathiensen Jr

Question

Bom dia, por padrão o POSTGRES assumiu o nome das tabelas como minúscula, já temos um sistema web que utiliza SQL Injection e passa o nome das tabelas em maiusculo devido a outros banco de dados que o sistema trabalha( ORACLE E FIREBIRD) . Como fazer o postgres assumir o nome das tabelas como maisculo?

Ex: Nome da Tabela: CLIENTE

No postgresql está como: cliente

Ao executar o SELECT o mesmo esta passando assim:

SELECT * FROM "CLIENTE" e assim da erro no postgresql nos demais bds não!

 

Atenciosamente, Ari.

 

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Acho que o problema não é a caixa, e sim o "CLIENTE"

 Se você exectar 

select
  *
from
cliente

ou executar

SELECT
  *
FROM
  CLIENTE

vai dar no mesmo. Porem não da no mesmo se você executar

select
  *
from
"pessoa"
------
--or
----

SELECT
  *
FROM
"PESSOA"

 

Link to comment
Share on other sites

  • 0

abra ai o pgadmin, dbeaver ou qualquer outro  sgdb manager q você use. Se você disser select * from cliente (maiusculo ou não) a consulta vai executar. o problema é seu sql injection passando a tabela dentro das aspas! não faz diferença se maiusculo ou minusculo.

Link to comment
Share on other sites

  • 0

Terei que mudar toda aplicação Web que já funciona, só por causa do Postgres (já sei que funciona maiúsculo e minúscula e que não funciona por causa das aspas, mas é o recurso de SQl Injection então não posso mudar isso!)

Tenho que fazer o Postgres entender no dicionário de dados que os objetos estão armazenados em maiúsculo como nos demais SGBDs

 

Link to comment
Share on other sites

  • 0

oh, postgres funciona assim: se tu passa um "SELECT * FROM CLIENTE", por padrão  ele vai passar lowercase. Logo sua consulta vai funcionar independente da caixa. Se você mudar o padrão do sgdb, nada q já ta certinho e programado para executar vai acontecer, porque por padrão ele vai passar toLowerCase, e não vai ter nd lowercase la. No seu lugar eu simplesmente testaria se o driver utilizado na conexao atual for do postgresql,  passava a consulta toda pra lowercase e td vai funcionar. Em tese a alteração  seria em TODA a aplicacao, e sim no seu queryEngine (ou algo do tipo).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...