it-swarm.com.de

Einrichten der Verbindungszeichenfolge in ASP.NET zu SQL SERVER

Ich versuche, eine Verbindungszeichenfolge in meiner Datei web.config (Visual Studio 2008/ASP.NET 3.5) mit einem lokalen Server (SQL Server 2008) einzurichten.

Wie und wo platziere ich die Verbindungszeichenfolge in meiner web.config?

So sieht die Datei web.config jetzt aus: http://imwired.net/aspnet/Online_web.config

86
Ray

Sie können dies auch verwenden, es ist einfacher. Das einzige, was Sie einstellen müssen, ist "YourDataBaseName".

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

Wo soll die Verbindungszeichenfolge platziert werden?

<?xml version='1.0' encoding='utf-8'?>  
  <configuration>  
    <connectionStrings>  
      <clear />  
      <add name="Name"   
       providerName="System.Data.ProviderName"   
       connectionString="Valid Connection String;" />  
    </connectionStrings>  
  </configuration>  
138
Aristos

Aus irgendeinem Grund sehe ich hier nicht die einfache Antwort.

Setzen Sie dies oben in Ihren Code: 

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

Fügen Sie dies in Web.Config ein:

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

und wo Sie die Verbindungsvariable einrichten möchten:

SqlConnection con = new SqlConnection(
    WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
98
Ray Suelzer

Ich fand es sehr schwierig, eine Antwort darauf zu finden, aber schließlich fand ich es heraus. So werde ich die Schritte unten schreiben.

  1. Stellen Sie vor dem Einrichten der Verbindungszeichenfolge im Code sicher, dass Sie tatsächlich auf Ihre Datenbank zugreifen können. Beginnen Sie natürlich, indem Sie sich lokal beim Datenbankserver mit SSMS (SQL Server Management Studio oder einem entsprechenden Gegenwert in anderen Datenbanken) anmelden, um sicherzustellen, dass Sie Zugriff auf alle Details haben, die Sie verwenden möchten.

  2. Wenn Sie (falls erforderlich) versuchen, auf die Datenbank auf einem separaten Server zuzugreifen, stellen Sie sicher, dass Sie dies auch in SSMS tun können. Richten Sie SSMS auf einem Computer ein und stellen Sie sicher, dass Sie mit Benutzername und Kennwort auf diesen Datenbankserver zugreifen können.

Wenn Sie die oben genannten 2 nicht richtig finden, verschwenden Sie einfach Ihre Zeit, da Sie nicht auf die Datenbank zugreifen können. Dies kann entweder darauf zurückzuführen sein, dass der Benutzer, den Sie einrichten, falsch ist, der Remotezugriff nicht aktiviert ist (falls erforderlich) oder die Ports nicht geöffnet werden (falls erforderlich). Dies ist unter vielen anderen Gründen der Fall.

Nachdem Sie überprüft haben, dass Sie mit SSMS auf die Datenbank zugreifen können. Der nächste Schritt, nur um den Prozess zu automatisieren und Fehler zu vermeiden, besteht darin, das System die Arbeit für Sie erledigen zu lassen.

  1. Starten Sie ein leeres Projekt, fügen Sie Ihre Wahl zwischen Linq zu SQL oder Dataset hinzu (EF ist in Ordnung, aber die Verbindungszeichenfolge ist in eine EF-Con-Zeichenfolge eingebettet, ich möchte eine saubere), und stellen Sie eine Verbindung zu Ihrer Datenbank her der Con-String-Wizzard. Fügen Sie eine beliebige Tabelle hinzu und speichern Sie die Datei.

Gehen Sie jetzt in die Web-Konfiguration, und Sie sehen dort eine saubere, funktionierende Verbindungszeichenfolge mit allen Details, die Sie benötigen.


{Unten war Teil eines alten Posts, so dass Sie dies ignorieren können. Ich lasse es als Referenz, da dies der einfachste Weg ist, auf die Datenbank nur mit hinterlegtem Code zuzugreifen. Bitte scrollen Sie nach unten und fahren Sie mit Schritt 2 fort. }

Nehmen wir an, die oben genannten Schritte beginnen mit etwas wie dem folgenden als Verbindungszeichenfolge im Code dahinter:

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

Dieser Schritt ist sehr wichtig. Stellen Sie sicher, dass Sie über das obige Format der Verbindungszeichenfolge verfügen, bevor Sie die folgenden Schritte ausführen. Stellen Sie sicher, dass Sie tatsächlich auf Ihre Daten zugreifen können, indem Sie eine Form von SQL-Befehlstext verwenden, der einige Daten aus einer Tabelle in Beschriftungen, Textbögen oder Ähnlichem anzeigt, da dies die einfachste Möglichkeit ist, eine Verbindungszeichenfolge auszuführen.

Wenn Sie sich sicher sind, dass der obige Stil funktioniert, ist es jetzt an der Zeit, die nächsten Schritte zu unternehmen:

1 . Exportieren Sie Ihr Zeichenfolgenliteral (das Zeug in den Anführungszeichen, einschließlich der Anführungszeichen) in den folgenden Abschnitt der Datei web.config (für mehrere Verbindungszeichenfolgen müssen Sie nur mehrere Zeilen eingeben:

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

{Das obige war Teil eines alten Posts. Nachdem Sie die ersten drei Schritte ausgeführt haben, wird dieser gesamte Prozess für Sie erledigt, sodass Sie ihn ignorieren können. Ich lass es einfach hier für meine eigene Referenz. }


2. Fügen Sie dem C # -Code dahinter die folgende Codezeile hinzu, vorzugsweise direkt unter der Klassendefinition (d. H. Nicht innerhalb einer Methode). Dies zeigt auf den Stammordner Ihres Projekts. Im Wesentlichen ist es der Projektname. Dies ist normalerweise der Ort der Datei web.config (in diesem Fall heißt mein Projekt MyProject.

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

3. Fügen Sie dem C # -Code dahinter die folgende Codezeile hinzu. Dadurch wird eine String-Konstante festgelegt, auf die Sie an vielen Stellen im gesamten Code verweisen können, wenn Sie in verschiedenen Methoden ein conString benötigen.

const string CONSTRINGNAME = "conString";

4. Fügen Sie dem C # -Code dahinter die folgende Codezeile hinzu. Dadurch wird die Verbindungszeichenfolge aus der Datei web.config mit dem Namen conString (von der obigen Konstante) abgerufen.

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

5 . Schließlich, wo Sie ursprünglich etwas ähnliches mit dieser Codezeile gehabt hätten:

SqlConnection con = new SqlConnection(conString)

sie werden es durch diese Codezeile ersetzen:

SqlConnection con = new SqlConnection(conString.ConnectionString)

Nachdem Sie diese 5 Schritte ausgeführt haben, sollte Ihr Code wie zuvor funktionieren. Erkennen Sie den Grund dafür, dass Sie die Constring-Komponente zuerst in ihrem ursprünglichen Format testen, damit Sie wissen, ob es sich um ein Problem mit der Verbindungszeichenfolge oder um ein Problem mit dem Code handelt.

Ich bin neu in C #, ASP.Net und SQL Server. Ich bin mir sicher, dass es einen besseren Weg geben muss, um diesen Code auszuführen. Ich würde mich auch über Feedback freuen, wie diese Schritte nach Möglichkeit verbessert werden können. Ich habe überall nach so etwas gesucht, aber ich habe es nach vielen Wochen harter Arbeit herausgefunden. Wenn ich es mir anschaue, denke ich immer noch, muss es einen einfacheren Weg geben.

Ich hoffe das ist hilfreich.

19
Francis Rodgers

es sollte sich innerhalb des <configuration>-Knotens befinden:

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

diese Site hat mehr Informationen dazu: 

13
derek

im Header

using System.Configuration;

in Code

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

Verbindung in WebConfig

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

In Class.Cs

public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}
5
sameer pm

Sie können auch eine externe Konfigurationsdatei verwenden, um den Abschnitt für Verbindungszeichenfolgen anzugeben und diese Datei in der Anwendungskonfigurationsdatei wie in web.config zu referenzieren.

Wie die in web.config-Datei:

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

Die externe Konfigurationsdatei connections.config enthält den Abschnitt "Verbindungen"

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

</connectionStrings>  

Durch das Ändern des Inhalts einer externen Konfigurationsdatei wird die Anwendung nicht neu gestartet (wie ASP.net standardmäßig bei jeder Änderung der Anwendungskonfigurationsdateien).

2
Surjit SD

Sie können folgendes Format verwenden:

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

Wahrscheinlich werden Sie das Connectionstring-Tag in web.config nach <appSettings> eingeben.

Probieren Sie das aus.

1
C Sharper

Wenn Sie eine Verbindungszeichenfolge in Web.config schreiben möchten, schreiben Sie unter dem angegebenen Sting

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

OR

sie rechts in aspx.cs-Datei wie 

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

Sie können dies in Ihre web.config-Datei connectionStrings einfügen:

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

Sie können es versuchen. Es ist sehr einfach

<connectionStrings>         
    <add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
</connectionStrings>
0