Bir SQL Server bağlantı dizesindeki "İlk Katalog" un amacı nedir?


91

Gördüğüm her SQL Server bağlantı dizesi şuna benzer:

Data Source=MyLocalSqlServerInstance;Initial Catalog=My Nifty Database;
    Integrated Security=SSPI;

İlk Katalog ayarına ihtiyacım var mı? (Görünüşe göre hayır, çünkü üzerinde çalıştığım uygulama onsuz çalışıyor gibi görünüyor.)

Peki o zaman ne için?


31
Hmmm, az önce uygulamamın oluşturduğum tüm tabloları ustaya koyduğunu keşfettim. Oops. Sorumun cevabını yeni öğrenmiş olabilirim.
Ryan Lundy

Yanıtlar:


53

Bağlantı dizesindeki kullanıcı adının birden fazla veritabanına erişimi varsa, bağlantı dizesinin bağlanmasını istediğiniz veritabanını belirtmeniz gerekir. Kullanıcınızın yalnızca bir veritabanı varsa, bunun önemli olmadığı konusunda haklısınız demektir. Ancak bunu bağlantı dizenize koymak iyi bir uygulamadır.


10
Pek doğru değil. Oturum açma, varsayılan veritabanında izinlere sahip olmayabilir. Bu nedenle, bağlantıdaki veritabanı bağlamını değiştirmeniz gerekiyor
gbn

Bu, -ConnectionStringName parametresini kullanarak belirtirseniz Entity Framework için gereklidir, bu nedenle kesinlikle iyi bir uygulamadır ancak bazen gereklidir!
James G

Lütfen bu cevabı başka kelimelerle ifade edebilir misiniz? İki kez okuduktan sonra hala anlamıyorum.
thatWiseGuy

33

Bu, bağlandığınızda veri kaynağının ilk veritabanıdır .

Netlik sağlamak için düzenlendi :

SQL Server örneğinizde birden çok veritabanınız varsa ve varsayılan veritabanını kullanmak istemiyorsanız, hangisini kullanacağınızı belirtmek için bir yola ihtiyacınız vardır.


1
İlk kısım doğrudur. İkinci kısım doğru değil. Hesabı oluşturduğunuzda, ilk katalog belirtilmezse kullanılacak varsayılan bir veritabanı atanır. Bu genellikle varsayılan olarak ana konumdadır (bilinmeyen bir nedenle).
GrayWizardx

"Varsayılan olarak" dediğimde, basitçe, nesne adlarınızda veritabanını nitelemediğiniz zaman demek istiyorum. Her halükarda cevabımı açıkladım.
Andy West

Andy'nin açıklamasını beğendim, aslında yorumu yararlıdır; ben eğer anlamına gelmez yapmak benim nesne adlarında her veritabanını nitelemek, ardından Başlangıç Kataloğu önemli / önemsiz olarak değil mi?
Kırmızı Bezelye

12

Bir İlk Katalog ayarlamak, o bağlantıda çalıştırılan sorguların varsayılan olarak kullanacağı veritabanını ayarlamanıza olanak tanır. Bunu, birden çok veritabanının mevcut olduğu bir sunucuya bağlantı için ayarlamazsanız, çoğu durumda sorguyu hangi veritabanında çalıştırmaya çalıştığınızı açıkça bildirmek için her sorguda bir USE ifadesine sahip olmanız gerekir. İlk Katalog ayarı, bir varsayılan veritabanını açık bir şekilde bildirmenin iyi bir yoludur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.