Skip to content

Projekt CookBook se spustí ale následně spadne s problémem při připojení do databáze

Roman Jašek edited this page Feb 10, 2023 · 1 revision

Jak se problém projevuje

Po spuštění aplikace v debug módu se vyhodí jedna z následujících výjimek:

  • Issue resolution InvalidOperationException: An exception has been raised that is likely due to a transient failure.
  • Cannot open database "CookBook" requested by the login. The login failed. Login failed for user '***'.
  • Microsoft.Data.SqlClient.SqlException: '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: SNI_PN11, error: 50 - Local Database Runtime error occurred. Error occurred during LocalDB instance startup: SQL Server process failed to start.)'

Co se pravděpodobně děje

Tady přicházejí do úvahy 2 možnosti:

  • Connection string do databáze není správný
  • Databáze není vytvořena, nebo na ní nejsou aplikovány migrace.

Řešení

  1. Zkontrolujte, že v sobouru src/CookBook/CookBook.App/appsettings.json jsou v hodnotě pro ConnectionString uvedeny atributy "Encrypt=False" a "TrustServerCertificate=True"
  2. Otevřete Command Line nebo PowerShell ve složce src/CookBook/ a spusťte příkaz dotnet ef database update --project CookBook.DAL

Pokud všechno proběhne v pořádku (po spuštění příkazu se zobrazí hlášky o aplikování migrací a ne nějaké chybové hlášky), tak můžete aplikaci spustit. Pro otestování správné funkcionality můžete v aplikaci zkusit vytvořit ingredienci, pokud se vám poté zobrazí v seznamu ingrediencí měli by být všechno nainstalováno a nastaveno správně.