c# içerisinden sql çalıştırmak. etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
c# içerisinden sql çalıştırmak. etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

28 Ocak 2012 Cumartesi

C# ile Sql Script Çalıştırmak

Bazen programlarımızda sql scriptleri program üzerinden çalıştırmaya ihtiyac duyabiliriz. Bu durumda fiziksel bir yol üzerinde bulunan sql scriptimizi program içerisinden okuyarak ve metodumuz ile çalıştırarak işlemi gerçekleştirebiliriz.

okuma işlemimizi fileinfo sınıfını kullanarak aşağıdaki şekilde scripti string bir değişken içerisine aktararak gerçekleştiriyoruz. burada scriptimizin bulunduğu yolu veriyoruz ve ReadToEnd ile okunmasını sağlıyoruz.


FileInfo file = new FileInfo("C:\\Script.sql");
string scripttext = file.OpenText().ReadToEnd();


Metodumuz

protected virtual void ExecuteScript(SqlConnection connection, string script)
        {
            string[] commandTextArray = script.Split(new string[] { "GO" }, StringSplitOptions.RemoveEmptyEntries);
            connection.Open();
            foreach (string commandText in commandTextArray)
            {
                if (commandText.Trim() == string.Empty) continue;
                SqlCommand command = new SqlCommand(commandText, connection);
                command.ExecuteNonQuery();
             
            }
            connection.Close();
        }

Okuma işlemi gerçekleştirildikten sonra metodumuzu kullanabiliriz.

ExecuteScript(baglanti, scripttext);

Not: bağlantımız örnek olarak  sqlconnection baglanti=new sqlconnection(); şeklinde tanımlanmış bir bağlantı olabilir. Kolay gelsin...