OVH Cloud OVH Cloud

collate

9 réponses
Avatar
Ch.
Bonjour,

j'ai des tables et des bases dans un certain niveau de collate !
j'aimerais enlever de toutes les tables les collates pour le mettre en
conformité comme les autres ?

exist'il un script qui peut remettre cela à niveau ?
Avez vous un truc dans votre hotte ?

ou en resumé enlever de toutes les champs les possibles collate existant !

9 réponses

Avatar
Sylvain Lafontaine
http://www.ssw.com.au/ssw/KB/KB.aspx?KBID=Q711843

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF


"Ch." wrote in message
news:%
Bonjour,

j'ai des tables et des bases dans un certain niveau de collate !
j'aimerais enlever de toutes les tables les collates pour le mettre en
conformité comme les autres ?

exist'il un script qui peut remettre cela à niveau ?
Avez vous un truc dans votre hotte ?

ou en resumé enlever de toutes les champs les possibles collate existant !





Avatar
Fred BROUARD
Bonjour,

Ch. a écrit :
Bonjour,

j'ai des tables et des bases dans un certain niveau de collate !
j'aimerais enlever de toutes les tables les collates pour le mettre en
conformité comme les autres ?

exist'il un script qui peut remettre cela à niveau ?
Avez vous un truc dans votre hotte ?

ou en resumé enlever de toutes les champs les possibles collate existant !






Il n'existe aucune possibilité de chengement de collation sans migration
des données. En effet le code exadécimal des informations stocké dépend
de la collation.
Autrement dit si vous voulez faire cela il faudra recréer vos bases...

Mais quel est votre problème sous jacent ? parce qu'a mon avis il doit y
avoir d'autres moyens de résoudre votre problème que de tout recréer.

Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/collations/

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Sylvain Lafontaine
Cela est vrai dans le cas de certains (ou plusieurs, c'est selon, je n'ai
pas vraiment vérifié) changements de codepages avec les types Ascii (char,
varchar et text) mais pas dans les cas des types Unicode (nchar, nvarchar et
ntext). En Unicode, le stockage hexadécimal est indépendant de la collation
utilisée.

Dans la question originale, il n'est malheureusement pas précisé de quel
type il s'agit ici.

Autre que la méthode déjà mentionné dans ma réponse précédente, Louis
Davidson a également élaboré sur une autre méthode dans son blog du 15 août
2006:

http://drsql.spaces.live.com/

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF


"Fred BROUARD" wrote in message
news:
Bonjour,

Ch. a écrit :
Bonjour,

j'ai des tables et des bases dans un certain niveau de collate !
j'aimerais enlever de toutes les tables les collates pour le mettre en
conformité comme les autres ?

exist'il un script qui peut remettre cela à niveau ?
Avez vous un truc dans votre hotte ?

ou en resumé enlever de toutes les champs les possibles collate existant
!






Il n'existe aucune possibilité de chengement de collation sans migration
des données. En effet le code exadécimal des informations stocké dépend de
la collation.
Autrement dit si vous voulez faire cela il faudra recréer vos bases...

Mais quel est votre problème sous jacent ? parce qu'a mon avis il doit y
avoir d'autres moyens de résoudre votre problème que de tout recréer.

Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/collations/

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Avatar
Ch.
je vais lire tout cela des demain au taf !

pour l'heure ce que je peux vous dire !
je viens d'arriver dans la boite donc je decouvre l'ampleur des degats d'ou
toutes mes questions !

il n'utilise pas de champ ntext, donc la pas de probleme
mais il y'a des champs varchar, char, et nvarchar

bon j'ai trouvé un methode qui consiste à utiliser le collate de la database
donc d'eliminer les collate de colone !
pour cela je dois detruire les index, faire des alter table sur les colonnes
possedant un collate !
et enfin refaire les index, je suis sur cette derniere partie actuellement !
je cherche à refaire les scripts de creation des index existant actuellement
!
si vous avez une idée je suis preneur, j'en ai trouvé une mais pas des plus
simple !!

Ch.

Merci, enfin tout le monde est rentré de vacance !!
Fred tu fais aussi des formations, dans quelques mois j'aurais surement un
budget pour ça ;)



"Fred BROUARD" a écrit dans le message de news:

Bonjour,

Ch. a écrit :
Bonjour,

j'ai des tables et des bases dans un certain niveau de collate !
j'aimerais enlever de toutes les tables les collates pour le mettre en
conformité comme les autres ?

exist'il un script qui peut remettre cela à niveau ?
Avez vous un truc dans votre hotte ?

ou en resumé enlever de toutes les champs les possibles collate existant
!






Il n'existe aucune possibilité de chengement de collation sans migration
des données. En effet le code exadécimal des informations stocké dépend de
la collation.
Autrement dit si vous voulez faire cela il faudra recréer vos bases...

Mais quel est votre problème sous jacent ? parce qu'a mon avis il doit y
avoir d'autres moyens de résoudre votre problème que de tout recréer.

Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/collations/

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Avatar
Fred BROUARD
Ch. a écrit :
je vais lire tout cela des demain au taf !

pour l'heure ce que je peux vous dire !
je viens d'arriver dans la boite donc je decouvre l'ampleur des degats d'ou
toutes mes questions !

il n'utilise pas de champ ntext, donc la pas de probleme
mais il y'a des champs varchar, char, et nvarchar

bon j'ai trouvé un methode qui consiste à utiliser le collate de la database
donc d'eliminer les collate de colone !
pour cela je dois detruire les index, faire des alter table sur les colonnes
possedant un collate !
et enfin refaire les index, je suis sur cette derniere partie actuellement !
je cherche à refaire les scripts de creation des index existant actuellement
!
si vous avez une idée je suis preneur, j'en ai trouvé une mais pas des plus
simple !!

Ch.

Merci, enfin tout le monde est rentré de vacance !!
Fred tu fais aussi des formations, dans quelques mois j'aurais surement un
budget pour ça ;)



Oui à ORSYS (optimisation et dans d'autres organismes..

A +




"Fred BROUARD" a écrit dans le message de news:

Bonjour,

Ch. a écrit :
Bonjour,

j'ai des tables et des bases dans un certain niveau de collate !
j'aimerais enlever de toutes les tables les collates pour le mettre en
conformité comme les autres ?

exist'il un script qui peut remettre cela à niveau ?
Avez vous un truc dans votre hotte ?

ou en resumé enlever de toutes les champs les possibles collate existant
!





Il n'existe aucune possibilité de chengement de collation sans migration
des données. En effet le code exadécimal des informations stocké dépend de
la collation.
Autrement dit si vous voulez faire cela il faudra recréer vos bases...

Mais quel est votre problème sous jacent ? parce qu'a mon avis il doit y
avoir d'autres moyens de résoudre votre problème que de tout recréer.

Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/collations/

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************








--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Fred BROUARD
Sylvain Lafontaine a écrit :
Cela est vrai dans le cas de certains (ou plusieurs, c'est selon, je n'ai
pas vraiment vérifié) changements de codepages avec les types Ascii (char,
varchar et text) mais pas dans les cas des types Unicode (nchar, nvarchar et
ntext). En Unicode, le stockage hexadécimal est indépendant de la collation
utilisée.



je serais intéressé pour que tu me donne un exemple de changement de
collation "on the fly" qui donne les bons résultats (sur du national) !

A +


Dans la question originale, il n'est malheureusement pas précisé de quel
type il s'agit ici.

Autre que la méthode déjà mentionné dans ma réponse précédente, Louis
Davidson a également élaboré sur une autre méthode dans son blog du 15 août
2006:

http://drsql.spaces.live.com/







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Sylvain Lafontaine
Pour du ASCII (char, varchar et text) ou pour du Unicode (nchar, nvarchar
and ntext) ?

Je viens de regarder l'article que vous avez écrit sur les collations (très
bon, soit dit en passant) mais dans cet article, vous ne faites mention que
des champs de type ASCII.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF


"Fred BROUARD" wrote in message
news:
Sylvain Lafontaine a écrit :
Cela est vrai dans le cas de certains (ou plusieurs, c'est selon, je n'ai
pas vraiment vérifié) changements de codepages avec les types Ascii
(char, varchar et text) mais pas dans les cas des types Unicode (nchar,
nvarchar et ntext). En Unicode, le stockage hexadécimal est indépendant
de la collation utilisée.



je serais intéressé pour que tu me donne un exemple de changement de
collation "on the fly" qui donne les bons résultats (sur du national) !

A +


Dans la question originale, il n'est malheureusement pas précisé de quel
type il s'agit ici.

Autre que la méthode déjà mentionné dans ma réponse précédente, Louis
Davidson a également élaboré sur une autre méthode dans son blog du 15
août 2006:

http://drsql.spaces.live.com/







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Avatar
Fred BROUARD
Sylvain Lafontaine a écrit :
Pour du ASCII (char, varchar et text) ou pour du Unicode (nchar, nvarchar
and ntext) ?

Je viens de regarder l'article que vous avez écrit sur les collations (très
bon, soit dit en passant) mais dans cet article, vous ne faites mention que
des champs de type ASCII.




Les collations sont un mécanisme indépendant du type de données SQL
pourvue que ce soit de l'alphanumérique (VARCHAR, CHAR, NVARCHAR, NCHAR,
TEXT, NTEXT).

En revanche les collations peuvent dépendre du jeu de caractères, mais
ceci est transparent sous MS SQL Server?

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Sylvain Lafontaine
J'avoue ne pas très bien comprendre toutes les subtilités de votre dernier
message. Pour ce qui est des collations et des codepages, je suis
parfaitement au courant de tous les problèmes potentiels de conversion
lorsque l'on utilise l'ASCII chez le client et chez le serveur.

Il va également y avoir des problèmes de codepage et de collation si on
utilise l'Unicode chez le serveur mais de l'Ascii chez le client. Ces
problèmes ne sont pas dû au fait que le stockage sur le serveur va varier
selon la collation mais dus au fait que ces chaînes de caractères seront
converties en Ascii avant leur envoi chez le client et que la conversion
choisie sera dépendante de la collation définie. Idem pour la réception
chez le serveur à partir du client. Il est important de définir ici que ce
problème est un problème de conversion lorsqu'une communication est ouverte
avec un client mais qu'il n'y a aura aucune conversion de la chaîne stockée
sur le serveur lui-même si l'on change la collation.

Et finalement, si le client et le serveur utilise l'Unicode, il n'y aura
jamais de conversion ou de problème de conversion ou de changement de
stockage et cela même si on change la collation d'un champ Unicode (nchar,
nvarchar et ntext). Cela est bien indiqué par le fait que l'on a pas le
droit de fournir une clause collation pour un paramètre d'une procédure
stockée:

CREATE PROCEDURE dbo.test
(
-- Message d'erreur ici à cause de la clause collate:
@p nvarchar (50) collate French_CI_AS
)
AS ....

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF


"Fred BROUARD" wrote in message
news:
Sylvain Lafontaine a écrit :
Pour du ASCII (char, varchar et text) ou pour du Unicode (nchar, nvarchar
and ntext) ?

Je viens de regarder l'article que vous avez écrit sur les collations
(très bon, soit dit en passant) mais dans cet article, vous ne faites
mention que des champs de type ASCII.




Les collations sont un mécanisme indépendant du type de données SQL
pourvue que ce soit de l'alphanumérique (VARCHAR, CHAR, NVARCHAR, NCHAR,
TEXT, NTEXT).

En revanche les collations peuvent dépendre du jeu de caractères, mais
ceci est transparent sous MS SQL Server?

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************