SQL सर्वर कनेक्शन स्ट्रिंग कैसे सेट करें?


93

मैं एक साधारण C # एप्लिकेशन विकसित कर रहा हूं, मैं यह जानना चाहूंगा: जब मैं अपने एप्लिकेशन को अपने पीसी पर SQL सर्वर से जोड़ता हूं, तो मुझे कनेक्शन स्ट्रिंग (सर्वर नाम, पासवर्ड आदि) पता है, लेकिन जब मैं इसे दूसरे से जोड़ता हूं पीसी, SQL सर्वर कनेक्शन स्ट्रिंग अलग है। SQL सर्वर में एक सामान्य खाता है जो डिफ़ॉल्ट खाते के साथ आता है जो कनेक्ट कर सकता है? मैंने saSQL Server में खाते के बारे में सुना है , क्या है sa?


5
आप SQL सर्वर या उस मामले के लिए किसी भी कनेक्शन प्रकार तक पहुंचने के लिए एक डिफ़ॉल्ट खाता उपयोगकर्ता नाम और पासवर्ड का उपयोग कभी नहीं करना चाहते हैं।
jordanhill123

4
SAमतलब एसक्यूएल सर्वर sys_adminभूमिका
ईशान

2
क्या आप SQL सर्वर प्रमाणीकरण के बजाय Windows प्रमाणीकरण का उपयोग कर सकते हैं? यह पूरी तरह से उपयोगकर्ता और पासवर्ड का उपयोग करने से बचना होगा।
फिलिप शेरड

जवाबों:


128

.NET DataProvider - उपयोगकर्ता नाम और पासवर्ड के साथ मानक कनेक्शन

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
  "Data Source=ServerName;" +
  "Initial Catalog=DataBaseName;" +
  "User id=UserName;" +
  "Password=Secret;";
conn.Open();

.NET DataProvider - विश्वसनीय कनेक्शन

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
  "Data Source=ServerName;" +
  "Initial Catalog=DataBaseName;" +
  "Integrated Security=SSPI;";
conn.Open();

डॉक्टर को देखें ।


1
मैं इस प्रारूप का उपयोग कैसे कर सकता हूं लेकिन डोमेन उपयोगकर्ता का उपयोग कर सकता हूं? जब मैं उपयोग करता हूं तो मुझे एक लाल रेखा मिलती है, user id=Domain\Unameमुझे लगता है कि यह अवैध भागने वाले पात्रों के साथ कुछ करना है, मुझे उस शालीनता को कैसे करना चाहिए?
वरीमू मुरिगी

1
@Wairimu Murigi आपको बैकस्लैश यानी यूजर आईडी से बचना होगा = डोमेन \\ का नाम
जॉन हार्टले

1
@ इताची: ​​नेक्रोपोस्ट के लिए क्षमा करें। क्या हम SQLCMD का उपयोग करके विंडोज कमांड लाइन में इसे दर्ज करते हैं?
एमएसआईएस

1
मेरे पासवर्ड में ;चरित्र है
Kiquenet

1
@Kiquenet आप एकल या दोहरे उद्धरण चिह्नों की कोशिश कर सकते लपेट के लिए, जाँच इस बाहर।
इटची

29

वास्तव में आप SqlConnectionStringBuilderअपने कनेक्शन स्ट्रिंग का निर्माण करने के लिए कक्षा का उपयोग कर सकते हैं । कनेक्शन स्ट्रिंग का निर्माण करने के लिए , आपको उससे एक ऑब्जेक्ट SqlConnectionStringBuilderको इंस्टेंट करना होगा और डेटाबेस से कनेक्ट करने के लिए आपके द्वारा उपयोग किए जाने वाले मापदंडों के साथ उनके गुणों को सेट करना होगा। तो फिर तुम मिल सकता है कनेक्शन स्ट्रिंग से ConnectionStringसे संपत्ति SqlConnectionStringBuilderवस्तु, के रूप में इस उदाहरण में दिखाया गया है:

उदाहरण के लिए:

    SqlConnectionStringBuilder sConnB = new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString

SqlConnection conn = new SqlConnection(sConnB.ConnectionString);

आप या तो इसे newसीधे बनाने के लिए ऑपरेटर का उपयोग कर सकते हैं।

उदाहरण के लिए:

SqlConnection conn = new SqlConnection(
    new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString
);

आप अपने कनेक्शन स्ट्रिंग का निर्माण करने के लिए अधिक पैरामीटर जोड़ सकते हैं । याद रखें कि पैरामीटर को SqlConnectionStringBuilderऑब्जेक्ट गुणों में निर्धारित मानों द्वारा परिभाषित किया गया है ।

इसके अलावा आप संलग्न डीबी के साथ Microsoft विज़ुअल स्टूडियो के कॉन्सेप्ट से डेटाबेस कनेक्शन स्ट्रिंग प्राप्त कर सकते हैं। जब आप DB का चयन करते हैं, तो गुण पैनल में कनेक्शन स्ट्रिंग दिखाया गया है

SqlConnectionStringBuilderवर्ग के गुणों की पूरी सूची Microsoft MSDN साइट से इस पृष्ठ में सूचीबद्ध है

SQL सर्वर के डिफ़ॉल्ट उपयोगकर्ता के बारे में, sa का अर्थ है "सिस्टम-प्रशासक" और इसका पासवर्ड SQL सर्वर संस्करण के अनुसार बदलता रहता है। इस पृष्ठ में आप देख सकते हैं कि पासवर्ड कैसे बदलता है।

SQL सर्वर 2008 / R2 एक्सप्रेस उपयोगकर्ता: sa पासवर्ड: [रिक्त पासवर्ड - कनेक्ट करने के लिए फ़ील्ड खाली छोड़ दें]

SQL सर्वर 201x एक्सप्रेस उपयोगकर्ता: sa पासवर्ड: Password123

SQL सर्वर 20xx वेब या मानक उपयोगकर्ता: sa पासवर्ड: VDS के प्रावधान के समय आपके व्यवस्थापक या रूट उपयोगकर्ता पासवर्ड के समान होगा।

आप SQL सर्वर डेटाबेस प्रबंधक के प्रारंभ में इस लॉगिन विंडो में sa उपयोगकर्ता के साथ लॉग इन कर सकते हैं । इस छवि की तरह:

उदाहरण के लिए लॉग इन करें


15

.NET डेटा प्रोवाइडर - डिफॉल्ट रिलेटिव पाथ - स्टैंडर्ड कनेक्शन

 using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;"conn.Open();

.NET डेटा प्रोवाइडर - डिफॉल्ट रिलेटिव पाथ - ट्रस्टेड कनेक्शन

 using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

.NET डेटा प्रदाता - कस्टम रिलेटिव पाथ - स्टैंडर्ड कनेक्शन

using System.Data.SqlClient;
AppDomain.CurrentDomain.SetData(
"DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
"AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();  

.NET डेटा प्रदाता - कस्टम रिलेटिव पाथ - ट्रस्टेड कनेक्शन

 using System.Data.SqlClient;
 AppDomain.CurrentDomain.SetData(
 "DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

11

आप निम्न प्रकार से कनेक्शन स्ट्रिंग का उपयोग कर सकते हैं और आपको केवल अपना डेटाबेस नाम जोड़ना होगा।

string connetionString = "Data Source=.;Initial Catalog=DB name;Integrated Security=True;MultipleActiveResultSets=True";

8

जब वे किसी अन्य मशीन पर SQL सर्वर से कनेक्ट करते हैं, तो उन्हें बहुत सी चिंताएँ होती हैं।

  • मशीन का होस्ट / आईपी पता
  • प्रारंभिक सूची (डेटाबेस का नाम)
  • मान्य उपयोगकर्ता नाम / पासवर्ड

बहुत बार SQL सर्वर एक डिफ़ॉल्ट इरादे के रूप में चल रहा हो सकता है, जिसका अर्थ है कि आप होस्टनाम / आईपी पते को निर्दिष्ट कर सकते हैं, लेकिन आप एक परिदृश्य का सामना कर सकते हैं जहां यह एक उदाहरण (उदाहरण के लिए Sql एक्सप्रेस) के रूप में चल रहा है। इस परिदृश्य में आपको hostname \ आवृत्ति नाम निर्दिष्ट करना होगा।


6

आपको यह समझने की आवश्यकता है कि एक डेटाबेस सर्वर या डीबीए नहीं चाहेगा कि कोई भी सर्वर की सामग्री को जोड़ने या संशोधित करने में सक्षम हो। यह सुरक्षा खातों का संपूर्ण उद्देश्य है। यदि कोई एकल उपयोगकर्ता नाम / pwd सिर्फ किसी मशीन पर काम करेगा, तो यह कोई सुरक्षा प्रदान नहीं करेगा। आपने जो "सा" चीज़ सुनी है, वह SQL Server 2005, 2008 या 2012 के साथ काम नहीं करती है। हालांकि पिछले संस्करणों के बारे में निश्चित नहीं है। मेरा मानना ​​है कि SQL सर्वर के शुरुआती दिनों में, डिफ़ॉल्ट उपयोगकर्ता नाम और pwd sa / sa हुआ करता था, लेकिन अब ऐसा नहीं है।

FYI करें, डेटाबेस सुरक्षा और भूमिकाएँ अब और अधिक जटिल हैं एक दिन। आप विंडोज-आधारित प्रमाणीकरण के विवरण पर गौर करना चाहते हैं। यदि आपका SQL सर्वर इसके लिए कॉन्फ़िगर किया गया है, तो आपको इसे कनेक्ट करने के लिए कनेक्शन स्ट्रिंग में किसी भी उपयोगकर्ता नाम / pwd की आवश्यकता नहीं है। आप सभी को बदलने की जरूरत है सर्वर मशीन का नाम और एक ही कनेक्शन स्ट्रिंग आपके दोनों मशीनों के साथ काम करेगी, दोनों को एक ही db नाम दिया गया है।


1
sa SQL सर्वर के लिए sysadmin खाता है। यदि यह sql सर्वर प्रमाणीकरण, या मिश्रित मोड प्रमाणीकरण के साथ स्थापित किया गया था, तो आपको एक sa खाता सेट करना होगा। भविष्य के संदर्भ के लिए, यहां पर एक गाइड है कि एस खाते को कैसे सेट किया जाए अगर यह एसक्यूएल सर्वर प्रमाणीकरण के साथ स्थापित नहीं किया गया था।
कोड्सोमटाइम

6

आप या तो Windows प्रमाणीकरण का उपयोग कर सकते हैं, यदि आपका सर्वर डोमेन या Sql प्रमाणीकरण में है। सा - एक सिस्टम एडमिनिस्ट्रेटर है, जो SQL सर्वर प्रमाणीकरण के लिए रूट खाता है। लेकिन अगर आपके क्लाइंट की आदत है तो इसका इस्तेमाल करना गलत है। आपको अपने खाते बनाने चाहिए, और उन्हें अपने SQL से कनेक्ट करने के लिए उपयोग करना चाहिए। प्रत्येक कनेक्शन में आप सेट करें खाता लॉगिन , उसका पासवर्ड और डिफ़ॉल्ट डेटाबेस करते हैं, जिसे आप कनेक्ट करना चाहते हैं।


6

saएक प्रणाली प्रशासक खाता है जो डिफ़ॉल्ट रूप से sql सर्वर के साथ आता है। जैसा कि आप जानते हैं कि आप पहले से ही जानते हैं, आप SQL सर्वर में प्रवेश करने के लिए दो तरीकों का उपयोग कर सकते हैं।

SQL सर्वर प्रबंधन स्टूडियो का स्क्रीन शॉट

इसलिए कनेक्शन के तार हैं जो प्रत्येक परिदृश्य के लिए उपयुक्त हैं (जैसे कि विंडोज़ प्रमाणीकरण, स्थानीयडब आदि)। अपना कनेक्शन स्ट्रिंग बनाने के लिए https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#sqlserver का उपयोग करें । ये XML टैग हैं। आपको बस कनेक्शन की आवश्यकता है


4

हम बस डेटाबेस से कनेक्ट कर सकते हैं:

 uid=username;pwd=password;database=databasename;server=servername

उदाहरण के लिए:

string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
                            database=spacecraft_db;
                            server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.