Menyiapkan string koneksi di ASP.NET ke SQL SERVER

Jawaban:

149

Anda juga bisa menggunakan ini, ini lebih sederhana. Satu-satunya hal yang perlu Anda setel adalah "YourDataBaseName".

  <connectionStrings>
    <add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>

Di mana menempatkan string koneksi

<?xml version='1.0' encoding='utf-8'?>  
  <configuration>  
    <connectionStrings>  
      <clear />  
      <add name="Name"   
       providerName="System.Data.ProviderName"   
       connectionString="Valid Connection String;" />  
    </connectionStrings>  
  </configuration>  
Aristos
sumber
Cara menggunakannya di kode C # saya di belakang ketika saya ingin menjalankan beberapa kueri.
Nikhil Tamhankar
1
Anda dapat melihat informasi detail tentang string koneksi di dot net dari: connectionstrings.com/sql-server-2008
Vimal bhatt
4
Saya bertanya-tanya berapa banyak orang yang telah menyalin dan menempel baris itu ... :-) Saya rasa ini adalah ke-30 kalinya saya menjawab pertanyaan ini .... mungkin sebaiknya saya mempelajarinya dengan sepenuh hati.
Ayo Adesina
Versi ini tidak memiliki atribut nama pengguna / kata sandi.
Burgi
@Burgi Tidak ada yang tidak hilang (lihat Integrated Security=True?), Itu tidak diperlukan karena database membaca file dengan izin mereka - cobalah. Inilah alasan saya katakan yang lebih sederhana, karena Anda tidak perlu menambahkannya. Jika Anda gagal menggunakannya, buka database Anda dan setel di sana izin yang benar, di database dan di file
Aristos
107

Untuk beberapa alasan saya tidak melihat jawaban sederhana di sini.

Letakkan ini di bagian atas kode Anda:

using System.Web.Configuration;
using System.Data.SqlClient; 

Taruh ini di Web.Config:

<connectionStrings >
    <add
         name="myConnectionString" 
         connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
         providerName="System.Data.SqlClient"/>
</connectionStrings>

dan di mana Anda ingin mengatur variabel koneksi:

SqlConnection con = new SqlConnection(
    WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
Ray Suelzer
sumber
5
WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionStringmungkin lebih benar secara teknis.
hancurkan
2
Saya juga membutuhkan:using System.Data.SqlClient;
nu everest
21

Saya menemukan ini sangat sulit untuk mendapatkan jawaban tetapi akhirnya menemukan jawabannya. Jadi saya akan menulis langkah-langkahnya di bawah ini.

  1. Sebelum Anda mengatur string koneksi Anda dalam kode, pastikan Anda benar-benar dapat mengakses database Anda. Mulailah dengan masuk ke server basis data menggunakan SSMS (Sql Server Management Studio atau yang setara di basis data lain) secara lokal untuk memastikan Anda memiliki akses menggunakan detail apa pun yang ingin Anda gunakan.

  2. Selanjutnya (jika perlu), jika Anda mencoba mengakses database di server terpisah, pastikan Anda juga dapat melakukan hal yang sama di SSMS. Jadi atur SSMS di komputer dan pastikan Anda dapat mengakses server dengan nama pengguna dan kata sandi ke server database itu.

Jika Anda tidak mendapatkan 2 hak di atas, Anda hanya membuang-buang waktu karena Anda tidak dapat mengakses database. Ini bisa jadi karena pengguna yang Anda atur salah, tidak mengaktifkan akses jarak jauh (jika perlu), atau port tidak dibuka (jika perlu), di antara banyak alasan lain tetapi ini adalah yang paling umum.

Setelah Anda memverifikasi bahwa Anda dapat mengakses database menggunakan SSMS. Langkah selanjutnya, hanya untuk mengotomatiskan proses dan menghindari kesalahan, adalah membiarkan sistem yang bekerja untuk Anda.

  1. Mulailah proyek kosong, tambahkan pilihan Anda Linq ke SQL atau Dataset (EF bagus tetapi string koneksi tertanam di dalam string con EF, saya ingin yang bersih), dan sambungkan ke database Anda menggunakan detail yang diverifikasi di atas di penyihir penipu. Tambahkan tabel apa saja dan simpan file.

Sekarang masuk ke konfigurasi web, dan secara ajaib, Anda akan melihat string koneksi yang bagus dan bersih di sana dengan semua detail yang Anda butuhkan.


{Di bawah ini adalah bagian dari posting lama sehingga Anda dapat mengabaikan ini, saya membiarkannya sebagai referensi sebagai cara paling dasar untuk mengakses database hanya dari kode di belakang. Gulir ke bawah dan lanjutkan dari langkah 2 di bawah. }

Mari kita asumsikan langkah-langkah di atas memulai Anda dengan sesuatu seperti berikut sebagai string koneksi Anda dalam kode di belakang:

string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";

Langkah ini sangat penting. Pastikan Anda memiliki format string koneksi di atas yang berfungsi sebelum mengambil langkah-langkah berikut. Pastikan Anda benar-benar dapat mengakses data Anda menggunakan beberapa bentuk teks perintah sql yang menampilkan beberapa data dari tabel dalam label atau boses teks atau apa pun, karena ini adalah cara paling sederhana untuk melakukan string koneksi.

Setelah Anda yakin gaya di atas berfungsi, sekarang saatnya untuk mengambil langkah selanjutnya:

1. Ekspor string literal Anda (hal-hal di dalam tanda kutip, termasuk tanda kutip) ke bagian berikut dari file web.config (untuk beberapa string koneksi, cukup lakukan beberapa baris:

<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>

{Di atas adalah bagian dari posting lama, setelah melakukan 3 langkah teratas, seluruh proses ini akan dilakukan untuk Anda, jadi Anda dapat mengabaikannya. Saya tinggalkan saja di sini untuk referensi saya sendiri. }


2. Sekarang tambahkan baris kode berikut ke kode C # di belakang, terlebih dahulu tepat di bawah definisi kelas (yaitu tidak di dalam metode). Ini mengarah ke folder root proyek Anda. Pada dasarnya itu adalah nama proyek. Biasanya ini adalah lokasi file web.config (dalam hal ini proyek saya disebut Proyek Saya.

static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");

3. Sekarang tambahkan baris kode berikut ke kode C # di belakang. Ini menyiapkan sebuah string konstan yang dapat Anda referensikan di banyak tempat di seluruh kode Anda jika Anda memerlukan sebuah conString dalam metode yang berbeda.

const string CONSTRINGNAME = "conString";

4. Selanjutnya tambahkan baris kode berikut ke kode C # di belakang. Ini mendapatkan string koneksi dari file web.config dengan nama conString (dari konstanta di atas)

ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];

5. Terakhir, di mana Anda semula akan memiliki sesuatu yang mirip dengan baris kode ini:

SqlConnection con = new SqlConnection(conString)

Anda akan menggantinya dengan baris kode ini:

SqlConnection con = new SqlConnection(conString.ConnectionString)

Setelah melakukan 5 langkah ini, kode Anda akan berfungsi seperti sebelumnya. Hense alasan Anda menguji konstruksinya terlebih dahulu dalam format aslinya sehingga Anda tahu apakah itu masalah dengan string koneksi atau apakah itu masalah dengan kode.

Saya baru mengenal C #, ASP.Net dan Sql Server. Jadi saya yakin pasti ada cara yang lebih baik untuk melakukan kode ini. Saya juga akan menghargai umpan balik tentang cara meningkatkan langkah-langkah ini jika memungkinkan. Saya telah mencari ke mana-mana untuk sesuatu seperti ini tetapi saya akhirnya mengetahuinya setelah bekerja keras selama berminggu-minggu. Melihatnya sendiri, saya masih berpikir, pasti ada cara yang lebih mudah.

Semoga bermanfaat.

Francis Rodgers
sumber
14

itu harus di dalam <configuration>node:

  <connectionStrings >
    <add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
  </connectionStrings>

situs ini memiliki info lebih lanjut tentangnya:

derek
sumber
1
Cara menggunakannya di kode C # saya di belakang ketika saya ingin menjalankan beberapa kueri di asp.net 4
Nikhil Tamhankar
7

Koneksi di WebConfig

Tambahkan string koneksi Anda ke <connectionStrings>elemen di Web.configfile.

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"   providerName="System.Data.SqlClient" />
</connectionStrings>

Di Class.Cs

public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}
samir
sumber
6

di header

using System.Configuration;

dalam kode

SqlConnection conn = new SqlConnection(*ConfigurationManager.ConnectionStrings["connstrname"].ConnectionString*);
masoud Cheragee
sumber
3

Anda juga dapat menggunakan file konfigurasi eksternal untuk menentukan bagian string koneksi, dan merujuk file itu dalam file konfigurasi aplikasi seperti di web.config

Seperti dalam web.configfile:

<configuration>  
    <connectionStrings configSource="connections.config"/>  
</configuration>  

connections.configFile konfigurasi eksternal akan berisi bagian koneksi

<connectionStrings>  
  <add name="Name"   
   providerName="System.Data.ProviderName"   
   connectionString="Valid Connection String;" />  

</connectionStrings>  

Mengubah konten file konfigurasi eksternal tidak akan memulai ulang aplikasi (seperti yang dilakukan ASP.net secara default dengan perubahan apa pun dalam file konfigurasi aplikasi)

Surjit SD
sumber
2

Jika Anda ingin menulis string koneksi di Web.config kemudian tulis di bawah sting yang diberikan

<connectionStrings>
  <add name="Conn" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"
   providerName="System.Data.SqlClient" />
 </connectionStrings>

ATAU

Anda tepat di file aspx.cs seperti

SqlConnection conn = new SqlConnection("Data Source=12.16.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com");
Krishna Patel
sumber
2

Anda dapat meletakkan ini di web.configfile Anda connectionStrings:

<add name="myConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
Aditya
sumber
2

Anda dapat menggunakan format berikut:

  <connectionStrings>
    <add name="ConStringBDName" connectionString="Data Source=serverpath;Initial Catalog=YourDataBaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
  </connectionStrings>

Kemungkinan besar Anda akan menemukan tag connectionstring di web.config setelahnya <appSettings>

Coba ini.

C Lebih tajam
sumber
1

Anda bisa mencobanya. Ini sangat sederhana

<connectionStrings>         
    <add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
</connectionStrings>
Animesh Kumar Ghosh
sumber
OP bertanya "di mana di web.config".
Steve Smith
0

Coba ini untuk string koneksi Anda.

 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
 User ID=myDomain\myUsername;Password=myPassword;
Santosh Wavare
sumber
Selamat datang di Stack Overflow! Saat Anda memposting jawaban untuk pertanyaan lama, ada baiknya menambahkan beberapa konteks, mengapa jawaban Anda lebih baik daripada yang lama. Jika tidak, ini berisiko diabaikan di bagian bawah daftar jawaban.
Monolo
0

SAYA BARU DITEMUKAN !! Anda harus meletakkan koneksi string ini dan mengarahkan langsung ke database Anda . Kasus yang sama di server.

"Provider=Microsoft.ACE.OLEDB.12.0; 
 Data Source=c:/inetpub/wwwroot/TEST/data/data.mdb;"

Berhasil!! :)

Dedeco
sumber
0

Simpan string koneksi di web.config

Ini adalah praktik yang baik untuk menyimpan string koneksi untuk aplikasi Anda dalam file konfigurasi daripada sebagai string kode keras dalam kode Anda. Cara untuk melakukan ini berbeda antara .NET 2.0 dan .NET 3.5 (dan yang lebih baru). Artikel ini membahas keduanya. https://www.connectionstrings.com/store-connection-string-in-webconfig/

Markoni
sumber
-1

Buat bagian bernama inside <connectionStrings></connectionStrings>Anda lalu tambahkan string koneksi yang berbeda ke dalamnya, misalnyaweb.config<configuration></configuration>

<configuration>

  <connectionStrings>
   <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
  </connectionStrings>

</configuration>

Berikut adalah daftar semua format string koneksi yang berbeda https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx

Orang
sumber
"Buat bagian bernama <connectionStrings> </connectionStrings> di web.config Anda" - di mana di web.config?
Steve Smith
Anak dari tag "konfigurasi", info lebih lanjut docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/…
Guy