|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() |
Bonjour,
Mon problème est que je souhaite passer les varchar en nvarchar d'une table pour qu'il prenne en compte le jeu de caractère (NLS_NATIONAL_CHARACTERSET) AL16UTF16 mais je perds mes données en faisant un insert into table2 select * from table1 ![]() Je vois pas ce qui empêche oracle de le faire correctement.. qq a deja fait ça ? |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 533 ![]() |
Avez-vous essayé l'instruction CAST ?
Code :
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() |
j'ai essayé ta requête mais les champs sont toujours vide.
Avec toad, j'insère juste un caractère et automatiquement il me vide le champ. Cela viendrait d'un paramétrage de la base |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Un petit test avec Oracle 10.2.0.2:
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() |
La version Oracle est 9.2.0.3
Le scénario donne le resultat suivant: select * from t1 ¿¿ select * from t2 |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
merci de coller TOUTE la sortie produite par le jeu d'essai de Pierre !
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() |
SQL*Plus: Release 9.2.0.1.0 - Production on Tue Jan 29 15:44:51 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production With the Partitioning option JServer Release 9.2.0.3.0 - Production SQL> SELECT * FROM nls_database_parameters WHERE parameter LIKE '%SET%'; PARAMETER -------------------------------------------------------------------------------- VALUE -------------------------------------------------------------------------------- NLS_CHARACTERSET WE8ISO8859P15 NLS_NCHAR_CHARACTERSET AL16UTF16 SQL> CREATE TABLE t1(x varchar2(10)); Table created. SQL> CREATE TABLE t2(x nvarchar2(10)); Table created. SQL> INSERT INTO t1 VALUES ('àéèù'); 1 row created. SQL> SELECT * FROM t1; X ------------------------------ ¿¿ SQL> INSERT INTO t2 SELECT * FROM t1; 1 row created. SQL> SELECT * FROM t2; X ------------------------------ ¿¿ SQL> Et voila |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
ben ça marche ?
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() |
bah j'aimerai bien qu'il m'affiche un truc correct. j'adore oracle
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Et le NLS_CHARACTERSET du client ?
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
ainsi que le programme utilisé.
Si c'est SQL*Plus dans une fenêtre de commande MS-DOS, c'est mort pour l'affichage de l'UTF, ce qui ne veut pas dire que c'est mal stocké. ce que je constate c'est que vous vous plaignez que les lignes n'étaient pas recopiées, et maintenant, elles le sont ! |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() |
l'affichage ne fonctionne pas sous toad et SQL*plus.
Pour le NLS_LANG sous windows, j'ai mis dans le registre AMERICAN_AMERICA.UTF8 ou encore FRENCH_FRANCE.UTF8. A votre avis, c'est jsute un problème d''affichage ? |
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 942 ![]() |
Citation:
si vous avez iSQL*Plus, utilisez-le (mais juste pour ça ! tous les programmes ne savent pas gérer l'UTF. Sans parler des problèmes de NLS_LANG et autres joyeusetés ! |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com