Καλημέρα προσπαθώ να φτιάξω ενα προγραμματάκι να εκτελώ καποιό 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 άλλα τζίφος....