Key sensitive sql server

lunedì 11 dicembre 2006 - 12.32

dilauroc Profilo | Newbie

il mio sql server 2005 ha come default il "key sensitive" il che significa che quando faccio una query devo rispetare le maiuscole e minuscole. come faccio a resettare il "Key Sensitive" va fatto via codice?
c'è un impostazione su Sql-Server?

grazie e buon lavoro

alx_81 Profilo | Guru

>il mio sql server 2005 ha come default il "key sensitive" il
>che significa che quando faccio una query devo rispetare le maiuscole
>e minuscole. come faccio a resettare il "Key Sensitive" va fatto
>via codice?
>c'è un impostazione su Sql-Server?
Ciao!

dunque..
puoi cambiare la collation del database con il comando

ALTER DATABASE tuoDB
COLLATE SQL_Latin1_General_CP1_CI_AS

e così ottieni il case insensitive per il database.. ovvero sql server non farà distinzioni tra maiuscole e minuscole quando creerai tabelle con colonne senza indicare la collation. Attenzione, questo non interessa le colonne delle tabelle già esistenti..
Nel caso in cui altre tabelle abbiano colonne che utilizzano già collation diverse, devi per forza fare l'alter delle tabelle/colonne che le utilizzano, sostituendo la "vecchia" collation con quella indicata sopra..
>
>grazie e buon lavoro
Ciao!

----------------------------------------------------------------------------------------------
qui alcuni link per le collation

COLLATE
http://msdn2.microsoft.com/en-us/library/ms184391.aspx

ALTER TABLE
http://msdn2.microsoft.com/en-us/library/ms190273.aspx


Alx81 =)



http://blogs.dotnethell.it/suxstellino

dilauroc Profilo | Newbie

ho provato ha lanciare il comando che mi hai dato tu sul mio Database ma non funziona.

e poi a quanto ho capito dovrei passarlo su tutte le tabelle già esistenti in questo modo

ALTER TABLE mytable
COLLATE SQL_Latin1_General_CP1_CI_AS

GISUTO?

alx_81 Profilo | Guru

>ho provato ha lanciare il comando che mi hai dato tu sul mio
>Database ma non funziona.
che DBMS utilizzi? Sql server 2000? 2005??

>
>e poi a quanto ho capito dovrei passarlo su tutte le tabelle
>già esistenti in questo modo
>
>ALTER TABLE mytable
>COLLATE SQL_Latin1_General_CP1_CI_AS
no..

dovrai fare
ALTER TABLE mytable ALTER COLUMN mycolumn varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS


Alx81 =)

http://blogs.dotnethell.it/suxstellino

alx_81 Profilo | Guru

quindi tutto ok?
Alx81 =)

http://blogs.dotnethell.it/suxstellino

dilauroc Profilo | Newbie

si grazie sei stato gentilissimo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5