2013-09-04 5 views
30

का उपयोग करते समय मैं निम्नलिखित कोडविंडोज़ प्रमाणीकरण

 SqlConnection con = new SqlConnection("Server= localhost, Authentication=Windows Authentication, Database= employeedetails"); 
    con.Open(); 
    SqlCommand cmd; 
    string s = "delete employee where empid=103"; 

मैं निम्नलिखित त्रुटि मिलती है का उपयोग कर SQL सर्वर से कनेक्ट करने के कोशिश कर रहा था एसक्यूएल सर्वर से कनेक्ट हो रहा:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)

+0

एसक्यूएल दूरस्थ कनेक्शन की अनुमति देने के लिए कॉन्फ़िगर नहीं है का पालन करें। – Greg

+0

यह स्थानीयहोस्ट पर है, इसके बारे में ज्यादा रिमोट नहीं है। – ps2goat

+0

अच्छा बिंदु। कनेक्शन स्ट्रिंग गलत है। – Greg

उत्तर

31

एसक्यूएल सर्वर के लिए एक कनेक्शन स्ट्रिंग चाहिए अधिक देखें: "Server= localhost; Database= employeedetails; Integrated Security=True;"

यदि आपके पास SQL ​​सर्वर का नामित उदाहरण है, तो आपको इसे भी जोड़ना होगा, उदाहरण के लिए, "Server=localhost\sqlexpress"

+0

उपयोगकर्ता 'आईआईएस APPPOOL \ ASP.NET V4 के लिए लॉगिन विफल .0 '। विवरण: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक अनचाहे अपवाद हुआ। त्रुटि के बारे में अधिक जानकारी के लिए और जहां यह कोड में उत्पन्न हुआ, कृपया स्टैक ट्रेस की समीक्षा करें। अपवाद विवरण: System.Data.SqlClient.SqlException: उपयोगकर्ता 'आईआईएस APPPOOL \ ASP.NET V4.0' के लिए लॉगिन विफल रहा। स्रोत त्रुटि: लाइन 18: { लाइन 19: SqlConnection चोर = नए SqlConnection ("सर्वर = स्थानीय होस्ट; डाटाबेस = employeedetails; एकीकृत सुरक्षा = सच"); रेखा 20: con.Open(); –

+0

आपका उपयोगकर्ता नाम सही नहीं दिख रहा है। आपका कंप्यूटर नाम 'आईआईएस एपपूल' है? और आपका उपयोगकर्ता नाम 'एएसपी.नेट वी 4.0' है? मूल्य को मुखौटा करने के लिए कृपया 'xxxx' के साथ प्रतिस्थापित वास्तविक उपयोगकर्ता नाम और पासवर्ड के साथ अपनी कनेक्शन स्ट्रिंग पोस्ट करें। तब हम आपकी मदद कर सकते हैं। – ps2goat

+0

आपकी वेबसाइट के एप्लिकेशन पूल को कुछ खाते से काम करना चाहिए जो SQL सर्वर पर लॉगिन के रूप में जोड़ा गया है और आपके डेटाबेस पर कुछ अनुमतियां हैं। उन्नत सेटिंग्स में एप्लिकेशन पूल में "पहचान" विकल्प है - यहां आपको अपना खाता निर्दिष्ट करना चाहिए। उसके बाद "एकीकृत सुरक्षा = सही" के साथ आपका कनेक्शन ठीक काम करना चाहिए। –

7

उचित कनेक्शन स्ट्रिंग के नमूने के टन के लिए www.connectionstrings.com देखें।

आपके मामले में, इस का उपयोग करें:

Server=localhost;Database=employeedetails;Integrated Security=SSPI 

अद्यतन: जाहिर है, ASP.NET वेब एप्लिकेशन चलाने के लिए इस्तेमाल किया सेवा खाता SQL सर्वर के लिए पहुँच नहीं है, और कहा कि त्रुटि संदेश से पहचानने , आप शायद अपनी वेबसाइट पर "अज्ञात प्रमाणीकरण" का उपयोग कर रहे हैं।

तो आपको या तो SQL Server लॉगिन के रूप में यह खाता IIS APPPOOL\ASP.NET V4.0 जोड़ने और अपने डेटाबेस में उस लॉगिन पहुंच को जोड़ने की आवश्यकता है, या आपको अपनी एएसपी.NET वेबसाइट पर "विंडोज प्रमाणीकरण" का उपयोग करने के लिए स्विच करने की आवश्यकता है ताकि कॉलिंग विंडोज खाता SQL सर्वर के माध्यम से पारित किया जाएगा और SQL सर्वर पर लॉगिन के रूप में उपयोग किया जाएगा।

+0

उपयोगकर्ता 'आईआईएस APPPOOL \ ASP.NET V4.0' के लिए लॉगिन विफल रहा। विवरण: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक अनचाहे अपवाद हुआ। त्रुटि के बारे में अधिक जानकारी के लिए और जहां यह कोड में उत्पन्न हुआ, कृपया स्टैक ट्रेस की समीक्षा करें। अपवाद विवरण: System.Data.SqlClient.SqlException: उपयोगकर्ता 'आईआईएस APPPOOL \ ASP.NET V4.0' के लिए लॉगिन विफल रहा। स्रोत त्रुटि: रेखा 18: {रेखा 1 9: एसक्यूएलकनेक्शन कॉन = नया एसक्यूएलकनेक्शन ("सर्वर = लोकलहोस्ट; डाटाबेस = नियोक्ता विवरण; एकीकृत सुरक्षा = सही"); लाइन 20: con.Open() –

+0

यदि कोई साइट Windows प्रमाणीकरण का उपयोग कर रही है और 'एकीकृत सुरक्षा = SSPI' कनेक्शन में है, तो आप SQL सर्वर को Windows खाते से गुजरने के बारे में कितनी सटीक रूप से जाएंगे? –

10

आपका कनेक्शन स्ट्रिंग गलत

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

उपयोग इस कोड है

Data Source=.;Initial Catalog=master;Integrated Security=True 
0

आप के रूप

<connectionStrings> 
    <add name="ASPNETConnectionString" connectionString="Data Source=SONU\SA;Initial Catalog=ASPNET;Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

अपने Web.config फ़ाइल के भीतर एक connectionString जोड़ने के लिए फिर अपने एसक्यूएल लिखें है नीचे कनेक्शन कनेक्शन:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 


public partial class WebPages_database : System.Web.UI.Page 
{ 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ASPNETConnectionString"].ToString()); 
    SqlDataAdapter da; 
    DataSet ds; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 

    protected void btnAdmnNumber_Click(object sender, EventArgs e) 
    { 
     string qry = "select * from Table"; 
     da = new SqlDataAdapter(qry, con); 
     ds = new DataSet(); 
     da.Fill(ds); 

     GridView1.DataSource = ds; 
     GridView1.DataBind(); 
    } 
} 

अधिक जानकारी के लिए इस लिंक How To:Connect to SQl with windows Authentication

SQL Server with windows authentication