C# Mysql uzak sunucu bağlantısı.

_Albay_

Öğrenci
Katılım
2 Nisan 2013
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Merhaba arkadaşlar ben c# ile ilgili bir proje yapıyorum mysql veritabanımı uzak sunucuda tutmam lazım ama bir türlü bağlanamadım yardmcı olabilirseniz sevinirim.
Kod:
 MySqlConnection baglan = new MySqlConnection("Server=93.89.225.158;Database=veriler;User=root;Password=www;");
Bağlantı cümlesi bu şekilde. Daha farklılarını da denedim ama olmadı. cpanelde ne gibi ayarlar yapmak gerekiyor ?
Şimdiden teşekkürler.
 

İOS

Asistan
Katılım
17 Aralık 2011
Mesajlar
340
Reaksiyon puanı
0
Puanları
16
cevabı bende merak ediyorum
 

hokumus

Asistan
Katılım
15 Mayıs 2012
Mesajlar
173
Reaksiyon puanı
3
Puanları
18
Selamlar,

@"SERVER=server_adres; DATABASE=database_adı; user id=kullanıcı_adı; PASSWORD=sifre; CharSet=latin5;";


Parantez içerisine yukarıda bulunan satırı ekle ve parametre değerlerini kendi bilgilerin ile değiştir.
Bu şekilde bağlanabilirsin.

Birde eğer yukarıdaki bağlantı bilgilerin gerçek değerleri içeriyor ise ip adresi db adı gibi bilgileri paylaşmamanı öneririm.

Takıldığın bir konu olursa yeniden görüşürüz.


Başarılar dilerim.
 

green_lion

Asistan
Katılım
19 Şubat 2006
Mesajlar
327
Reaksiyon puanı
5
Puanları
18
MySQL veritabanının olduğu makinede çalışıyormu? Bu sorunun cevabı herşeyi çözebilir.
 

orcnd

Dekan
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
63
remotesql.jpg
 

_Albay_

Öğrenci
Katılım
2 Nisan 2013
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Selamlar,

@"SERVER=server_adres; DATABASE=database_adı; user id=kullanıcı_adı; PASSWORD=sifre; CharSet=latin5;";


Parantez içerisine yukarıda bulunan satırı ekle ve parametre değerlerini kendi bilgilerin ile değiştir.
Bu şekilde bağlanabilirsin.

Birde eğer yukarıdaki bağlantı bilgilerin gerçek değerleri içeriyor ise ip adresi db adı gibi bilgileri paylaşmamanı öneririm.

Takıldığın bir konu olursa yeniden görüşürüz.
Başarılar dilerim.
Teşekkür ederim . Gerçek değerler değil. Dediğini yaptım şimdi ama yine olmuyor şöyle bir hata alıyorum "Unable to connect to any of the specified MySQL hosts."

- - - Mesaj Güncellendi - - -

MySQL veritabanının olduğu makinede çalışıyormu? Bu sorunun cevabı herşeyi çözebilir.
Evet hocam çalışıyor.

- - - Mesaj Güncellendi - - -

yaptım yine olmadı

- - - Mesaj Güncellendi - - -

şuradan .net modülünü indirin ilk önce http://dev.mysql.com/downloads/dotnet.html ve kurulumunu yapın.

daha sonra referans seçin ve import edin.

referans atadıktan sonra mysql connection deyimini kullanırsın.
Hocam bunu yaptım. Localhostta sorun yaşamıyorum ancak uzak sunucuya bağlanırken böyle bir hata alıyorum. "Unable to connect to any of the specified MySQL hosts." bir kaçkezde "bağlantı süresi aşıldı" gibisinden bir hata almıştım.
 

008taki

Asistan
Katılım
15 Nisan 2009
Mesajlar
380
Reaksiyon puanı
1
Puanları
18
tuhaf. ben sorun yaşamamıştım. localhostta çalışan normalde uzak serverlada çalışır problem olmaz.
 

_Albay_

Öğrenci
Katılım
2 Nisan 2013
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Kod:
MySqlConnection baglan = new MySqlConnection(@"SERVER=siteadi.com; DATABASE=veritabani; user id=kullanici_adi; PASSWORD=sifre; CharSet=latin5;");

Daha sonrasında baglan.open() deyip açmaya çalışıyorum tamda burda hata veriyor.

Cpanelden de % ile hepsine izin verdim ama halen olmuyo daha doğrusu 7 gündür olmuyo.:crying:
 
S

SDN Okuru

SDN Okuru
Remote konusunda birazda bilgi verebilir misin. (lan- wan)
 

osetaman

Öğrenci
Katılım
23 Eylül 2009
Mesajlar
8
Reaksiyon puanı
0
Puanları
0
Remote konusunu açarmısın bağlnatı yaptığın alan lan mı wan mı ?
 

green_lion

Asistan
Katılım
19 Şubat 2006
Mesajlar
327
Reaksiyon puanı
5
Puanları
18
Ama dostum hata veriyor ne demek. Bak yardımcı olmak için kendimizi parçalıyoruz bildiğimiz şeyleri yazmaya çalışıyoruz. Şu hata mesajında ne yazdığını paylaş ta ne hatası olduğunu bilelim. Belki sen o makineye networkte hiç ulaşamıyosundur da sorun donanımsaldır. Kimbilir. Hata kodu olmadan herkes bişeyler yazacak ama sonuç olmayacak

Kod:
MySqlConnection baglan = new MySqlConnection(@"SERVER=siteadi.com; DATABASE=veritabani; user id=kullanici_adi; PASSWORD=sifre; CharSet=latin5;");

Daha sonrasında baglan.open() deyip açmaya çalışıyorum tamda burda hata veriyor.

Cpanelden de % ile hepsine izin verdim ama halen olmuyo daha doğrusu 7 gündür olmuyo.:crying:
 

_Albay_

Öğrenci
Katılım
2 Nisan 2013
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
teşekkür ederim. hata kodunu iki kez yazmıştım siz görmemişsiniz. "Unable to connect to any of the specified MySQL hosts." bağlantı yaptığım alan da WAN.
 

green_lion

Asistan
Katılım
19 Şubat 2006
Mesajlar
327
Reaksiyon puanı
5
Puanları
18
O zaman ben bildiklerimi dökeyim.

Öncelikle MySql bağlantı için karşı tarafa gitmeye çalışıyor burası ok. Yetki ve kullanıcı hesapları ile ilgili bir hata almıyorsun. Konu oraya kadar gelemiyor. Sanırım bağlanmayı bir süre denedikten sonra hata veriyor.

En başta bana sorarsan farklı bir mysql e bağlanmayı dene ve C# ile bu işlem senin yazdığın kodla çalışıyormu kısmını teyid et. Eğer çalışırsa aşağıda aklıma gelenleri yazıyorum. Adım adım gidersin.

Bir çok hosting sunucusu mysql in kullandığı 3306 portu kapalı tutar. Hostingde mysql ve msssql sunucularına dışarıdan direk bağlantı mantığı güdülmez. Sen web sitesi yapacaksan sonuçta hep içeriden bağlanacaksın demektir. Hosting ile sorunu çözmen gerekebilir.

Bazı zombi makinalar sürekli belli portları tarayıp açıkları kullanmaya çalıştığından hosting firman mysql portunu değiştirmiş ve başka porttan yayın yapıyor olabilir. 3306 yerine başka port olabilir.

Bazı hosting firmaları ise, mail sql gibi sunucuları farklı ip aralığında farklı şekillerde bulunduruyor olabilir. Bu yüzden ip adresi ile gittiğinde sana düzgün cevap vermeyebilir.

Mysql sunucun belki remote bağlantılar için kapalı olabilir. Hosting firması bunu açmana izin vermeyebilir. Sana açarlarsa herkese açılmış olur.

Bu sorunun cevabı aslında hosting firmanda. Eğer sana dışarıdan erişim vermiyorlar ise sende server üzerinde hangi dili kullanıyorsan (php, c#) o dilde ufak bir web service yazarak sorunu halledersin. Bu aşamaları geçip web service kısmına geldiğinde yardımcı olmaya çalışırım. Aynı zamanda en doğru yöntem budur. Sonuçta veritabanını ele güne açmamış olursun. Ara katman artı güvenlik sağlar.
 

_Albay_

Öğrenci
Katılım
2 Nisan 2013
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Hocam cevabınız için teşekkür ederim dediğiniz gibi bağlanmayı deneyeceğim.
 

CasperCrazy

Asistan
Katılım
23 Ağustos 2012
Mesajlar
122
Reaksiyon puanı
0
Puanları
0
MSSQL olsaydı yardımcı olurdum. Bu mysqlyi bende beceremiyorum.
 

hasimucler

Öğrenci
Katılım
25 Eylül 2013
Mesajlar
1
Reaksiyon puanı
0
Puanları
0
C# – mysql uzak erişim sorunu yaşıyorsanız,
1. plesk kullanıyorsanız hizmet aldığınız firmaya yazarsanız düzenleme yaparlar,
2. cpanel kullanıyorsanız remote mysql ayarlarından bilgisayarınızın ip sini yada hepsi için % yazmanız gerekecek.
3. bunlardan daha önemlisi mysql-connector (mysql.data.dll) ile sunucunuzdaki mysql sürümünün uyuşması gerekiyor.
mysql-connectorun son sürümünü yüklemeniz sorunu çözmüyor.
örnek benim cpaneldeki mysql sürümü 5.5 buna karşılık mysql-connector-net-6.3.7.msi yüklemeniz gerekecek.

şuanki son sürüm 6.7.4

kolay gelsin

- - - Mesaj Güncellendi - - -

örnek; sorunsuz çalışıyor

private void button1_Click(object sender, EventArgs e)
{
MySqlConnection cnn = new MySqlConnection("Data Source=sunucu ip;Database=bakalim;User ID=bakalim;Password=123;");
MySqlCommand cmd = new MySqlCommand("Select * from urunler", cnn);
try
{
cnn.Open();
MySqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
listBox1.Items.Add(dr["baslik"].ToString());
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
 

sdelta

Profesör
Katılım
23 Nisan 2008
Mesajlar
4,229
Reaksiyon puanı
140
Puanları
63
Bu arada connection stringine chartset=utf8 yazmazsan Türkçe karakter sorunu çekersin. Ayrıca listeleme yaparken order by işleminde de sql sorgusunun sonuna COLLATE utf8_turkish_ci yazmayı unutma.

Hayat kurtaran ipuçları :)
 
Üst