Ir para conteúdo
Fórum Script Brasil
  • 0

Tabelas com nomes minuscula


Arivaldo Mathiensen Jr

Pergunta

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 para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...