Bunu yanıtlamayı çok zor buldum ama sonunda anladım. Bu yüzden aşağıdaki adımları yazacağım.
Bağlantı dizenizi kodda ayarlamadan önce, veritabanınıza gerçekten erişebildiğinizden emin olun. Kullanmak istediğiniz her türlü ayrıntıyı kullanarak erişime sahip olduğunuzdan emin olmak için yerel olarak SSMS (Sql Server Management Studio veya diğer veritabanlarındaki eşdeğeri) kullanarak veritabanı sunucusunda oturum açarak başlayın.
Ardından (gerekirse), veritabanına ayrı bir sunucu üzerinden erişmeye çalışıyorsanız, SSMS'de de aynı şeyi yapabileceğinizden emin olun. Bu nedenle, bir bilgisayarda SSMS'yi kurun ve sunucuya bu veritabanı sunucusunun kullanıcı adı ve parolasıyla erişebildiğinizden emin olun.
Yukarıdaki 2'yi doğru anlamazsanız, veritabanına erişemediğiniz için zamanınızı boşa harcarsınız. Bunun nedeni, kurduğunuz kullanıcının yanlış olması, uzaktan erişimin etkin olmaması (gerekirse) veya bağlantı noktalarının açılmaması (gerekirse) olabilir, ancak bunlar en yaygın olanıdır.
Veritabanına SSMS kullanarak erişebileceğinizi doğruladıktan sonra. Sırf süreci otomatikleştirmek ve hatalardan kaçınmak için bir sonraki adım, sistemin işi sizin yerinize yapmasına izin vermektir.
- Boş bir proje başlatın, Linq seçiminizi SQL'e veya Veri Kümesine ekleyin (EF iyidir, ancak bağlantı dizesi bir EF con dizesinin içine gömülüdür, temiz bir tane istiyorum) ve yukarıda doğrulanan ayrıntıları kullanarak veritabanınıza bağlanın. dolandırıcılık sihirbazı. Herhangi bir tablo ekleyin ve dosyayı kaydedin.
Şimdi web yapılandırmasına gidin ve sihirli bir şekilde, ihtiyacınız olan tüm ayrıntılarla birlikte güzel ve temiz çalışan bağlantı dizesini göreceksiniz.
{Aşağıda eski bir gönderinin bir parçası vardı, bu yüzden bunu görmezden gelebilirsiniz, veritabanına yalnızca arkadaki koddan erişmenin en basit yolu olarak onu referans olarak bırakıyorum. Lütfen aşağı kaydırın ve aşağıdaki 2. adımdan devam edin. }
Yukarıdaki adımların, arkasındaki kodda bağlantı dizeniz olarak aşağıdakine benzer bir şeyle sizi başlattığını varsayalım:
string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
Bu adım çok önemlidir. Aşağıdaki adımları uygulamadan önce, yukarıdaki bağlantı dizesi biçiminin çalıştığından emin olun. Bir bağlantı dizesi yapmanın en basit yolu bu olduğundan, verilerinize bir tablodan bazı verileri etiketler veya metin satırları veya her neyse görüntüleyen bir tür sql komut metni kullanarak erişebildiğinizden emin olun.
Yukarıdaki stilin çalıştığından emin olduktan sonra, şimdi sonraki adımları atmanın zamanı geldi:
1. Dize değişmezinizi (tırnaklar dahil , tırnaklardaki şeyler ) web.config dosyasının aşağıdaki bölümüne aktarın (birden çok bağlantı dizesi için, birden çok satır yapın:
<configuration>
<connectionStrings>
<add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
{Yukarıdakiler eski bir gönderinin parçasıydı, ilk 3 adımı uyguladıktan sonra tüm bu işlem sizin için yapılacaktır, böylece onu görmezden gelebilirsiniz. Sadece kendi referansım için buraya bırakıyorum. }
2. Şimdi aşağıdaki kod satırını arkadaki C # koduna, tercihen sınıf tanımının hemen altına ekleyin (yani bir yöntemin içine değil). Bu, projenizin kök klasörüne işaret eder. Esasen proje adıdır. Bu genellikle web.config dosyasının konumudur (bu durumda projeme MyProject denir.
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3. Şimdi aşağıdaki kod satırını arkadaki C # koduna ekleyin. Bu, farklı yöntemlerde bir yapılandırmaya ihtiyacınız olursa, kodunuz boyunca birçok yerde başvurabileceğiniz bir dize sabiti oluşturur.
const string CONSTRINGNAME = "conString";
4. Ardından aşağıdaki kod satırını arkadaki C # koduna ekleyin. Bu, bağlantı dizesini web.config dosyasından conString adıyla alır (yukarıdaki sabitten)
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5. Son olarak, başlangıçta bu kod satırına benzer bir şeye sahip olacağınız yerde:
SqlConnection con = new SqlConnection(conString)
bu kod satırıyla değiştireceksiniz:
SqlConnection con = new SqlConnection(conString.ConnectionString)
Bu 5 adımı uyguladıktan sonra kodunuz daha önce olduğu gibi çalışmalıdır. İlk önce yorumlamayı orijinal biçiminde test etme nedeninizi anlayın, böylece bağlantı dizesiyle ilgili bir sorun mu yoksa kodla ilgili bir sorun mu olduğunu bilirsiniz.
C #, ASP.Net ve Sql Sunucusunda yeniyim. Bu yüzden, bu kodu yapmanın daha iyi bir yolu olması gerektiğinden eminim. Mümkünse bu adımların nasıl iyileştirilebileceğine dair geri bildirimlerimi de takdir ediyorum. Her yerde böyle bir şey aradım ama haftalarca süren sıkı çalışmalardan sonra sonunda anladım. Kendim baktığımda, hala daha kolay bir yol olması gerektiğini düşünüyorum.
Umarım bu yardımcı olur.