Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Migration Oracle -> SQL Server 2005, problème de casse

3 réponses
Avatar
Lionel
Bonjour,

Je voudrais migrer une base Oracle vers SQL Server 2005.
Aucun souci pour recopier le script et les données via l'outil de migration.
J'ai cependant un problème de casse que je n'arrive pas à résoudre.
Mes colonnes doivent toutes etre Sensitive.
Or si je mets la base en Case Sensitive, les requetes SQL des applis ne
fonctionnent plus (à cause de la casse sur les tables et les colonnes).
Il est hors de question de repasser sur toutes les requetes SQL des appli
utilisant la base pour les passer en majuscules, cela prendrait trop de
temps.
Je suis en train de faire une procédure pour modifier le collation name sur
toutes les colonnes du type varchar, mais je tombe sur des index ou des
foreign keys qui bloquent le alter column (je n'ai aucun moyen de mettre un
ordre fiable sur le traitement des colonnes).

Je suppose que je ne suis pas le premier à rencontrer ce genre de problème.
y a-t-il une solution ?
Idéalement, il faudrait pouvoir spécifier le collation name lors de la
migration en paramètre global pour tous les varchar, mais je n'ai pas trouvé
cette possibilité.
Merci.

3 réponses

Avatar
Fred BROUARD
Lionel a écrit :
Bonjour,

Je voudrais migrer une base Oracle vers SQL Server 2005.
Aucun souci pour recopier le script et les données via l'outil de migration.
J'ai cependant un problème de casse que je n'arrive pas à résoudre.
Mes colonnes doivent toutes etre Sensitive.
Or si je mets la base en Case Sensitive, les requetes SQL des applis ne
fonctionnent plus (à cause de la casse sur les tables et les colonnes).
Il est hors de question de repasser sur toutes les requetes SQL des appli
utilisant la base pour les passer en majuscules, cela prendrait trop de
temps.
Je suis en train de faire une procédure pour modifier le collation name sur
toutes les colonnes du type varchar, mais je tombe sur des index ou des
foreign keys qui bloquent le alter column (je n'ai aucun moyen de mettre un
ordre fiable sur le traitement des colonnes).

Je suppose que je ne suis pas le premier à rencontrer ce genre de problème.
y a-t-il une solution ?
Idéalement, il faudrait pouvoir spécifier le collation name lors de la
migration en paramètre global pour tous les varchar, mais je n'ai pas trouvé
cette possibilité.
Merci.





La collation d'installation du serveur sert aux bases systèmes et est
par défaut celle de toute nouvelle base crée par défaut.
La collation des bases système rend sensible les données de noms des
objets systèmes.
De la même manière, la collation d'une base de données rejaillit sur les
tables systèmes et donc sur les noms des objets de la base.
A la création de votre base vous pouvez préciser la collation que vous
souhaite. Si tel est le cas, ce sera celle des objets de votre base.

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.sqlspot.com *************************
Avatar
Lionel
Fred BROUARD wrote:
Lionel a écrit :
Bonjour,

Je voudrais migrer une base Oracle vers SQL Server 2005.
Aucun souci pour recopier le script et les données via l'outil de
migration. J'ai cependant un problème de casse que je n'arrive pas à
résoudre. Mes colonnes doivent toutes etre Sensitive.
Or si je mets la base en Case Sensitive, les requetes SQL des applis
ne fonctionnent plus (à cause de la casse sur les tables et les
colonnes). Il est hors de question de repasser sur toutes les requetes
SQL des
appli utilisant la base pour les passer en majuscules, cela
prendrait trop de temps.
Je suis en train de faire une procédure pour modifier le collation
name sur toutes les colonnes du type varchar, mais je tombe sur des
index ou des foreign keys qui bloquent le alter column (je n'ai
aucun moyen de mettre un ordre fiable sur le traitement des
colonnes). Je suppose que je ne suis pas le premier à rencontrer ce genre
de
problème. y a-t-il une solution ?
Idéalement, il faudrait pouvoir spécifier le collation name lors de
la migration en paramètre global pour tous les varchar, mais je n'ai
pas trouvé cette possibilité.
Merci.





La collation d'installation du serveur sert aux bases systèmes et est
par défaut celle de toute nouvelle base crée par défaut.
La collation des bases système rend sensible les données de noms des
objets systèmes.
De la même manière, la collation d'une base de données rejaillit sur
les tables systèmes et donc sur les noms des objets de la base.
A la création de votre base vous pouvez préciser la collation que
vous souhaite. Si tel est le cas, ce sera celle des objets de votre
base.



Ma solution a fonctionné sans souci, mais c'était très fastidieux.
C'est quand meme assez bizarre de ne pas pouvoir paramétrer de facon
indépendante les noms des objets et les données comme dans n'importe quelle
autre base.
Certes, on peut s'en sortir mais c'est vraiment de la bidouille douteuse.
Avatar
helios services
Fred BROUARD a écrit :
Lionel a écrit :
Bonjour,

Je voudrais migrer une base Oracle vers SQL Server 2005.
Aucun souci pour recopier le script et les données via l'outil de
migration.
J'ai cependant un problème de casse que je n'arrive pas à résoudre.
Mes colonnes doivent toutes etre Sensitive.
Or si je mets la base en Case Sensitive, les requetes SQL des applis
ne fonctionnent plus (à cause de la casse sur les tables et les
colonnes).
Il est hors de question de repasser sur toutes les requetes SQL des
appli utilisant la base pour les passer en majuscules, cela prendrait
trop de temps.
Je suis en train de faire une procédure pour modifier le collation
name sur toutes les colonnes du type varchar, mais je tombe sur des
index ou des foreign keys qui bloquent le alter column (je n'ai aucun
moyen de mettre un ordre fiable sur le traitement des colonnes).

Je suppose que je ne suis pas le premier à rencontrer ce genre de
problème.
y a-t-il une solution ?
Idéalement, il faudrait pouvoir spécifier le collation name lors de la
migration en paramètre global pour tous les varchar, mais je n'ai pas
trouvé cette possibilité.
Merci.





La collation d'installation du serveur sert aux bases systèmes et est
par défaut celle de toute nouvelle base crée par défaut.
La collation des bases système rend sensible les données de noms des
objets systèmes.
De la même manière, la collation d'une base de données rejaillit sur les
tables systèmes et donc sur les noms des objets de la base.
A la création de votre base vous pouvez préciser la collation que vous
souhaite. Si tel est le cas, ce sera celle des objets de votre base.

A +



mais peut on faire confiance à quelqu'un qui prétends coder plus de
65536 valeurs sur 2 octets ?

http://groups.google.com/group/fr.comp.applications.sgbd/msg/621527f995585842?dmode=source





et donc les écrits ont été bannis de wikipedia

--
Dr Thierry HOLZ
HELIOS SERVICES
180 rue de la croix du chene
60250 HEILLES
www.openqm.com02.net
www.pick.com02.net