MVC-3 ASPNETDB.MDF SqlExpress Datenbank-Verbindungszeichenfolge, die auf Web-Hosting
Ich denke, das ist eher eine Verbindungszeichenfolge Problem, MVC 3, also sorry im Voraus.
Ich habe eine website in MVC 3 mit der Standard-Datenbank, die erstellt wird, wenn Sie registrieren Sie einen neuen Benutzer. Es funktioniert lokal aber nicht auf mein web-hosting, wo ich die folgende Fehlermeldung:
Ein Netzwerk-oder instanzspezifischen Fehler beim herstellen einer Verbindung zu SQL Server. Der server wurde nicht gefunden oder ist nicht zugänglich. Stellen Sie sicher, dass der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (Anbieter: SQL-Netzwerkschnittstellen, error: 26 - Fehler suchen von Server-Instanz Angegeben)
Die Standard-connection-strings sind:
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
<add name="ASPNETDBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
Sollte ich geben Sie eine Verbindungszeichenfolge mit einer expliziten IP-Adresse des Servers ein, oder behalten Sie den .\SQLEXPRESS Befehl? Wenn ich geben Sie einen Benutzernamen und ein Kennwort, was soll ich verwenden? Ich habe noch nie verwendet eine lokale SQLExpress Datenbank vor, also ich bin ratlos (die ich bin sicher, dass ist offensichtlich).
- Auf Ihrem web-hosting, wo die Datenbank installiert? Hat es auch eine SQL Express installiert?
- Die Datenbank im App_Data-Verzeichnis. Die web-hosting-Staaten "SQL Management Express Unterstützt", sondern aus der Systemsteuerung kann ich keine sehen Weise zu konfigurieren (noch weiß ich, ob Konfiguration erforderlich). Ich warte auf eine Antwort von Ihnen, aber fragte mich, ob es eine einfache Verbindungszeichenfolge Thema statt.
- Es stellt sich heraus, der hosting-provider nicht unterstützt SQL Server Express, so brauche ich zum erstellen einer standard-SQL-Datenbank sowieso. Vielen Dank für die Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht SQL Express verwenden, dann könnten Sie überlegen, ob eine eingebettete SQL-Engine:
SQL Compact Edition oder SQLLite
Habe ich noch nie benutzt, SQL-CE, aber SQLLite ist nur eine einzige DLL.
Natürlich werden Sie nicht alle Funktionen einer vollwertigen Datenbank-engine, aber Sie sind immer noch ziemlich stark.
In der Regel müssen Sie verwenden eine Verbindungszeichenfolge, die mit einer bestimmten IP-Adresse, Benutzername, Passwort, etc.
Wer bist du hosting mit? In der Regel ein .net-host-provider geben Sie die Verbindungszeichenfolge, die zum herstellen einer Verbindung zu Ihrer Datenbank. Sie können kopieren und fügen Sie web.config. Auch, wenn Sie die Datenbank erstellen für Sie, Sie in der Regel geben Sie den Benutzernamen, Passwort und Datenbank-Namen, also müssen Sie alles verändern.
Dies ist, visual studio Web.config.Debuggen und Web.config.Version mit xml-Transformationen. Auf diese Weise, wenn Sie veröffentlichen auf der Website, die Verbindung Zeichenfolge wird automatisch verändert von Ihrem lokalen Verbindungszeichenfolge die Verbindungszeichenfolge verwendet, die in der Produktionsumgebung.
Müssen Sie wahrscheinlich Lesen Sie diesen Artikel?
http://www.asp.net/mvc/tutorials/authenticating-users-with-forms-authentication-cs
Deafault ".net" installiert die Anwendung Dienste "AttachDBFilename=|DataDirectory|aspnetdb.mdf"
Dann erstellen Sie Ihre eigene DB, und jetzt bist du mit zwei DB ' s, um Daten zu speichern, die konnte man einfach in eine.
Wenn Sie Lesen Sie die oben genannten Artikel zeigt, wie Sie kombinieren alles in eine DB.
Wenn Sie bereitstellen, um die hosting-server (und es hat ein limit, wie viele DB ' s, die Sie verwenden können, oder noch nicht einmal in Betrieb sqlexpress) weder DB anfügen. Sie müssen also, um eine "Transformation-Datei" für Ihr web.config-Datei (in der Regel Debug und Release), das ist im Grunde ein anderes web.config aber nur mit den Zeilen der config, dass Sie sich ändern müssen, wenn die Website wird bereitgestellt, um die hosting-server.
Also Ihr hosting-provider geben Ihnen die Informationen, die benötigt werden für die Verbindungszeichenfolge auf dem server. Sie dann setzen, dass in der "web.config.release" - Datei und, wenn Sie kompilieren und veröffentlichen Sie die "release" version Ihrer Website erhalten Sie eine web.config-Datei, die den korrekten Anschluss von string-Daten im.