[MVC] Code-first spontane "A network-related error occurred"

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • maxtz0r
  • Registratie: Februari 2007
  • Laatst online: 17-12-2022
Voor de fun ben ik een projectje gestart met MVC + EntityFramework + Asp.net.Identity. Ik ben bezig op basis van de code-first principe en want tutorials aan het mixen om een web applicatie op te zetten.

Waar ik nu tegen aan loop is dat ik spontaan "A network-related or instance-specific error occurred while establishing a connection to SQL Server" errors krijg. Met spontaan bedoel ik dus dat de applicatie draait, ik ben wat aan het testen, stop de applicatie maak wat aanpassingen en bij de volgende build ontstaat deze error. Het kan zelfs voorkomen dat ik de applicatie tussendoor niet stop en start maar dat deze error ontstaat bij het opvragen van een pagina. Zodra ik mijn computer opnieuw opstart is de foutmelding weg :?

Ik heb al wat dingen geprobeerd zoals web.config aanpassingen, mssqlserver herstarten, iis expres herstarten etc.. maar gezien alles weer werkt na een reboot vermoed ik dat het ergens in de verbinding zit. Mijn connectiestring ziet er als volgt uit:

<add name="DatabaseEntities" connectionString="Data Source=localhost;Initial Catalog=Database;Integrated Security=True" providerName="System.Data.SqlClient" />

Nadat ik de error krijg kan ik gewoon via management studio de database benaderen en erop queryen. Heeft iemand enig idee hoe ik kan achterhalen waarom dit optreed? iedere keer comp opnieuw opstarten is redelijk irritant.

Nog even de hele error:

"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"

[ Voor 11% gewijzigd door maxtz0r op 01-09-2015 15:33 . Reden: Hele error geplaatst ]

Dying is God's way of telling you, you've been FIRED.


Acties:
  • 0 Henk 'm!

  • Vexxon
  • Registratie: Augustus 2011
  • Laatst online: 04-03 16:33
De foutmelding duidt er inderdaad op dat er geen verbinding gemaakt kan worden met de database. Deze draait bij jou op dezelfde machine volgens de connectionstring. Je zegt dat het probleem niet altijd optreedt, kun je daadwerkelijk de ene keer wel een query uitvoeren op de database en de andere keer niet? Als dat het geval is zal het niet aan je connectionstring liggen, want dan zou het altijd mis moeten gaan.
Je kunt even kijken in sql configuration manager of de service draait wanneer de fout optreedt en of er een melding/errorcode staat waar je iets mee kan.

Acties:
  • 0 Henk 'm!

  • Jogai
  • Registratie: Juni 2004
  • Laatst online: 22:22
Kijk ff in de eventviewer

Klik hier om op linkedIn lid te worden van de Freelance Tweakers groep.


Acties:
  • 0 Henk 'm!

  • LennardF1989
  • Registratie: September 2011
  • Laatst online: 23-02-2024
Volgens mij moet de localhost in je Data Source .\sqlexpress zijn, gezien je aangeeft Express te hebben herstart als mogelijke oplossing. Let op de punt én de backwards slash!

In ieder geval moet het echt precies hetzelfde zijn als wat je bij SQL Management Studio invult. localhost (127.0.0.1) is namelijk niet hetzelfde als de instance die lokaal draait, het is afhankelijk van hoe je tijdens de installatie met de instellingen hebt gespeeld.

[ Voor 154% gewijzigd door LennardF1989 op 01-09-2015 20:38 . Reden: Verduidelijking ]


Acties:
  • 0 Henk 'm!

  • maxtz0r
  • Registratie: Februari 2007
  • Laatst online: 17-12-2022
update

Kom er dus net achter dat dit probleem alleen optreed in Google Chrome. Ik had er niet aan gedacht om de pagina eens te openen in een andere browser. Zojuist IE geprobeerd en terwijl Chrome dezelfde foutmelding blijft geven werkt IE zonder problemen... 8)7 :?
Vexxon schreef op dinsdag 01 september 2015 @ 18:18:
De foutmelding duidt er inderdaad op dat er geen verbinding gemaakt kan worden met de database. Deze draait bij jou op dezelfde machine volgens de connectionstring. Je zegt dat het probleem niet altijd optreedt, kun je daadwerkelijk de ene keer wel een query uitvoeren op de database en de andere keer niet? Als dat het geval is zal het niet aan je connectionstring liggen, want dan zou het altijd mis moeten gaan.
Je kunt even kijken in sql configuration manager of de service draait wanneer de fout optreedt en of er een melding/errorcode staat waar je iets mee kan.
Ik kan altijd een query uitvoeren. Wanneer mijn webapplicatie een error geeft open ik management studio maak verbinding naar localhost met windows authorization(maar ook sql authorization geprobeerd) en kan ik gewoon de tabellen querien.

Ik zal eens kijken of ik wat kan zien in logging.
Goeie, ga ik doen.
LennardF1989 schreef op dinsdag 01 september 2015 @ 20:28:
Volgens mij moet de localhost in je Data Source .\sqlexpress zijn, gezien je aangeeft Express te hebben herstart als mogelijke oplossing. Let op de punt én de backwards slash!

In ieder geval moet het echt precies hetzelfde zijn als wat je bij SQL Management Studio invult. localhost (127.0.0.1) is namelijk niet hetzelfde als de instance die lokaal draait, het is afhankelijk van hoe je tijdens de installatie met de instellingen hebt gespeeld.
Dat was ik in de TS even vergeten te melden, ik heb een MSSQL 2014 (12.0.4213.0) Installatie en na het opnieuw opstarten werkt de connectionstring gewoon. Bij management studio gebruik ik dus ook gewoon localhost.

Wanneer de foutmelding optreed kan ik met andere projecten die op de zelfde database draaien wel gewoon verbinden met sql.

In SQL log zie ik geen entries binnen komen. In EventViewer dezelfde APS.net melding als ik op mijn pagina.

[ Voor 13% gewijzigd door maxtz0r op 02-09-2015 09:56 ]

Dying is God's way of telling you, you've been FIRED.


Acties:
  • 0 Henk 'm!

  • Vexxon
  • Registratie: Augustus 2011
  • Laatst online: 04-03 16:33
Ik kan altijd een query uitvoeren. Wanneer mijn webapplicatie een error geeft open ik management studio
Wat ik eigenlijk bedoelde is of jouw webapplicatie queries uit kan voeren op de database in eerste instantie voordat de fout optreedt.
Als dat het geval is dan zal de service gecrashed zijn en kun je wellicht in de eventvwr een foutmelding ontdekken. SQL configuration manager wil ook nog weleens een melding geven waar je wat mee kunt.
Bij management studio gebruik ik dus ook gewoon localhost.
Ook hetzelfde account uit de connectionstring neem ik aan?

Ik zie in je connectionstring dat je Integrated security gebruikt, onder welk account draait je website, want dat ik namelijk het account waarmee je verbinding maakt.

Kun je anders ook even proberen om in plaats van localhost 127.0.0.1 in je connectionstring te zetten bij Data Source? Misschien mist die entry in je hostfile en kan localhost niet vertaald worden naar het IP-adres?

[ Voor 24% gewijzigd door Vexxon op 02-09-2015 10:44 ]


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Weet je zeker dat je ook maar 1 data context hebt?

M.a.w. staat er nog een default connectionstring? (ApplicationDbContext)

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • maxtz0r
  • Registratie: Februari 2007
  • Laatst online: 17-12-2022
Lethalis schreef op woensdag 02 september 2015 @ 10:55:
Weet je zeker dat je ook maar 1 data context hebt?

M.a.w. staat er nog een default connectionstring? (ApplicationDbContext)
_/-\o_ Dat was hem. Ik ben bezig geweest wat tutorials te combineren en er stond nog ergens een data context die er niet hoorde. Zojuist gewijzigd en het lijkt te werken.

Dying is God's way of telling you, you've been FIRED.

Pagina: 1