Forum
Merhaba arkadaşlar,
www.yyy.com şeklinde bir web sitemiz var ve bu site üzerinde vb.net ile yazılmış bir proje çalışıyor. Fakat projenin kullandığı database başka bir sunucuda share edilmiş durumda. Ben web sitesini lokalimde çalıştırdığımda veritabanına bağlanıp günceleştirme, ekleme çıkarmaları vs işlemeri yapabiliyorum. Fakat host a attığımda bu çalışmıyor ve bağlantıda hata veriyor. Verdiği hata mesajı :
A network-related or instance-specific error occurred while
establishing a connection to SQL Server. The server was not found or
was not accessible. Verify that the instance name is correct and that
SQL Server is configured to allow remote connections. (provider: SQL
Network Interfaces, error: 26 - Error Locating Server/Instance
Specified)
şeklinde. veritabanının olduğu sunucudaki ayarlar tam. Yani ayarlar düzgün olmasa ben yada bir başkası bu web sayfasındaki projeyi kendi lokalinde çalıştırdığında veritabanına bağlanamaz diye düşünüyorum yanılıyormuyum?sorun sadece bunu bir web sayfasına kopyaladığımızda çıkıyor.
kullandığım connection string şu şekilde.
<add name="BaglanConnectionString" connectionString="Data Source=95.9.x.x\SQLEXPRESS;Initial Catalog=vt1;User ID=sa;Password=xxxx;" providerName="System.Data.SqlClient"/>
sacaba nerede hata yapıyoruz?
sorun sql server ıd ve sıfre ayarları ıle alakalı gıbı gorunuyor soyle anlatayım sql server gırıs ıcın kullanıcı adı ve sıfre bolumu var bunları gırmezsenız dogal olarak baglantı saglayamazsınız
Merhaba hocam, bahsettiğiniz kullanıcı adı ve şifre connection strings de tanımlı zaten (webconfig dosyası) ve o kullanıcı adı şifreyle ben ister herhangi bir bilgisayardaki sql management ı açıp ip adresi ve instance name yazarak istersemde proje dosyasını yine herhangi bir bir bilgisayarın lokalinde visual studio da açıp run ederek girebiliyorum.
Yani her iki durumda da user/pass ve ulaşmaya çalıştığı sql server a ulaşılıyor. Problem bunu bir hosting e attığımda çıkıyor. Yani internette bulunan bir hosting şirketinden siteyi yayınlamaya çalıştığımda bu hatayı alıyorum.
sunucu connstring de SQl Express yerine direk ip yazarak denermisin? (diğer bilgilerin doğru olduğunu varsayıyorum)
Karşı sunucudaki SQL e Managament Studio ile bağlanırken hangi ip adresini kullanıyorsanız connection string bölümünde o olmalı buradaki, SQL Express localde arıyor sanırım.
denedim hocam hata aynı. IP ile denedim, başına http koydum, slahları (/) ters yazdım \\ yazdım bir sürü kombinasyon denedim olmadı
Karşı sunucudaki SQL e Managament Studio ile bağlanırken hangi ip adresini kullanıyorsanız connection string bölümünde o olmalı buradaki, SQL Express localde arıyor sanırım.
hocam aynı ip adresi yazıyor zaten. yani sql management ın login bölümünde ne varsa con.stringde de aynısı yazılı (ıp,user,pass vs)
tekrar altını çizmek istiyorum, ben bu projeyi visual studio da yani lokalde açtığımda nereden ve hangi internet hattında olursam olayım bağlanabiliyorum.. (aynı connection string, aynı parametreler, aynı user aynı pass vs...)
sorun bu proje dosyasını bire bir internet sitesine kopyaladıktan sonra meydana geliyor
Oradaki \SQEXPRESS i de silip deneyin. sadece ip adresi kalsın <add key="ConnStr" value="Data Source=127.0.0.1; yani buradaki 127.0.0.1 yerine remote ip olacak.
yinede olmuyorsa telnet ile sunucunun 1433 ip adresine erişebiliyor musunuz
Oradaki \SQEXPRESS i de silip deneyin. sadece ip adresi kalsın <add key="ConnStr" value="Data Source=127.0.0.1; yani buradaki 127.0.0.1 yerine remote ip olacak.
merhaba hocam, cevap için teşekkürler. lakin benim con.stringe dikkat ettinizmi bilmiyorum data sourse kısmında zaten bir reel ip adresi yazıyor 95.ile başlayan. ben bu strings ile kendi bilgisayarımdan bağlanabiliyorum ve sql benim lokal makinemde değil yine uzak lokasyonda. yani notebokdan bağlanıyor ama internet sitesine atınca bağlanmıyor.
sqlexpress i sildim yine aynı değişmedi.
connectionString="Data
Source=95.9.x.x\SQLEXPRESS;Initial Catalog=vt1;User
ID=sa;Password=xxxx;" providerName="System.Data.SqlClient"/>
hosting firması ile görüştüm, onlarmı engelliyor acaba diye. Bizim öyle bir engelimiz yok çalışır dediler. Hatayı onlara söyledim sqlexpress kullandığınızdan olabilir sql server ile deneyin diye bir cevap verdiler ama bana hiç inandırıcı gelmedi. sizce böyle birşey olabilir mi? yani aynı port aynı servisler sırf express olduğu için çalışmıyor olabilir mi?
DOSTUM SENİN yapman gereken hosting firmasından örnek bir dosya istemen. bağlantıyla ilgili olarak örnek bir dosya göndersinler. ayrıca panelden klasör ve veritabanı erişim izinlerinide kontrol etmende fayda görüyorum.
SQL Express kullandığınız içinden kasıtları nedir anlamadım. SQL server zaten karşı sunucuda sizin localinizde ne olduğunun bir önemi yok. Bu hata karşı sunucuyu bulamadığını söylüyor. Dediğim telnet komutu ile ilgil porta bağlanabiliyor musunuz kontrol edermisiniz. (sitenin bulunduğu sunucudan test edilmesi gerekli)
hocam sunucu tarafından test ettirdik telnet bağlanmıyor.
Kendi networkünüzde bir firewall engeli yoksa erişim sorununu karşı taraf çözmeli yinede sorunu daha detaylandırmak için web sitenizin çalıştırğı sunucu üzerinden SQL sunucusuna tracert komutu ile sorgu gönderip hedefe ulaşabiliyormusunuz onu kontrol edin eğer ulaşamıyorsanız hangi hope üzerinde takıldığını bulup firmaya bilgi verin.