rss twitter linkedin facebook facebook

ADO.NET ile Veri Tabanı Bağlantısı

9. Ocak 2011

.NET Framework 3.5 ile LINQ teknolojisi ve sonrasında Entity Framework gelmiş ve bunun üzerinden uzun süre geçmiş olsa da, günümüz şirketlerinin çoğu IT konularında ADO.NET teknolojisini kullanmaya devam emekteler. Çünkü, IT konusunda uzun süre kullanılan ve kararlılığı test edilmiş teknolojileri kullanmak, devamlılık ve performans konusunda en iyi çözümdür. Bunun üstünde sunucuların özelliklerine bağlı olarak maliyetleri de gelince ADO.NET en ekonomik çözüm olarak gözükmektedir.

Sözü daha fazla uzatmadan kod kısmına geçmek istiyorum:

SqlConnection conn = new SqlConnection("Data Source=(local); 
Initial Catalog=Northwind;Integrated Security=SSPI"
); SqlDataReader rdr = null; try { SqlCommand cmd = new SqlCommand("select * from Customers", conn);
conn.Open(); rdr = cmd.ExecuteReader(); while (rdr.Read()) Console.WriteLine(rdr[0]); } finally { if (rdr != null) rdr.Close(); if (conn != null) conn.Close(); }

 

Ancak verinin tek yerde olması, güveli olması vb durumlardan ötürü Connection string web.config dosyası içinde de saklanabilir.

<connectionStrings>
  <add name=”connStringconnectionString=”Data Source=(local);
Initial Catalog=Northwind; Integrated Security=SSPI
providerName=”System.Data.SqlClient/> </connectionStrings>

Bu durumda connection string verisini şu şekilde çekebiliriz:

ConnectionStringSettings cs = 
ConfigurationManager.ConnectionStrings[“connString”]; SqlConnection conn = new SqlConnection(cs.ConnectionString); //............................................

İlla sorgu kod tarafından gönderilme zorunluluğu yoktur. Store Prosedure ler ile de işlemler yapılabilir. O nu da şu şekilde ayarlıyoruz:

SqlCommand cmd  = new SqlCommand("dbo.sp_deneme", conn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter("@Id", Id));

 

 
Yukarıdaki işlemileri tamamladıktan sonra gelen veriyi GridView, DropDownList gibi componentlere yükleyerekamacımıza ulaşmış oluruz.



SQL, .NET , , , ,

mysqldump

21. Ekim 2010

Mysql veritabanındaki verilerinizi herhangi bir görsel arayüz kullanmadan, sadece komut satırını kullanarak yapmak istiyorsanız imdadımıza mysqldump komutu yetişmektedir.

Mysqldump, herhangi bir mysql sürümü ile bilgisayarına kopyalanmaktadır. Windows işletim sistemlerinde otomatik olara aşağıdaki dizine kurulmaktadır.

C:\Program Files\MySQL\MySQL Server 5.1\bin

 

Biraz olsa da komutun aldığı parametreler ile kullanış şekillerini size tanıtmak istiyorum:

mysqldump -u [user] -p [db_name] > backup.sql

—> “user” kullnıcı ismini kullanara db_name isimli veri tabanını backup.sql isimli dosyanın içine al. Bu işlemi yaparken şifre sorar.

Temel kullanım yukarıdaki gibidir. Fakat farklı parametreler de gelebilir:

  • --pass=[password]
  • --host=[host_name]  veya  -h [host_name]
  • --add-drop-table
  • --add-drop-database
  • --add-locks
  • --dump-date
  • --lock-all-tables  veya  -x
  • --port=[port_num]
  • --skip-comments
  • --tables

 

Yukarıda yazdıklarım genelde benüm kullandıklarım. Bunlar gibi daha onlarcası bulumakta. Devamı için mysql development sayfalarını kontrol edebilirisiniz.

Mysqldump fonksiyonun tersi mysqldir.

mysql db_name < backup-file.sql


SQL ,

C# ile Komut Satırı Kullanımı (mysqldump, mysql)

7. Ekim 2010

Yazılımlar sayesinde bilgisayarlar üzrindeki çoğu işimizi arayüzler sayesinde hallediyoruz. Aslında bizim arayüzlerden hallettiğimiz şeyler yalnızca sistem komutlarını tetikleyecek çağrılar. İşin esas mutfağında (Windows/Linux işletim sistemleri) komut yazmak için ekranlar açılarak gerekli komutların çağrılması sağlanır. Örn: IDE aracılığı ile bir C programı derlerken, IDE derleme komutlarını (gcc, g++ gibi) komutları kendisi çağırır.

Java veya Microsoft temel kütüphaneleri bu fonksiyonları biliyorsa hiç sıkıntı yok. Kendi içlerinde bunlar için hazır fonksiyonlar vardır.

Java için inceleme şansı bulamadım. Ancak C# dilinde şöyle bir sorunla karşılaştım: mysql veri tabanı yedeklemek için “mysqldump” adında bir komutu çalıştırmam gerekiyordu. Yani microsost hazır komutlarından değil, mysql kurulumu ile birlikte gelen komutlardan. Ve bu işlemi komut satırını açtırtarak yapmam gerekiyordu.

Uzun araştırmakarım sonucunda şu şekilde bir kod parçacağı yazdım:

string veriAlma = "mysqldump -u root --password=pass dbname table > c:/t.sql";

Process Process = new Process();
ProcessStartInfo ProcessInfo;
ProcessInfo = new ProcessStartInfo("cmd.exe", "/C " + veriAlma);
ProcessInfo.CreateNoWindow = true;
ProcessInfo.UseShellExecute = false;

Process = Process.Start(ProcessInfo);
Process.WaitForExit();
Process.Close();

İşlem başarıyla gerçekleşiyor.

Bu işlemde cmd.exe ile açılacak olan komut satırını kullanacağımız için cmd.exe kullanıldı. Onun yerine farklı uygulamalar açılmak istenirse farklı komutlar kullanılabilir. Örn: msconfig.exe

 

Önemli bir not: mysqldump komutu bu şekilde çalıştırmak için mysqldump.exe dosyası System32 altına taşınmıştır.



C#, SQL , ,

Java - MySQL Veri Tabanı Bağlantısı

30. Aralık 2009

Microsoft teknolojilerini benimsemiş ve bunları kullanarak projeler geliştiren biri olarak, yazdığım programın kod kısmında veri tabanı bağlantıları ile uğraşmam.

Ancak bu yazımda, daha önceki yazılarımda da bahsettiğim dönem projemde karşılaştığım ve internette aramak zorunda kaldığım durum: Java içinde MySQL veri tabanı bağlantılası yapma konusunu. Aslında çok kolay. Yine de sizle paylaşmak istedim.

Connection dbConn = null;
String dbUserName = new String("root");    //Veri tabanı kullanıcı adı
String dbPassword = new String("root");    //Veri tabanı şifresi
String dbURL = new String("jdbc:mysql://127.0.0.1/blg361g02"); //Veritabanı yeri

try
{ Class.forName("com.mysql.jdbc.Driver").newInstance(); dbConn = DriverManager.getConnection(this.dbURL, this.dbUserName,
this.dbPassword); //Bağlantının sağlandığı satır System.out.println("Database connection established"); } catch (Exception e) { System.err.println("Cannot connect to database server"); }

JAVA, SQL