"Server" vs "Sumber Data" dalam string koneksi


112

Saya baru mengenal SqlServer, sekarang saya telah SqlLocalDbmenginstal untuk bekerja secara lokal. Bagus, tetapi saya biasanya dapat melihat dua string koneksi dan keduanya berfungsi:

Data Source=(localdb)\v11.0;Integrated Security=true;

dan

Server=(localdb)\v11.0;Integrated Security=true;

Apa perbedaan sebenarnya di antara keduanya?


1
kata kunci terkait untuk server, db, nama pengguna, kata sandi tercantum dalam jawaban ini: stackoverflow.com/a/15529085/661933
nawfal

Jawaban:


114

Untuk daftar lengkap dari semua kata kunci string koneksi, termasuk yang sepenuhnya identik, silakan merujuk ke SqlConnection.ConnectionStringdokumentasi :

Ini semua setara:

  • Sumber data
  • Server
  • Alamat
  • Addr
  • Alamat Jaringan

2
Memunculkan pertanyaan, mengapa Microsoft menciptakan padanan ...? (kecuali untuk membingungkan kami :-))
bytedev

1
@bytedev - pertemuan historis, saya yakin. Sebagian besar nama ini mulai digunakan di "standar" koneksi DB lain. Saat membuat ADO.Net, selama tidak ada penggunaan yang saling bertentangan, Anda juga dapat mengizinkan sebanyak mungkin yang umum seperti yang ada di standar lama, untuk memudahkan kode port.
Damien_The_Unbeliever

@Damien_Unbeliever Apa itu confluence ? Saya mencarinya di Google tetapi mendapatkan banyak barang Atlassian (dan yang saya tahu). Tapi apa arti kata itu? Saya mencoba "menerjemahkan: pertemuan" tetapi mendapatkan nada ...
Konrad Viltersten

Mungkin berguna untuk mengetahui bahwa, jika karena alasan tertentu string koneksi Anda menyertakan lebih dari satu kata kunci ini (dan konflik nilai alamat), item terakhir yang digunakan; nilai sebelumnya diabaikan. Jadi misalnya, diberi string koneksi`` Server=192.168.2.2;Data Source=localhostklien akan menghormati localhostnilainya dan mengabaikan 192...nilainya.
Brian Lacy


11

Keduanya identik - Anda dapat menggunakan salah satunya.

Yaitu - sejauh menyangkut kerangka kerjanya, mereka sama.


Aku sudah googlearching untuk alasan untuk berbagai kata kunci yang setara dalam koneksi string. Sejauh ini, saya belum menemukan penjelasan yang bagus. Saya berasumsi itu karena alasan sejarah dan pengguna dari "dunia" berbeda berkumpul. Apakah ada alasan lain?
DonkeyBanana

0

Pengaturan favorit saya adalah yang tidak mengandung spasi. Dalam bentuk yang paling sederhana, seseorang harus memberikan empat nilai - URL, wadah, pengguna dan kredensial.

  • server
  • database
  • uid
  • pwd

Jadi string koneksi terlihat seperti ini.

server = stuffy.databases.net; database = pengap; uid = konrad; pwd = Abc123 (!);


Konrad, saya pikir downvoters tidak mengerti apa yang Anda katakan. Maksud Anda, misalnya, "server" ini lebih baik daripada "sumber data" karena satu kata tidak mengandung spasi. Hal yang sama untuk "uid" bukan "id pengguna". Saya pikir jawaban Anda valid.
Klik Ok

@ClickOk Mungkin, mungkin ... Anda mendapatkannya, jadi ... :)
Konrad Viltersten
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.