Cara mendapatkan String koneksi dari database

197

Saya telah membuat database dengan SQL Server Management Studio, sekarang saya ingin menggunakannya dalam aplikasi C # saya. Saya perlu string koneksi?

Di mana saya dapat menemukan string koneksi, dan di mana basis data saya disimpan?

Apakah saya harus menerbitkannya atau semacamnya, atau ada di dokumen saya di suatu tempat?

using (var conn = new SqlConnection("your connection string to the database"))

Bagaimana cara mendapatkan string koneksi ? Di mana saya dapat menemukan string koneksi untuk menyalin paste ke bagian di atas?

Bagaimana cara saya mempublikasikan database saya sehingga Visual Studio dapat mengambilnya? Maka saya bisa menarik string koneksi di sana?

Pomster
sumber
Lihatlah bagaimana cara menghasilkan string koneksi youtu.be/1WgO7CDSmu8
anomepani

Jawaban:

201

Cara termudah untuk mendapatkan string koneksi menggunakan jendela "Server Explorer" di Visual Studio (menu View , Server Explorer ) dan sambungkan ke server dari jendela itu.

Kemudian Anda dapat melihat string koneksi di properti dari server yang terhubung (pilih koneksi dan tekan F4 atau Alt + Enter atau pilih Properties pada menu klik kanan).

Pengaturan string koneksi lanjutan: saat membuat koneksi, Anda dapat memodifikasi opsi string koneksi lanjutan, seperti MARS, ketahanan, timeot, konfigurasi pooling, dll. Dengan mengklik tombol "Advanced ..." di bagian bawah " Tambahkan dialog "koneksi. Anda dapat mengakses dialog ini nanti dengan mengklik kanan Sambungan Data, dan memilih "Ubah koneksi ...". Opsi lanjutan yang tersedia bervariasi berdasarkan jenis server.

Jika Anda membuat database menggunakan SQL Server Management Studio, database akan dibuat dalam contoh server, sehingga, untuk menyebarkan aplikasi Anda, Anda harus membuat cadangan dari database dan menyebarkannya dalam penyebaran SQL Server. Atau, Anda dapat menggunakan file data menggunakan SQL Server Express (localDB di SQL Server 2012), yang akan mudah didistribusikan dengan aplikasi Anda.

Yaitu jika ini adalah aplikasi ASP.NET, ada App_Datafolder. Jika Anda mengklik kanan, Anda bisa menambahkan elemen baru, yang bisa menjadi Database SQL Server. File ini akan berada di folder itu, akan bekerja dengan SQL Express, dan akan mudah digunakan. Anda perlu SQL Express / localDB diinstal pada mesin Anda agar ini berfungsi.

JotaBe
sumber
2
Saya mengerti cara ini, dan menyukainya: D tetapi dapatkah Anda menjelaskan lebih lanjut tentang cara membuat cadangan dan kemudian menggunakan? pengetahuan saya tentang MS SQL Server buruk, saya mulai menggunakannya sekitar satu jam yang lalu: \
Pomster
Apakah ada server realsql? Anda akan menggunakan sql server express? apakah cukup dengan SQL Server Compact Edition? Kami tidak bisa mendapatkan apa yang dapat Anda gunakan jika Anda tidak memberikan informasi tambahan
JotaBe
1
Saya menggunakan MS SQl Server Management Studio 2008, MS SQL Management studio untuk Membuat Database. Saya menggunakan kueri untuk membuat beberapa kolom. Sekarang saya ingin mengisinya dengan aplikasi C #
Pomster
Apakah aplikasi ini akan digunakan? Apakah Anda akan menggunakannya secara lokal? Apakah Anda keberatan dengan jenis server yang dibutuhkan? Saya tidak perlu tahu bagaimana Anda melakukan database tetapi di mana dan mengapa. Saya tidak dapat menebak apa yang Anda butuhkan !!!
JotaBe
Saya akan menggunakannya secara lokal, saya tidak meminta Anda untuk memberi Anda apa?
Pomster
113

Cara yang sangat sederhana untuk mengambil string koneksi, adalah dengan membuat file teks, mengubah ekstensi dari .txt ke .udl .

Mengklik dua kali file .udl akan membuka wizard Data Link Properties .

Konfigurasikan dan uji koneksi ke server database Anda.

Tutup wizard dan buka file .udl dengan editor teks pilihan Anda dan cukup salin string koneksi (tanpa Provider=<driver>bagian) untuk menggunakannya dalam aplikasi C # Anda.

contoh konten file udl

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN=""

apa yang perlu Anda salin darinya

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;

Jika Anda ingin menentukan nama pengguna dan kata sandi, Anda dapat mengadopsi dari jawaban lain.

Tutorial: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/

Filburt
sumber
Jika ini tidak berhasil, ada beberapa file reg yang akan membuat perubahan registri untuk mengaktifkan / menonaktifkan ekstensi UDL. Saya biasanya mencari folder Windows untuk * .reg.
AMissico
Lihatlah hasilkan dan simpan string koneksi dalam file konfigurasi web youtu.be/1WgO7CDSmu8
anomepani
20

Pada connectionstrings.com Anda dapat menemukan string koneksi untuk setiap penyedia DB. String koneksi dibangun dengan atribut / properti tertentu dan nilainya. Untuk SQL server 2008, sepertinya ini (standar, yang Anda perlukan di sini):

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

aktif myServerAddress, tulis nama instance yang Anda instal (secara default itu .\SQLEXPRESSuntuk edisi SQL Server Express). Katalog awal = nama database Anda, Anda akan melihatnya di SSMS di sebelah kiri setelah menghubungkan. Sisanya berbicara sendiri.

sunting

Anda harus menghilangkan nama pengguna dan kata sandi untuk otentikasi dan menambahkan windows Integrated Security=SSPI.

MarioDS
sumber
11

Jika Anda telah menginstal dan mengatur MS SQL Server dan Management Studio, buka Visual Studio (Visual Studio bukan SQL Server Management Studio).

1] Dalam Visual Studio pergi ke Alat -> Hubungkan ke Database .

2] Di bawah Nama Server Pilih Nama Server Database Anda (Biarkan daftar Mengisi jika butuh waktu).

3] Di bawah Hubungkan ke Database, Pilih Pilih atau masukkan nama database .

4] Pilih Database Anda dari Dropdown.

5] Setelah memilih Basis data coba Uji Koneksi.

6] Jika Uji Koneksi Berhasil, Klik Oke.

7] Dalam Visual Studio pergi ke Lihat -> Server Explorer .

8] Di jendela Server Explorer, Di bawah Koneksi Data Pilih Database Anda. Klik kanan Database Anda -> Klik Properti .

9] Di jendela Properties Anda akan melihat Connection Connection Anda .

Juned Khan Momin
sumber
9

Solusi saya adalah menggunakan (2010).

Di lembar kerja baru, pilih sel, lalu:

Data -> From Other Sources -> From SQL Server 

masukkan nama server , pilih tabel , dll,

Saat Anda masuk ke dialog "Impor Data",
klik Propertiesdi dialog "Properti Koneksi",
pilih tab "Definisi".

Dan ada Excel yang dengan baik menampilkan String Koneksi untuk menyalin
(atau bahkan Mengekspor File Koneksi ... )

David Elgstuen
sumber
Ini berfungsi dengan baik dan tidak memerlukan koneksi untuk pengaturan di VS.
Robino
Haha, ini adalah cara yang sangat kreatif namun efektif untuk mendapatkan ini. Saya mencobanya terlebih dahulu hanya karena tidak memerlukan dependensi prasyarat. Terima kasih.
Todd
3

taruh tag di bawah ini di file web.config di node konfigurasi

 <connectionStrings>
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd"
  providerName="System.Data.SqlClient" />

maka Anda dapat menggunakan connectionstring di atas, mis

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();
Vishal Parekh
sumber
3

Jika seseorang menggunakan alat Linqpad, setelah seseorang terhubung ke database target dari koneksi, ia bisa mendapatkan string koneksi untuk digunakan.

  1. Klik kanan pada koneksi database.
  2. Pilih Properties
  3. Pilih Advanced
  4. Pilih Copy Full Connection String to Clipboard

Hasil: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

masukkan deskripsi gambar di sini


Hapus app=LinqPadtergantung pada driver dan item lain seperti Serverbukan sumber, Anda mungkin perlu menyesuaikan driver agar sesuai dengan operasi target; tetapi memberikan satu landasan peluncuran.

GamegaMan
sumber
2
Saya menyetujui posting ini
Jabberwocky
1

The database sql server yang akan disimpan secara default di lintasan berikut

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\

, di mana <drive>drive instalasi dan X adalah nomor instance (MSSQL.1 untuk instance pertama dari Database Engine). Untuk memberikan string koneksi, Anda harus tahu apa nama server dari database server sql, tempat Anda menyimpannya diikuti oleh instance dari server database.

Secara umum nama server akan seperti alamat ip dari mesin di mana database dilampirkan dan instance default adalah SqlExpress

Sebuah koneksi string mengandung Sumber Data nama yaitu, nama server, katalog Initial yaitu, nama database, user id yaitu, login user id dari database, sandi yaitu, password login dari database.

Sai Kalyan Kumar Akshinthala
sumber
1
Bagaimana cara mendapatkan string koneksi?
Pomster
1
Saya melihat dalam file Program \ Microsoft SQl Server dan saya tidak tahu apa yang saya cari?
Pomster
Anda tidak perlu mencari folder penyimpanan basis data, lihat tautan yang saya berikan untuk string koneksi dan tulis string koneksi Anda.
Sai Kalyan Kumar Akshinthala
0

Jika Anda membuat Connection Manager di proyek Anda, maka Anda cukup menarik string koneksi dari sana.

String connection = this.dts.connections["<connection_manager_name>"];

Dan gunakan koneksi ini di:

using (var conn = new SqlConnection(connection))

Tolong koreksi saya jika saya salah.

Abhishek
sumber
0

Cara termudah teman-teman saya, adalah membuka tab server explorer di visual studio 2019 (dalam kasus saya), dan kemudian mencoba membuat koneksi ke database. Setelah membuat koneksi yang berhasil, klik kanan saja dan pergi ke properti. Di sana Anda akan menemukan bidang koneksi string dengan sintaks yang benar! ... Ini bekerja untuk saya karena saya tahu nama server saya sebelumnya .... tidak dapat menemukan sintaks yang benar untuk menjalankan ef scaffold saya ...

Ramiro GM
sumber
-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";
karthi
sumber
2
Bagaimana ini menjawab pertanyaan OP?
Filburt