Error establishing a database connection

Yukarıdaki Error establishing a database connection hatasını aldığınızda, phpMyAdmin, veritabanına bağlanamıyor demektir. Bunun en büyük nedenlerinden biri de şifrenizi değiştirmeniz olabilir. Kullandığınız sistem; WordPress, Blogspot tarzı hazır bir sistemse, siz bu sistemlerin, config dosyalarına veritabanı adı ve şifrenizi yazarsınız. Ancak sonradan yapacağınız değişikliklerde giriş izni ortadan kalkacaktır. Bu da yukarıdaki hatayı almanıza sebep olabilir.

Çözüm için değiştirdiğiniz şifreyi, config dosyalarınızdan güncelleyiniz.

Sorunsuz klasör şifreleme

Bazen kullandığınız ortak bilgisayarda başka kullanıların görmemesi gereken klasörler olabilir. Bu klasörleri gizlemek ya da şifrelemek istersiniz. Bir klasörü gizlemek bu sorun için yapılabilecek en basit ve en güvensiz çözümdür. Keza kullanıcı “gizli dosyaları göster” diyerek, ulaşılmasını istemediğiniz klasöre erişebilir. En güvenli çözüm klasörü gizlemektir, bunun için piyasada bir çok program bulunmaktadır. Fakat bir çoğu sorunludur; format attığınızda dosyalarınıza ulaşamazsınız, şifrenizi unutabilirsiniz vb. Şimdi size aşağıda vereceğim kod bloğu ile tüm bu sorunlardan kurtulabilirsiniz.

Yapmanız gereken, aşağıda kodlarını okuyabildiğiniz, güvenli kodu bir notepad aracılığı ile açmak ve *.bat olarak kaydetmek olacaktır. Aşağıda kırmızı ile gösterdiğim kısım, şifrenizi yazacağınız kısımdır. Bu *.bat olarak kaydetme olayını biraz daha açıklamamız gerekirse, bir notepad açıp aşağıdaki kodu kopyalayın. Ardından dosya özelliklerinden uzantıları göster yapıp, *.txt olan uzantıyı *.bat çevirebilirsiniz. Dosyaya vereceğiniz isim önemli değildir. Bir diğer yol notepad ekledikten sonra, farklı kaydet diyerek, dosya uzantısına ilhan.bat gibi bir isim verebilirsiniz.

Bu uzantı değiştirmeyi yaptığınızı varsayarak devam ediyorum. Şimdi ise aşağıda kırmızı olarak işaretlediğim kısma şifrenizi yazıyorsunuz. Daha sonra bu oluşturduğunuz bat dosyasını açıyoruz. Tıkladığınız yerde ilhanbaharCom adlı bir klasör oluşturacaktır. Bu klasörün içersine gizlemek istediğiniz dosyaları atıyorsunuz. Daha sonra dosyamıza bir kez daha tıkladığımızda klasör hem gizleniyor hem de şifrelenmiş oluyor. Tekrar dosyalara ulaşmak istediğinizde, oluşturduğunuz dosyaya tekrar tıklayarak şifrenizi yazıp açabiliyorsunuz. Bu kadar basit. Takıldığınız yerleri yine sorabilirsiniz.

2 saatte bir mail atan Windows Servis

Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz. BilgisayarımYönetHizmetler gelerek bahsettiğim hizmetleri görebilirsiniz. Projemde bana lazım olan 2 saatte bir kontrol yapan, bir Windows servis yazacağız.

Yazacağımız Windows servis, bir Timer aracılığı ile  Mssql veritabanımızı kontrol edip, istediğimiz koşul gerçekleştiğinde, mail gönderecektir. Sanırım burada açıklamaktansa kodları yazmak daha anlaşılır olacaktır.

Bu arada mail gönderme kısımlarını değiştirdim, oraları kendi server bilginize göre düzenlersiniz. Aşağıdaki kodları Setup olarak kurup, istediğiniz server‘da çalıştırabilirsiniz.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using System.Data.SqlClient;
using System.Net.Mail;
using System.Net;

Kullanışlı DAL(Data Access Layer) ile connection cümlesi

Bugün şirket için yazılan DLL‘e eklenmek üzere, bir fonksiyon yazdım. Bu fonksiyonu kendi projelerimde de DAL içersinde fonksiyon olarak kullanıyorum. Tamamen kodun dinamikleşmesine dönük, fonksiyona gönderilen 2 tane string dizi ve bir tane normal string olmak üzere 3 parametre almaktadır. Bu parametlerden ilk string dizi, istenilen sayıda alan adının alınmasını sağlarken, diğer dizi istenilen sayıda tablodan çekilmesini sağlamaktadır. Son kısımda girilen şart string‘i ise “where” olarak girebileceğiniz, koşulu belirtmektedir. Son şart stringine boş değer göndererek sadece select ifadesinin çalışmasını sağlayabilirsiniz. Bu fonksiyonda bir kaç ufak değişiklik yaparak, INSERT, UPDATE işlemlerini de daha dinamik bir hale getirip, burada paylaşacağım.

public static SqlConnection conn = new SqlConnection(@”data source=GIFTEDSQLEXPRESS;integrated security=sspi;initial catalog=Ticket”);
public static DataTable Baglan(string[] alanAdlari, string[] tabloAdlari, string Sart)
{
string alanToplam = “”;
string tabloToplam = “”;
int say = 0;
//Gelen alan adlarının içeriğini bu kısımda birleştiriyoruz
foreach (var item in alanAdlari)
{
alanToplam = alanToplam + “[” + alanAdlari[say] + “]” + “,”;
say++;
}
alanToplam = alanToplam.Remove(alanToplam.Length-1,1);
say=0;
//Gelen tablo adlarının içeriğini bu kısımda birleştiriyoruz
foreach (var item in tabloAdlari)
{
tabloToplam = tabloToplam + tabloAdlari[say] + “,”;
say++;
}
tabloToplam = tabloToplam.Remove(tabloToplam.Length – 1, 1);
say = 0;

SqlCommand comm = new SqlCommand(“SELECT ” + alanToplam + ” FROM ” + tabloToplam + ” WHERE ” + Sart +””, conn);

Arama
RSS
Beni yukari isinla