SQL SERVER CASE SENSITIVE

LEONARDOVB 08/12/2006 11:24:20
#188794
Deu um erro em meu SQL SERVER, se eu tiver, por exemplo uma tabela chamada VbMania (maiusculas e minusculas) e colocar SELECT vbmania FROM tabela, ele diz que a tabela vbmania não existe, mas se eu colocar SELECT VbMania FROM tabela ele num da erro, oq sera q ta acontecendo.

PS: Ele da erro não só no VB, ele da tb em todos os programas que acessam o SQL Server, até php
USUARIO.EXCLUIDOS 08/12/2006 11:33:30
#188798
Na instalação do SQL Server temos exatamente esta opção de Case Sensitive.

Para um maior desempenho alguns sistemas utilizam esta opção, pois otimiza o processamento interno em consultas.

Tente imaginar que um SELECT não case sensitive precisa retornar o registro para qualquer umas das seguintes opções.

SELECT * FROM tabela WHERE tabela.status = ....

a)True
b)TRUE
c)TrUe
d)TRue
...
n)TruE

Portanto se a instalação do SQL é recente reveja esta opção, caso não, vc mudou alguma configuração neste sentido.


LEONARDOVB 08/12/2006 13:14:41
#188830
Mas ond está esta opção no instalador, eu num vi naum!
USUARIO.EXCLUIDOS 08/12/2006 13:23:26
#188831
Existe no SQL server uma opção chamada Collation, nesta opção definimos se o mesmo será CS - Case Sensitive, AS - Acent sensitive, dentre outras informações.

Veja como esta o collation de seu banco, pois é pssível muda-lo se for de seu interesse.

Entre no Help do SQL e pesquise sobre o assunto e como alterá-lo.

Espero que te ajude.

USUARIO.EXCLUIDOS 09/12/2006 10:19:08
#188962
Resposta escolhida
Para você alterar o Collate após o banco estar criado, use

ALTER DATABASE <NomeDobanco>
COLLATE SQL_Latin1_General_CP1_CI_AS

desta maneira vc Muda o collation do BANCO para os novos objetos
o collation das colunas das tabelas já criadas é detrminado na criação das mesmas e alterar o banco após isso não faz efeito no legado. vc precisa alterar todas as colunas existentes que tem collation ou recriar as tabelas (que assumirão o collation do banco feito no alter database)

Não se esqueça que vc tb tem o collate default do servidor, que caso vc não seja explicito na criação doas bancos, será o assumido. Para vc alterar o collate do servidor , segundo o BOL, é um pouco mais complicado. Eu utilizei um processo no link que estou te passando que deu certo, http://www.mcdbabrasil.com.br/modules.php?name=News&file=article&sid=244 mas não é listado como padrão da MS. Mas isso é para o collate do servidor que tb não afetará, caso vc mude, os objetos já criados (legado) que usam collation


USUARIO.EXCLUIDOS 09/12/2006 14:23:21
#189014
Como falaram ... tem uma tela onde vc escolhe collation.

Na instalação em uma outra tela temos a opção de "esconder opções avançadas da instalação".

Caso encontre dificuldades reinstale e leia tela por tela para que se algo der errado seja naquilo que vc não entendeu.
Tópico encerrado , respostas não são mais permitidas