Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

Îåêßíçóå áðü ôï ìÝëïò Ηλίας Κεκάκος. Τελευταία δημοσίευση από το μέλος Ηλίας Κεκάκος στις 06-10-2006, 09:25. Υπάρχουν 20 απαντήσεις.
Σελίδα 2 από 2 (21 εγγραφές)   < 1 2
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-09-2006, 23:08 17446 σε απάντηση της 17444

    Απ: Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

      Παναγιώτη σ' ευχαριστώ για την εξήγηση, αλλά υπάρχει λύση σε αυτό το πρόβλημα ή να προχωρήσω στην αγορά του driver της CoreLab;

      Σ' ευχαριστώ

  •  28-09-2006, 23:42 17449 σε απάντηση της 17446

    Απ: Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

    Νομίζω ότι έχω απαντήσει από το πρώτο κιόλας post. Το πρόβλημα είναι οι λάθος ρυθμίσεις των client. Η λύση είναι να τις αλλάξεις έτσι ώστε να ταιριάζουν στο locale του κάθε μηχανήματος. Έτσι δεν θα χρειαστεί να γράψεις κώδικα ή να αγοράσεις drivers. Ψάχνοντας πάντως στο site της Core Labs, θυμήθηκα ότι μπορείς να χρησιμοποιήσεις την εντολή "ALTER SESSION SET NLS_TERITORY='XXX'" για να θέσεις το σωστό locale. Βέβαια θα πρέπει να το κάνεις αυτό για κάθε νέο connection που ανοίγεις.

    Από την άλλη, ακόμα και αν αγοράσεις τους driver της Core Lab μπορεί να συναντήσεις το ίδιο πρόβλημα. Οι driver δουλεύουν σε δύο mode. Το Direct mode επικοινωνεί απευθείας με το server όπως περιέγραψα και αγνοεί το NLS_LANG. Το OCI mode αντιθέτως, επικοινωνεί μέσω του Oracle Client, οπότε το NLS_LANG θα δημιουργήσει πάλι πρόβλημα.

    Είναι δικό σου θέμα πλέον αν σου κοστίζει περισσότερο να διορθώσεις τις ρυθμίσεις των client, να αγοράσεις τους driver ή να γράψεις κώδικα για να διορθώνεις το NLS_TERITORY.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-09-2006, 10:24 17471 σε απάντηση της 17444

    Απ: Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

      Καλημέρα Παναγιώτη,

      Ξέρω ότι σ' έχω ζαλίσει αλλά χθες το βράδυ κάθησα ως τις 2 τα ξημερώματα αλλάζοντας τις παραμέτρους είτε Locale είτε του oracle client αλλα τίποτα. Αλλάζοντας μάλιστα τον client δεν μου δούλευε το PL/SQL DEVELOPER. Βρήκα και αυτό το ωραίο site http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm που τα εξηγεί όλα, αλλα ή εγω δεν καταλαβαίνω ή κάνω τις αλλαγές σωστά και απλά δεν δουλεύει.

      Πάντως σ' ευχαριστώ για τις απαντήσεις, αυτό δείχνει ότι οι έλληνες προγραμματιστές είναι δυνατότεροι από τους ξένους. Αυτήν την ερώτηση την καταχώρησα και σε άλλα 3 forums (microsoft, oracle, vbcity) και σε κανένα δεν υπήρξε μία απάντηση συγκεκριμένη όπως η δική σου. Πάντως είχα ανοίξει ένα case στην microsoft μέσω του κου ΚΑΤΑΡΑΧΙΑ (Microsoft Hellas) και θα του ζητήσω να το συνεχίσει και να μην το κλείσει. Θέλω να βρώ μία λύση με τον driver της microsoft εκτός και μου πούνε ότι η χρήση του υπόκειτε σε κάποιους περιορισμούς.

     

      Και πάλι ευχαριστώ

  •  05-10-2006, 21:28 18135 σε απάντηση της 17471

    Απ: Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

    Here is the answer of the microsoft:

    I have the information that you have a VB.Net 2005 application connected to an Oracle database 8.1.7.4 hosted on a UNIX server.
    This database has the CharacterSet WE8ISO8859P1.
    When retrieving Greek characters from this database in the application, you cannot see them.
    Could you please send me a screenshot of these characters in the .Net application?
     Are they displayed as gibberish, or as inverted questions marks (?)?

    I already had similar cases with Hebrew characters hosted on an Oracle database.
    These characters were displayed as questions marks on the client side.
    This is due to the fact that System.Data.OracleClient is using the Server CharacterSet to display the characters.
    If your Greek characters are not stored in the WE8ISO8859P1 characterset, then they won’t display correctly on the client-side.

    This is different from OLEDB where you could interact on client side by modifying the NLS_LANG parameter in the registry HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0.

    The client NLS_LANG and the server CharacterSet had to match in order to correctly display the data, and avoid SQL*NET conversion.

    So there are two solutions to your case:

    - The first one is to create a new database using the P8 characterset. The Oracle .Net managed provider will so be able to use it and display the characters correctly.

    - The second one is to use the OLEDB.Net managed provider, and then use OLEDB for Oracle provider. OLEDB will take care of the client NLS_LANG registry parameter.

     Would it be possible to test your application against an Oracle database with WE8ISO8859P8 characterset?
     Would it be possible to test it with the OLEDB .Net managed provider, and after checking the NLS_LANG client registry parameter?

  •  06-10-2006, 09:13 18145 σε απάντηση της 18135

    Απ: Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

    Sto eipa oti einai apo to server giati mallon den exeis swsta codepages...

    ax 10 xronia foyrnaris apo thn 7.0 pedeyomai....
    Γιώργος Σακαλής
  •  06-10-2006, 09:25 18147 σε απάντηση της 18145

    Απ: Πρόβλημα με τους ελληνικούς χαρακτήρες από oracle database

    Γιώργο δίκιο είχες, αλλά η κεντρική Βάση Δεδομένων της εταιρίας μου δεν αλλάζει. Έτσι αυτό που ζητούσα ήταν μία εναλλακτική λύση για να βλέπω τα ελληνικά και αυτή είναι η χρήση των OLEDB Provider είτε της Micrososft είτε της Oracle.

    Πάντως σας ευχαριστώ όλους για την βοήθειά σας.

Σελίδα 2 από 2 (21 εγγραφές)   < 1 2
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems