Warum schlägt diese Datenbankverbindung fehl, wenn sich "Anwendungsname = Anwendung" in der Verbindungszeichenfolge befindet?

9

Wir schreiben eine Multi-Tenant Silverlight-Anwendung. Der Benutzer meldet sich mit der Windows Forms-Authentifizierung an und wir ziehen die Verbindungszeichenfolge für diesen Benutzer aus einer Tabelle. Die Zeichenfolge hatte die Form:

%Vor%

Das hat gut funktioniert. Wir haben dann entschieden, dass der Name der Anwendung aus Gründen, hier festgelegt wäre eine gute Idee:

%Vor%

Allerdings wird die Verbindung jetzt nicht hergestellt, daher erhalten wir Fehler. Dies schlägt nur auf der bereitgestellten Site fehl. Das Ausführen über Visual Studio ist anscheinend nicht betroffen. Der Code, der die Verbindung herstellt, wurde nicht geändert. Ich bin bereit zu glauben, dass es Veränderungen geben sollte, aber ich konnte nicht herausfinden, was sie sein sollten.

Die Verbindung wird so erstellt:

%Vor%

SessionCache.OurConnectionString ist die Zeichenfolge, die aus der Datenbank gelesen wird.

AKTUALISIEREN

Die Änderung der Verbindungszeichenfolge kann ein Ablenkungsmanöver sein. Wir bekommen diesen Fehler nur auf einem Webserver (auf den ich keinen direkten Zugriff habe). Durch das Hinzufügen der Eigenschaft zu der Datenbank, auf die von einem anderen Webserver verwiesen wird (auf den Zugriff hat), wird das Problem nicht reproduziert. Dies führt mich zu der Schlussfolgerung, dass der Fehler woanders liegt. Ich bin jedoch immer noch nicht näher dran, das zu lösen.

Der tatsächliche Fehler ist eine Ausnahme:

%Vor%

All die Forschungen, die ich heute zu diesem Thema gemacht habe, geben einige ziemlich grundlegende Dinge zurück, die nicht geändert haben sollten:

  • System.ComponentModel.DataAnnotations, System.ServiceModel.DomainServices.EntityFramework, System.ServiceModel.DomainServices.Hosting und System.ServiceModel.DomainServices.Server werden nicht in das Verzeichnis \ bin kopiert. Ich habe überprüft und sie sind.
  • Fehler beim Herstellen einer Verbindung zum Datenbankserver. Ich denke nicht das ist der Fall, da die Formularauthentifizierung funktioniert. Es ist eine andere Datenbank auf dem Server, aber die Anmeldeinformationen sind identisch.
ChrisF 30.01.2012, 14:16
quelle

2 Antworten

1

Es stellte sich heraus, dass das Problem auf die auf dem Server installierte Version der RIA Services zurückzuführen war.

Wir hatten die Projekte kürzlich über den NuGet-Paket-Manager auf RIA-Services umgestellt und auf diesem Server waren bereits RIA Services für VS2010 installiert. Als wir das aussortiert haben, ist alles wieder lebendig geworden.

Es ist nicht klar, warum es so lange gedauert hat, bis sich dieses Problem manifestiert hat.

    
ChrisF 01.02.2012, 09:18
quelle
0
  

Wir bekommen diesen Fehler nur auf einem Webserver (auf den ich keinen direkten Zugriff habe). Das Hinzufügen der Eigenschaft zu der Datenbank, auf die von einem anderen Webserver verwiesen wird (auf den ich Zugriff habe), reproduziert das Problem nicht.

Überprüfen Sie die Webserver-Konfiguration und ob die Datenbank korrekt installiert ist.

sieht für mich wie Webserver config / db installation aus.

    
PhilW 31.01.2012 17:55
quelle