Vous n'êtes pas identifié(e).
Bonjour,
J'ai un serveur de test sous WindowsXP avec PostgreSQL 9.0.1 32bits et là j'ai les messages d'erreur avec accents.
Je viens d'installer PostgreSQL 9.0.2 64bits sur mon serveur principal qui est sous Windows 7 64bits et là les messages d'erreur n'affiche pas les accents
Petit test :
Je crée un nouvel utilisateur qui n'a aucun droits et je fais un SELECT sur une table
Dans le serveur PostgreSQL 9.0.1 32 bits le message d'erreur est :
[SELECT - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: 42501] ERREUR: droit refusé pour la relation clients
Dans le serveur PostgreSQL 9.0.2 64 bits le message d'erreur est :
[SELECT - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: 42501] ERREUR: droit refus pour la relation clients
Point important, ce problème apparait avec tout programme(mon programme JAVA, dbVisualizer, EMS SQL Manager Lite, ...) client sauf pgAdmin 1.12.2
Les 2 installations sont faites avec les paramètres de base et la base de données est encodée en UTF8
Si qlq a une idée.
Merci d'avance.
Dernière modification par genamiga (19/12/2010 16:26:09)
Hors ligne
Vous avez les accents. Il les affiche mal, c'est tout.
La raison est que le programme avec lequel vous l'affichez n'utilise pas le même encodage que celui qui est paramétré pour votre client postgres. Vous avez d'ailleurs du avoir un message d'avertissement à ce sujet juste après l'installation (je ne suis pas très habitué à l'installeur windows).
Par exemple, avec psql, sur ma machine sous Linux (je suis en utf8, un des encodages unicode):
marc=> SELECT * from test;
ERREUR: droit refusé pour la relation test
marc=> SET client_encoding TO latin9;
SET
marc=> SELECT * from test;
ERREUR: droit refus pour la relation test
Il est donc probable que votre encodage client soit incompatible avec ce que votre programme peut afficher correctement. Aux dernières nouvelles, il me semble que c'est WIN1252 que Windows est capable d'afficher, principalement.
Vous pouvez aussi, c'est ce que beaucoup de gens font (dont moi), demander à avoir les messages en anglais dans la log. Ça a des avantages, comme pouvoir rechercher directement le message sur google par exemple (en mettant lc_messages à 'C' par exemple).
Marc.
Hors ligne
dans la console, je viens de tester :
deja au départ, tout est en français mais certains caractères de correspondent pas..
SHOW client_encoding
cela donne UTF8
SET client_encoding = WIN1252
je refais le SELECT sur la base UTF8
cela donne l'erreur :
ERROR: invalid byte sequence for encoding "UTF8": 0xe97175
Quelques remarques :
Je n'ai pas eu d'avertissement lors de l'installation...
Je n'ai jamais eu ce problème avec PostgreSQL 8.4...
J'ai recopier le fichier de configuration du serveur XP vers le serveur Win7 et cela ne change rien.
Dans mon programme et dans les autres clients testés je suis en UNICODE. Comme dans pgAdmin d'ailleur...je ne comprends pas.
Je voudrais garder les message en français et les avoir correctement visibles...
Comment puis-je faire ?
Merci d'avance.
Dernière modification par genamiga (19/12/2010 19:30:22)
Hors ligne
À priori votre message d'erreur est du au fait qu'effectivement, vous avez des caractères unicode qui ne peuvent pas être représentés en codepage 1252. La console windows étant ce qu'elle est, vous ne pourrez pas l'utiliser pour afficher à la fois des messages dans la codepage compatible, et le contenu des tables. C'est donc mort de ce côté.
Je ne vois pas comment vous pourriez ne pas avoir eu ce problème avec la version 8.4, vu que rien n'a changé de ce côté.
PgAdmin3 dialogue uniquement en unicode avec la base. Si lui arrive à afficher correctement les messages, et pas vos programmes. Les programmes java aussi.
Avez-vous un fichier de trace du programme java (pas de copier-coller), que vous pourriez uploader quelque part ?
Marc.
Hors ligne
Si je me connecte sur le serveur PostgreSQL 9.0.1 sous WindowsXP à partir de mon programme Java ou des autres clients je n'ai pas ce problème tous les caractères sont corrects.
Le plus important pour moi est la connection à partir de mon programme Java.
Que voulez-vous dire par "fichier de trace du programme java" ?
Je peux contruire ce que vous voulez ???
Dernière modification par genamiga (19/12/2010 20:31:06)
Hors ligne
Ce que je veux dire, c'est qu'il est tout à fait possible que le programme se comporte exactement pareil, mais que ça soit Windows 7 qui n'affiche pas pareil.
Le programme java vous affiche les messages d'erreur par quel intermédiaire ? Sur la sortie de la console ? dans un fichier ? dans une fenêtre à l'écran ?
Marc.
Hors ligne
A partir du PC sous Windows 7 64 bits je me connecte à la base potsgres sur les différents serveurs
Je suis ds un programe client (dbVisualizer, EMS SQL manager ou mon programme Java)
connecté au serveur PostgreSQL 9.0.1 32bits sous XP
SHOW client_encoding --- >UNICODE
SHO client_encoding --- >[Error Code: 0, SQL State: 42601] ERREUR: erreur de syntaxe sur ou près de « sho »
connecté au serveur PostgreSQL 9.0.2 64bits ou PostgreSQL 9.0.2 32bits sous Windows7
SHOW client_encoding --->UNICODE
SHO client_encoding --->[Error Code: 0, SQL State: 42601] ERREUR: erreur de syntaxe sur ou prs de sho
A partir des programme la sortie se fait dans la fenêtre de commande
A partir de mon programme Java même résultat que ce soit dans la fenêtre de debug, dans un fichier ou dans une boite de dialogue...
J'ai recopier le fichier postgresql.conf du serveur sous XP vers le serveur sous Windows 7 et cela ne change rien...
J'en conclu donc que ce n'est pas un problème côté client mais bien côté serveur...
Je n'y comprends rien.
Dernière modification par genamiga (20/12/2010 12:17:39)
Hors ligne
Le problème est à 90% de chances côté client. Ce qui serait intéressant, ça serait justement les fichiers générés par le programme java (si possible, les uploader sur un serveur comme dl.free.fr, megaupload…). À moins que ça soit un bug de la version PostgreSQL 64 bits pour windows, elle est toute récente. Ça peut aussi être intéressant de faire le test avec une version 32 bits (elle s'installe très bien sur un système 64 bits).
Marc.
Hors ligne
Mêmes tests à partir du PC sous Windows XP je me connecte à la base potsgres sur les différents serveurs
Résultats identiques.
Je viens d'installer le serveur 32bits dans le PC Windows7 64 bits
Résultats identiques.
Hors ligne
log ds dbVisualizer
11:51:55 [SELECT - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: 42P01] ERREUR: la relation test n'existe pas
extrait du fichier log dans le serveur sous Windows 7 64bits
2010-12-20 11:51:55 CET ERREUR: la relation « test » n'existe pas au caractère 15
Donc c'est correct dans le fichier log du serveur...
De plus en plus incomprehensible...
PS : j'ai restaurer le backup complet de mon système Windows7 64 + PostgreSQL 8.4.2 et là je n'ai aucuns problème avec aucun programme client ni mon programme Java...
Dernière modification par genamiga (20/12/2010 13:38:12)
Hors ligne
Ça ressemble donc de plus en plus à un bug d'affichage, si la log est bonne. Problème de police ? Là ça dépasse clairement mes compétences sous Windows …
Marc.
Hors ligne
Si c'était un problème dans Windows7 (polices ou autre) je devrais avoir le même problème en me contectant sur le serveur PostgreSQL 9.0.1 tourant dans le PC sous XP...or ce n'est pas le cas.
Je sèche...
Hors ligne
Derniers tests sur un autre PC dans lequel je n'installe rien à part Windows et PosgreSQL
Test 1 : Windows 7 64 bits et PosgreSQL 9.0.2 64 bits
... même problème (Java, dbVisualizer)
Test 2 : Windows 7 64 bits et PosgreSQL 9.0.2 32 bits
... même problème (Java, dbVisualizer)
Test 3 : Windows 7 32bits et PosgreSQL 9.0.2 32 bits
... PAS de problème (Java, dbVisualizer)
Conclusion, pour moi, c'est bien un bug lorsque PostgreSQL est installé sur Windows 7 64 bits...
Hors ligne
Je n'ai toujours pas les fichiers demandés. Je ne demande qu'à vous croire. Mais si pgadmin3 affiche les messages correctement sous Windows + 64 bits, avec PostgreSQL 64 bits, ça va être très difficile à vendre.
Marc.
Hors ligne
Difficile à vendre je sais pas mais à par le fait que ça prends du temps d'installer les différentes versions de Windows, c'est très facile à reproduire...
Sortie de dbVisualizer (je n'ai pas trouvé de fichier log)
... Physical database connection acquired for: Test9.0 (Win7-32)
17:15:21 [SHO - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: 42601] ERREUR: erreur de syntaxe sur ou près de « sho »
Position : 1
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]
... Physical database connection acquired for: Test9.0 (WinXP)
17:17:07 [SHO - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: 42601] ERREUR: erreur de syntaxe sur ou près de « sho »
Position : 1
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]
... Physical database connection acquired for: Test9.0 (Win7-64)
17:18:01 [SHO - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: 42601] ERREUR: erreur de syntaxe sur ou prs de sho
Position : 1
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]
Copie d'écran de l'erreur à partir de mon programme Java connecté sur Test9.0 (Win7-64):
http://www.generationamiga.be/fichiers/ … in7-64.png
Copie d'écran de l'erreur à partir de mon programme Java connecté sur Test9.0 (Win7-32):
http://www.generationamiga.be/fichiers/ … in7-32.png
Copie d'écran de l'erreur à partir de mon programme Java connecté sur Test9.0 (WinXP):
http://www.generationamiga.be/fichiers/print-WinXP.png
Dernière modification par genamiga (21/12/2010 19:19:53)
Hors ligne
Bonjour,
Je crois que je vais arrêter de vous répondre si vous continuez à ne pas me fournir ce que je vous demande. Vos copies d'écran ne m'intéressent pas. Ce qui m'intéresse, c'est un fichier contenant ce que java retourne (en version texte). C'est la seule façon de s'assurer que ce n'est pas un problème d'affichage.
Croyez vous que je vais essayer de reproduire votre problème en installant des versions piratées de systèmes microsoft ? (non, je ne possède pas XP, Seven ET Seven 64 bits, je n'en possède aucun en fait).
Un dernier point : si vous avez un problème avec PG 9.0.2 32 bits sous 7 64 bits, et pas de problème avec PG 9.0.2 32 bits (le même programme, à l'octet près) sous 7 32 bits, comment pouvez vous prétendre que le problème vient de PG ? Simplement parce que ça ne peut pas venir de Windows Seven ?
Marc.
Hors ligne
Grand Dieu, quelle agressivité tout d'un coup...
Quelques points importants :
1.Je suis revendeur de matériel informatique, je possède plusieurs PC et je n'ai pas de version piratées de Windows. J'utilise des DVD originaux de Windows (la version 7 s'installe même sans clé et fonctionne pendant 30 jours). Je n'ai jamais demandé à qui que ce soit de tester toute ces versions. J'explique seulement les tests que j'ai fais et les conclusion que j'en tire. Je peux bien sûr me tromper.
2."Ce que Java retourne", je ne comprends pas bien ce que vous me demandez. SI vous voulez bien être plus précis.
Je lance une commande SQL erroné pour provoqur une SQLException ex. Dans les copie d'écran ce trouve le résultat de ex.getLocalizedMessage()
3.Peut-être PG 9.0.2 32 bits s'installe différement sous Windows 7 64 bits...
4.J'ai un PG 8.4 installé sur Windows 7 64 bits qui ne pose pas ce problème
Dernière modification par genamiga (21/12/2010 20:15:27)
Hors ligne
Ce n'est pas de l'agressivité, c'est de la lassitude. J'essaye de vous aider depuis un moment, mais vous vous obstinez avec vos copies d'écran, alors que ça ne me permettra pas d'avanacer
1. Je parle de moi pour les versions piratées. Et j'ai autre chose à faire que de les réinstaller tous les 30 jours
2. Retourne: tout programme java écrit des messages sur la sortie standard ou la sortie erreur (ce que la console affiche, si vous lancez le programme à partir de la console). J'ai besoin de définir 'sortie standard' ?
3. Non.
Marc.
Hors ligne
J'ai executer les commande suivantes dans la console SQL (installée avec PG9), DbVisualizer 7.1.4, la console CMD de Windows 7, un petit programme java (source incluse) de test avec la JVM 6u23, pgAdmin et le fichier log de PG9 )
-connection à la base postgres
-SHOW client_encoding
-SELECT * from clients (table qui n'existe pas pour provoquer une erreur)
Dans les fichiers suivants vous trouverez ce que chaque test renvoi...et la source du programme Java
http://www.generationamiga.be/fichiers/Win7-32.txt
http://www.generationamiga.be/fichiers/Win7-64.txt
http://www.generationamiga.be/fichiers/Main.java
Pour rappel voici ce que j'ai installé dans les 2 PC (1 en 32 bits l'autre en 64 bits):
Windows 7
JVM 6u23
DbVisualizer 7.1.4
PostgreSQL 9.0.2
Dernière modification par genamiga (22/12/2010 17:13:41)
Hors ligne
On va dire que je le fais exprès, mais '404 not found' pour les deux premiers fichiers
Marc.
Hors ligne
Les fichiers sont accessibles maintenant...dsl
Merci de vos efforts (et de me supporter) ...:)
Dernière modification par genamiga (22/12/2010 17:12:17)
Hors ligne
À regarder vos fichiers, j'ai l'impression qu'il s'agit de copier-coller dans un notepad ?
Marc.
Hors ligne
C'est ce que me sort la console dans tous les cas...
Pour Java j'ai ça aussi
http://www.generationamiga.be/fichiers/debug.txt
Dernière modification par genamiga (22/12/2010 17:25:51)
Hors ligne
Comment avez vous obtenu le debug.txt ?
Marc.
Hors ligne
A partir de Netbeans
Hors ligne