So erhalten Sie die Verbindungszeichenfolge aus einer Datenbank

197

Ich habe eine Datenbank mit SQL Server Management Studio erstellt und möchte sie jetzt in meiner C # -Anwendung verwenden. Ich brauche die Verbindungszeichenfolge?

Wo finde ich die Verbindungszeichenfolge und wo ist meine Datenbank gespeichert?

Muss ich es veröffentlichen oder so, oder ist es irgendwo in meinen Dokumenten?

using (var conn = new SqlConnection("your connection string to the database"))

Wie erhalte ich die Verbindungszeichenfolge ? Wo finde ich die Verbindungszeichenfolge zum Kopieren und Einfügen in den obigen Abschnitt?

Wie veröffentliche ich meine Datenbank, damit Visual Studio sie abrufen kann? Dann kann ich einfach die Verbindungszeichenfolge von dort ziehen?

Pomster
quelle
Werfen
anomepani

Antworten:

201

Der einfachste Weg , um die Verbindungszeichenfolge zu erhalten , ist mit den „Server Explorer“ Fenster in Visual Studio (Menü Ansicht , Server - Explorer ) und aus dem Fenster mit dem Server verbinden.

Dann können Sie die Verbindungszeichenfolge in den Eigenschaften des verbundenen Servers sehen (wählen Sie die Verbindung und drücken Sie F4 oder Alt + Eingabetaste oder wählen Sie Eigenschaften im Kontextmenü).

Erweiterte Einstellungen für Verbindungszeichenfolgen: Beim Erstellen der Verbindung können Sie alle erweiterten Optionen für Verbindungszeichenfolgen wie MARS, Ausfallsicherheit, Timeot, Pooling-Konfiguration usw. ändern, indem Sie auf die Schaltfläche "Erweitert ..." unten in "klicken. Dialog "Verbindung hinzufügen". Sie können später auf diesen Dialog zugreifen, indem Sie mit der rechten Maustaste auf die Datenverbindung klicken und "Verbindung ändern ..." auswählen. Die verfügbaren erweiterten Optionen variieren je nach Servertyp.

Wenn Sie die Datenbank mit SQL Server Management Studio erstellen, wird die Datenbank in einer Serverinstanz erstellt. Um Ihre Anwendung bereitzustellen, müssen Sie eine Sicherungskopie der Datenbank erstellen und diese in SQL Server bereitstellen. Alternativ können Sie eine Datendatei mit SQL Server Express (localDB in SQL Server 2012) verwenden, die problemlos mit Ihrer App verteilt werden kann.

Wenn es sich also um eine ASP.NET-App handelt, gibt es einen App_Datafolder. Wenn Sie mit der rechten Maustaste darauf klicken, können Sie ein neues Element hinzufügen, bei dem es sich um eine SQL Server-Datenbank handeln kann. Diese Datei befindet sich in diesem Ordner, funktioniert mit SQL Express und ist einfach bereitzustellen. Sie müssen SQL Express / localDB auf Ihrem Computer installiert haben, damit dies funktioniert.

JotaBe
quelle
2
Ich verstehe das so und mag es: D Aber können Sie mehr darüber erklären, wie Sie ein Backup erstellen und dann bereitstellen? Meine Kenntnisse über MS SQL Server sind schlecht. Ich habe vor ungefähr einer Stunde damit begonnen: \
Pomster
Gibt es einen RealSQL-Server? Verwenden Sie SQL Server Express? reicht es mit SQL Server Compact Edition? Wir können nicht bekommen, was Sie verwenden können, wenn Sie keine zusätzlichen Informationen geben
JotaBe
1
Ich habe MS SQl Server Management Studio 2008 und MS SQL Management Studio zum Erstellen einer Datenbank verwendet. Ich habe eine Abfrage verwendet, um einige Spalten zu erstellen. Jetzt möchte ich es mit meiner C # App
Pomster
Wird diese App bereitgestellt? Wirst du es lokal verwenden? Stört es Sie, welche Art von Server benötigt wird? Ich muss nicht wissen, wie Sie Ihre Datenbank erstellt haben, aber wo und warum. Ich kann nicht erraten, was du brauchst !!!
JotaBe
Ich werde es lokal verwenden, ich weiß nicht, was Sie mich bitten, Ihnen zu geben?
Pomster
113

Eine sehr einfache Möglichkeit, eine Verbindungszeichenfolge abzurufen, besteht darin, eine Textdatei zu erstellen und die Erweiterung von .txt in .udl zu ändern .

Durch Doppelklicken auf die .udl- Datei wird der Assistent für Datenverbindungseigenschaften geöffnet .

Konfigurieren und testen Sie die Verbindung zu Ihrem Datenbankserver.

Schließen Sie den Assistenten, öffnen Sie die .udl-Datei mit dem Texteditor Ihrer Wahl und kopieren Sie einfach die Verbindungszeichenfolge (ohne das Provider=<driver>Teil), um sie in Ihrer C # -Anwendung zu verwenden.

Beispiel für den Inhalt einer UDL-Datei

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN=""

was Sie brauchen, um davon zu kopieren

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;

Wenn Sie Benutzername und Passwort angeben möchten, können Sie diese aus anderen Antworten übernehmen.

Tutorial: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/

Filburt
quelle
Wenn dies nicht funktioniert, gibt es einige Registrierungsdateien, die Registrierungsänderungen vornehmen, um die UDL-Erweiterung zu aktivieren / deaktivieren. Normalerweise suche ich im Windows-Ordner nach * .reg.
AMissico
Werfen
anomepani
20

Auf connectionstrings.com finden Sie die Verbindungszeichenfolge für jeden DB-Anbieter. Eine Verbindungszeichenfolge wird mit bestimmten Attributen / Eigenschaften und deren Werten aufgebaut. Für SQL Server 2008 sieht es so aus (Standard, den Sie hier benötigen):

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

auf myServerAddress, den Namen der installierten Instanz schreiben (standardmäßig ist es .\SQLEXPRESSfür SQL Server Express Edition). Anfänglicher Katalog = Ihr Datenbankname, der nach dem Herstellen der Verbindung links in SSMS angezeigt wird. Der Rest spricht für sich.

bearbeiten

Sie müssen den Benutzernamen und das Kennwort für die Windows-Authentifizierung weglassen und hinzufügen Integrated Security=SSPI.

MarioDS
quelle
10

Wenn Sie MS SQL Server und Management Studio installiert und eingerichtet haben, wechseln Sie zu Visual Studio (Visual Studio, nicht SQL Server Management Studio).

1] Gehen Sie in Visual Studio zu Extras -> Mit Datenbank verbinden .

2] Wählen Sie unter Servername den Namen Ihres Datenbankservers aus (lassen Sie die Liste füllen, wenn dies einige Zeit in Anspruch nimmt).

3] Wählen Sie unter Mit einer Datenbank verbinden die Option Auswählen oder geben Sie einen Datenbanknamen ein .

4] Wählen Sie Ihre Datenbank aus der Dropdown-Liste aus.

5] Versuchen Sie nach Auswahl von Datenbank, Verbindung testen.

6] Wenn die Testverbindung erfolgreich ist, klicken Sie auf OK.

7] Gehen Sie in Visual Studio zu Ansicht -> Server-Explorer .

8] Wählen Sie im Server-Explorer-Fenster unter Datenverbindungen Ihre Datenbank aus. Klicken Sie mit der rechten Maustaste auf Ihre Datenbank -> Klicken Sie auf Eigenschaften .

9] Im Eigenschaftenfenster sehen Sie Ihre Verbindungszeichenfolge .

Juned Khan Momin
quelle
9

Meine Lösung war zu verwenden (2010).

Wählen Sie in einem neuen Arbeitsblatt eine Zelle aus und gehen Sie dann wie folgt vor:

Data -> From Other Sources -> From SQL Server 

Geben Sie den Servernamen ein , wählen Sie die Tabelle usw. aus.

Wenn Sie zum Dialogfeld "Daten importieren" gelangen,
klicken Sie Propertiesim Dialogfeld "Verbindungseigenschaften" auf und
wählen Sie die Registerkarte "Definition".

Und dort zeigt Excel die Verbindungszeichenfolge zum Kopieren
(oder sogar zum Exportieren der Verbindungsdatei ... ) an.

David Elgstuen
quelle
Dies funktioniert einwandfrei und erfordert nicht, dass die Verbindung in VS eingerichtet wird.
Robino
Haha, dies ist ein super kreativer und dennoch effektiver Weg, dies zu erreichen. Ich habe es zuerst einfach versucht, weil es keine vorausgesetzten Abhängigkeiten erforderte. Danke dir.
Todd
3

Fügen Sie das folgende Tag in die Datei web.config im Konfigurationsknoten ein

 <connectionStrings>
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd"
  providerName="System.Data.SqlClient" />

dann können Sie den obigen Verbindungsstring verwenden, z

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();
Vishal Parekh
quelle
3

Wenn man das Tool Linqpad verwendet, kann man nach dem Herstellen einer Verbindung zu einer Zieldatenbank über die Verbindungen eine zu verwendende Verbindungszeichenfolge erhalten.

  1. Klicken Sie mit der rechten Maustaste auf die Datenbankverbindung.
  2. Wählen Properties
  3. Wählen Advanced
  4. Wählen Copy Full Connection String to Clipboard

Ergebnis: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

Geben Sie hier die Bildbeschreibung ein


Entfernen Sie die app=LinqPadTreiber abhängig von den Treibern und anderen Elementen, z. B. Serveranstelle der Quelle. Möglicherweise müssen Sie den Treiber an die Zieloperation anpassen. aber es gibt einem eine Startrampe.

ΩmegaMan
quelle
2
Ich bin mit diesem Beitrag
einverstanden
1

Die SQL Server-Datenbank wird standardmäßig im folgenden Pfad gespeichert

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\

, wo <drive>ist das Installationslaufwerk und X ist die Instanznummer (MSSQL.1 für die erste Instanz des Datenbankmoduls). Um die Verbindungszeichenfolge bereitzustellen, sollten Sie den Servernamen der SQL Server-Datenbank kennen, in der Sie gespeichert haben, gefolgt von der Instanz des Datenbankservers.

Im Allgemeinen entspricht der Servername der IP-Adresse des Computers, an den die Datenbank angehängt ist, und die Standardinstanz lautet SqlExpress

Eine Verbindungszeichenfolge enthält den Datenquellennamen, dh den Servernamen, den Erstkatalog, dh den Datenbanknamen, die Benutzer-ID, dh die Anmeldebenutzer-ID der Datenbank, das Kennwort, dh das Anmeldekennwort der Datenbank.

Sai Kalyan Kumar Akshinthala
quelle
1
Wie erhalte ich die Verbindungszeichenfolge?
Pomster
1
Ich habe in Programmdateien \ Microsoft SQl Server nachgesehen und habe keine Ahnung, wonach ich suche.
Pomster
Sie müssen nicht nach dem Datenbankspeicherordner suchen, den von mir angegebenen Link für die Verbindungszeichenfolge anzeigen und Ihre Verbindungszeichenfolge schreiben.
Sai Kalyan Kumar Akshinthala
0

Wenn Sie in Ihrem Projekt den Verbindungsmanager erstellt haben, können Sie einfach die Verbindungszeichenfolge von dort abrufen.

String connection = this.dts.connections["<connection_manager_name>"];

Und nutzen Sie diese Verbindung in:

using (var conn = new SqlConnection(connection))

Bitte korrigieren Sie mich, wenn ich falsch liege.

Abhishek
quelle
0

Am einfachsten, meine Freunde, ist es, die Registerkarte Server-Explorer in Visual Studio 2019 (in meinem Fall) zu öffnen und dann zu versuchen, die Verbindung zur Datenbank herzustellen. Nachdem Sie eine erfolgreiche Verbindung hergestellt haben, klicken Sie einfach mit der rechten Maustaste darauf und gehen Sie zu Eigenschaften. Dort finden Sie ein String-Verbindungsfeld mit der richtigen Syntax! ... Das hat bei mir funktioniert, weil ich den Namen meines Servers vorher kannte ... konnte einfach nicht die richtige Syntax für mein ef-Gerüst herausfinden ...

Ramiro GM
quelle
-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";
karthi
quelle
2
Wie beantwortet dies die OP-Frage?
Filburt