Sql Server için port tanımlama nasıl yapılır?
Yazının başlığına bakıpta aslında çıkış noktamın Sql Server ile ilgili olduğunu sanmayın. Zira yazı, her ne kadar Sql Server konfigürasyonu ile ilgili olsa da, Java ile SqlServer’ı konuşturmaya çalışırken karşılaştığım bir durumu not düşmek için kaleme alındı.
Bilmeyenler için hemen hatırlatalım, Sql Server‘ı bilgisayarınıza kurduğunuzda standart port numarası olarak 1433 numaralı portu kullanır (Benim kurduğum MS Sql Server 2005 Developer Edition). Eğer siz de makinenizde birden fazla Sql Server kullanmak zorunda kalacaksanız kurulum esnasında Instance Name – Örnek Ad kullanarak kurulum yapmanız gerekiyor. Bu durum kod yazarken connection stringinizin biraz daha farklı yazılmasını gerektiriyor.
Java uygulamam için gerekli olan bağlantı yolunu Instance Name‘i de düşünerek aşağıdaki gibi oluşturdum.
String connectionUrl = “jdbc:sqlserver://localhost:1433;instanceName=SQL2005INSTANCE;user=kullaniciAdim;password=parolam; databaseName=DatabaseAdim;”;
Uygulamamı çalıştırdığım zaman yazımıza konu olan hata aşağıdaki gibi karşımda belirdi.
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: “Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.”.
Hataya bakacak olursak port ile ilgili bir sıkıntıdan kaynaklandığı oldukça açık. Fakat nasıl düzeltilecek?
Öncelikle yapılması gereken ilk şey Sql Server’ın gerçekten bu port üzerinden çalışıp çalışmadığını kontrol etmek. Bunun için bilgisayarımın başlat menüsünden Sql Server 2005 > Configuration Tools > Sql Server Configuration Manager‘ı açıyorum. İşte sorunun kaynağı! SQL2005INSTANCE için protokolde TCP/IP Disabled durumda ve hangi portu kullandığını da bilmiyorum.
Hemen TCP/IP menüsüne tıklıyorum ve IP Address sekmesinden IPAll alanındaki TCP Port alanına 1433 girdim, Protocol sekmesinden de Enables özelliğini Yes yaptıktan sonra aşağıdaki mesajı aldım. Yaptığım işlemin geçerli olması için Sql Server’ı yeniden başlatmam gerektiğine dair bir mesajdı bu.
Bunun için SQL Server 2005 Services seçeneği içerisinden kullandığım Sql Server Instance’ını restart ettim.
Ve sonuç… Java ile Sql Server’ım sorunsuz olarak konuşabiliyorlar.
Benzer Yazılar
DeliPenguen'i Google+'da bulun