it-swarm.com.de

Herstellen einer Verbindung mit SQL Server mithilfe der Windows-Authentifizierung

Beim Versuch, eine Verbindung mit SQL Server mithilfe des folgenden Codes herzustellen:

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

Ich erhalte folgenden Fehler:

Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zulässig sind. (Anbieter: SQL Network Interfaces, Fehler: 25 - Verbindungszeichenfolge ist ungültig)

49
HARI KRISHNA

Eine Verbindungszeichenfolge für SQL Server sollte ungefähr so ​​aussehen: "Server= localhost; Database= employeedetails; Integrated Security=True;"

Wenn Sie eine benannte Instanz von SQL Server haben, müssen Sie diese ebenfalls hinzufügen, z. B. "Server=localhost\sqlexpress"

54
ps2goat

Ihre Verbindungszeichenfolge ist falsch

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

Schauen Sie sich www.connectionstrings.com an, um eine Tonne Muster der richtigen Verbindungszeichenfolgen zu erhalten.

Verwenden Sie in Ihrem Fall Folgendes:

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

Update: Offensichtlich hat das Dienstkonto, das zum Ausführen von ASP.NET-Webanwendungen verwendet wird, keinen Zugriff auf SQL Server. Anhand dieser Fehlermeldung können Sie das beurteilen verwenden wahrscheinlich "anonyme Authentifizierung" auf Ihrer Website.

Sie müssen also entweder dieses Konto hinzufügen IIS APPPOOL\ASP.NET V4.0 als SQL Server-Anmeldung und gewähren Sie dieser Anmeldung Zugriff auf Ihre Datenbank, oder Sie müssen auf die Verwendung der "Windows-Authentifizierung" auf Ihrer ASP.NET-Website umschalten, damit das aufrufende Windows-Konto an SQL Server übergeben und als verwendet wird ein Login auf SQL Server.

9
marc_s

Sie müssen ein connectionString in Ihrer Web.config-Datei als hinzufügen

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

Dann schreiben Sie Ihre SQL-Verbindungszeichenfolge wie folgt:

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();
    }
}

Für weitere Informationen folgen Sie bitte diesem Link Gewusst wie: Herstellen einer Verbindung zu SQL mit Windows-Authentifizierung

SQL Server mit Windows-Authentifizierung

2

Das hat bei mir funktioniert:

in der Datei web.config;

<add name="connectionstring name " connectionstring="server=SQLserver name; database= databasename; integrated security = true"/>
0
santhosh