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

 

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

Εκτέλεση SQL Script με ελληνικά ....

Îåêßíçóå áðü ôï ìÝëïò lakis. Τελευταία δημοσίευση από το μέλος happiness στις 01-06-2009, 12:03. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  21-01-2005, 11:09 949

    Angry [:@] Εκτέλεση SQL Script με ελληνικά ....

     Καλημέρα προσπαθώ να φτιάξω ενα προγραμματάκι να εκτελώ καποιό script σε μία βάση MS  SQL. Το πρόβλημα είναι ότι μέσα στο script έχω πίνακες και πεδία μέ ελληνικό όνομα όποτε το script μου (c:\test.sql) έχει ελληινκούς χαρακτήρες. Χρησιμοποίω τον παρακάτω κώδικα (με SQLDMO.DLL) για να εκτελέσω το script, αλλά επειδή η IO.File.OpenText το ανοίγει σε  UTF-8 encoding όλοι οι ελληνικοί χαρακτήρες γίνονται "_" οπότε και βαράει το script. Υπάρχει άλλος τρόπος να εκτέλεσω ένα script;
    Όπου ServerName είναι ο SQL Server μου πχ. (local)
    χρειάζεται:

    Imports System.IO

    Dim dmoServer As New SQLDMO.SQLServer
    dmoServer.LoginSecure =
    True
    dmoServer.Connect(ServerName)

    Dim filSqlScript As IO.StreamReader
    strPathToFile = "C:\test.sql"
    filSqlScript = IO.File.OpenText(strPathToFile)
    dmoServer.Databases.Item(0).ExecuteImmediate(filSqlScript.ReadToEnd)
    filSqlScript.Close()
    dmoServer.DisConnect()

    Προσπάθησα να μετρατρέψω το encoding άλλα τζίφος....

  •  21-01-2005, 12:40 950 σε απάντηση της 949

    Re: Εκτέλεση SQL Script με ελληνικά ....

    Για δοκίμασε το έτσι! Το ανοίγω με encoding 1253. 



    Imports System.IO

    Dim dmoServer As New SQLDMO.SQLServer
    dmoServer.LoginSecure = True
    dmoServer.Connect(ServerName)

    strPathToFile = "C:\test.sql"
    Dim filSqlScript As New StreamReader(strPathToFile, Encoding.ASCII.GetEncoding(1253))
    dmoServer.Databases.Item(0).ExecuteImmediate(filSqlScript.ReadToEnd)
    filSqlScript.Close()
    dmoServer.DisConnect()

     

    There are 10 types of people in this world... Ones that understand binary and the ones that don't.
  •  21-01-2005, 12:59 951 σε απάντηση της 950

    Re: Εκτέλεση SQL Script με ελληνικά ....

    Πάντα ήσουν ΤΕΡΑΣΤΙΟΣ !!!!

    thnks a lot!
    Big Smile
  •  21-01-2005, 13:13 952 σε απάντηση της 951

    Re: Εκτέλεση SQL Script με ελληνικά ....

    Αντε ρε.... Stick out tongue
    Είδα που νευρίασες (το icon του μηνύματος) και είπα να σε χαλαρώσω!!!
    Big Smile

    There are 10 types of people in this world... Ones that understand binary and the ones that don't.
  •  21-01-2005, 17:46 954 σε απάντηση της 952

    Re: Εκτέλεση SQL Script με ελληνικά ....

    Έχε υπόψη σου ότι υπάρχουν διάφορα μέσα στο enumeration. Οταν μιλάμε για ANSI αρχεία (1 byte characters) καλό θα ήταν να χρησιμοποιούμε το


    New StreamReader(strPathToFile, System.Text.Encoding.Default)
     

    μιας και φέρνει πίσω την κωδικοσελίδα του συστήματος για τον χρήστη που τρέχει το πρόγραμμα, που συνήθως είναι αυτή που θέλουμε .

    G.J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  21-01-2005, 17:56 955 σε απάντηση της 954

    Re: Εκτέλεση SQL Script με ελληνικά ....

    Θα διαφωνήσω...
    Συνήθως θέλουμε αυτή που βγήκε το αρχείο και όχι αυτή που μπορεί να έχει ο client! Wink

    There are 10 types of people in this world... Ones that understand binary and the ones that don't.
  •  27-09-2005, 13:56 5759 σε απάντηση της 954

    Απ: Re: Εκτέλεση SQL Script με ελληνικά ....

    Έτσι απλά JDED, Ευχαριστώ πολύ, το GetEncoding(... με μια μικρή παραλλαγή αντί 1253 -> 737), καθώς ήθελα να διαβάσω κείμενο DOS με έσωσε.

    Έτσι...
    StreamReader sr;
    sr = new StreamReader("myfile.txt",Encoding.GetEncoding(737));
    Debug macht frei.
  •  01-06-2009, 12:03 51180 σε απάντηση της 5759

    Απ: Re: Εκτέλεση SQL Script με ελληνικά ....

    tzarot:
    (... με μια μικρή παραλλαγή αντί 1253 -> 737), καθώς ήθελα να διαβάσω κείμενο DOS
    Και συ έσωσες εμένα :)
    Χίλια ευχαριστώ!

    Τελικά αυτό το domain έχει κι άλλα καλά πράματα εκτός από τον Ζαχαρία ;)
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems