2017-03-01 4 views
0

Also an meinem Arbeitsplatz haben wir viele Anwendungen, die wir verwenden und viele von ihnen haben ihren eigenen Server für die Anwendung selbst und einen separaten Server für die Datenbank dieser Anwendung, die in SSMS verwaltet werden kann.Wie stellt eine Anwendung eine Verbindung zu einer SQL Server-Datenbank her?

Ich wollte nur wissen, wie verbindet sich eine Anwendung mit einer SQL Server-Datenbank? Wie wird zum Beispiel beim Eingeben von Informationen in die Anwendung, wie wird es aktualisiert und in die Datenbank auf einem anderen Server als die Anwendung selbst eingefügt?

+1

Dies ist eine sehr weit gefasste Frage, die Seiten beantworten würde. Wissen Sie, in welche Programmiersprache (n) diese Anwendungen geschrieben wurden? – Ethilium

+0

Das ist mir nicht so sicher, da es mehrere Anwendungen gibt, mit denen ich noch nicht vertraut bin. Ich denke, ich dachte, es gäbe nur einen gemeinsamen Weg für alle. – bingaloman

Antwort

0

Um wieder aus der @Cade Roux Antwort Schweinchen, werde ich versuchen, wie ein Programmierer zu erklären würde verbinden und führen Sie SQL-Abfragen an den Server. Ich gehe davon aus, dass, weil Sie SSMS verwenden, Ihre Firma voll ist .Net-Stack. Ich werde C# als Programmiersprache für die Demo verwenden. Bitte beachten Sie, dass dies eine Erklärung auf hoher Ebene ist und nicht als Best Practice verwendet werden soll.

Eine Anwendung benötigt zwei Dinge, um eine SQL-Abfrage auszuführen: die Verbindungszeichenfolge und den SQL-Befehl, der ausgeführt werden soll. Folgendes ist ein Beispielcode:

...(other code)... 

string queryS = @"Update myTable Set sqlField = 'datatoupdate' Where otherSqlField = 'whyweareupdatingthisrow'"; 
string connS = @"Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; 

CreateCommand(queryS, connS); 


private static void CreateCommand(string queryString, 
    string connectionString) 
{ 
    using (SqlConnection connection = new SqlConnection(
       connectionString)) 
    { 
     SqlCommand command = new SqlCommand(queryString, connection); 
     command.Connection.Open(); 
     command.ExecuteNonQuery(); 
    } 
} 

'queryS' ist die Abfragezeichenfolge. Ich gehe davon aus, dass Sie damit vertraut sind, da Sie SSMS verwendet haben.

'connS' enthält die Verbindungszeichenfolge. Dies ermöglicht einer Anwendung, eine Verbindung zu öffnen und eine SQL-Abfrage mit einer Datenbank auszuführen. Darin sehen Sie, dass die Server- und Datenbanknamen bereitgestellt werden und welche Anmeldeinformationen benötigt werden (dieselben, die für den Zugriff auf die Datenbank über SSMS verwendet werden). Dadurch kann eine Anwendung auf eine Datenbank zugreifen, selbst auf einem anderen Server. Beachten Sie, dass dies nur eine generische Verbindungszeichenfolge und other parameters can be passed into it as well ist.

Die verbleibende Logik ruft eine Funktion auf, die die Verbindung öffnet und die Abfrage ausführt. Weitere Informationen zu SQL-Abfragen mit C# finden Sie unter here.

+0

Ok ich sehe, so ist es ziemlich viel Code innerhalb der Anwendung, die ihm mitteilt, wo zu verbinden und welche Felder in der Datenbank zu aktualisieren, wenn der Benutzer mit dem Front-End interagiert? – bingaloman

+0

Genau. Wenn Sie aktualisierte Daten über die Benutzeroberfläche (Frontend) senden, werden diese Daten als Variablen oder Parameter zurückgesendet, die an die Abfragezeichenfolge übergeben werden. – Ethilium

+0

Ich verstehe jetzt, danke, dass Sie es auf jeden Fall klarer gemacht haben! – bingaloman

1

SQL Server verfügt über ein Protokoll mit der Bezeichnung TDS: Tabular Data Stream, mit dem die Verbindung zum Server über das Netzwerk hergestellt wird.

Mehrere verschiedene Fahrer diese implementieren und verschiedene Schnittstellen zu Anwendungen präsentieren je nach ihren Vorlieben und Normen usw.

https://docs.microsoft.com/en-us/sql/connect/sql-server-drivers

Verwandte Themen