Können wir generaliVerbindungsZeichenFolge für SQL Server und SQL Server Express haben?
-
06-07-2019 - |
Frage
Ich habe einen WCF-Dienst, der auf einer Maschine eingesetzt wird. Dieser WCF-Dienst kann entweder SQL Server oder SQL Server Express konfiguriert werden.
. Hinweis: Der SQL-Datenbank Standort kann andere Maschine sein, andere dann in dem WCF-Dienst bereitgestellt wird
Ich setze folgende Informationen in XML-Datei:
- Benutzer-ID
- Passwort
- Servername
- Name_der_Maschine
Bei SQL Server Express
Die Servername Eigenschaft ist "SQLEXPRESS". Intern anhängen ich die Server mit Name_der_Maschine so die -serverName ist:
Name_der_Maschine \ SQLEXPRESS
, die an Verbindungszeichenfolge übergeben wird.
Bei SQL Server
Wenn ich passieren Server , um SQL Server wirft es Ausnahme.
Bitte leite mich für den besten Ansatz !!
Lösung
Was ist die Ausnahme? Auch ich bin nicht sicher, was der Unterschied zwischen Server und Name_der_Maschine ist. Vielleicht bedeutete Sie Servername und InstanceName? Sie sollten Ihre Zeichenfolge auf diese Weise konstruieren (Pseudo-Code, ich habe keine Ahnung, welche Sprache Sie verwenden):
DataSource = ServerName
If (InstanceName != "")
DataSource += "\" + InstanceName
Andere Tipps
Sie können das gleiche Verbindungszeichenfolge Format sowohl SQL Server Express und voller Ausgaben verbinden.
Sie einfach sicher, dass Sie durch die richtige Zeichenfolge gehen, so etwas wie das wäre gemein, für Standardinstallationen.
Data Source=MachineName\SQLExpress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
und für die vollständigen SQL Server
Data Source=MachineName;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Der wahrscheinlichste Grund ist, weil die Instanz von MSSQLSERVER unter der Standardinstanz ausgeführt wird, anstatt eine benannte Instanz (das ist, was SQL Express tut). Eine Arbeit um eine lokale Eigenschaftsdatei zu konfigurieren, die die Verbindungszeichenfolge spezifisch für die Umwelt hält. Dann verweist entweder die Datei mit in der Konfigurationsdatei selbst oder haben einen Teil Ihres Build-Prozesses, die Informationen in die Konfigurationsdatei übernehmen.