IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Připojená databázová aplikace v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jan Svoboda
Člen
Avatar
Jan Svoboda:5. února 13:36

Ahoj,
no úplně jsem se v tom zamotal.

V tomto kurzu už v lekci č. 2 "Vytvoření lokální databáze" se poprvé objevuje problém dvou rozdílných názvů databáze. SlovnicekDB a SlovickaDB. Nejdřív jsem myslel, že je to kvůli tomu, abychom si vyzkoušeli různé způsoby vytvoření databáze. Později jsem došel k názoru, že to je zřejmě překlep, ale potom mě vážně dostalo, když se stejná problematika objevuje i v této lekci.

Teď tedy absolutně nerozumím, zdali máme mít vytvořené 2 databáze s rozdílnými názvy, nebo se jedná znovu o překlep. V přiložených řešeních ke stáhnutí jak z této lekce č.4, tak z lekce č.2, se ani v jednom řešení nevyskytují dvě rozdílné databáze. Ve složkách vidím pouze komponenty databáze SlovickaDB. Nikde se však nevyskytuje SlovnicekDB.

Dále... V této lekci jsou dva odstavce zvané Příklad 1 a Příklad 2.
V příkladu 1 se znovu vyskytuje ten problém s názvem databáze => csb.InitialCatalog = "SlovnicekDB";
V příkladu 2 je psáno: Otestujte spojení s databází s pomocí připojovacího řetězce z příkladu 1. Logicky by člověk usoudil, že se tedy jedná o string pripojovaciRetezec z příkladu 1, avšak v kódu je pro vytvoření instance třídy SqlConnection jako parametr použit string connectionString, tedy string který byl deklarován na začátku tohoto článku pomocí vlastnosti SlovickaDB.Con­nectionString

Takže tedy, můžete mi prosím objasnit, jestli se skutečně jedná o dvě různé databáze, nebo jsou to několikrát opakované překlepy a článek(články) je tedy nutné opravit?

Pak se chci zeptat, jaký je tedy rozdíl mezi řetězcem získaným z vlastnosti Properties.Set­tings.Default­.(databáze)Con­nectionString
a řetězcem vytvořeným přes třídu SqlConnection­StringBuilder?
Protože při pokusu o otevření spojení mi funguje pouze řetězec získaný z vlastnosti, ale při použití řetězce získaného z builderu mi program spadne s chybou login failed viz přiložený obrázek.. (pro upřesnění, jak lze vidět na obrázku, mám ve svém kódu použito csb.InitialCatalog = "SlovickaDB"; tedy databáze, která skutečně existuje)

Nakonec jsem si ještě povšimnul rozdílu, že v tomto článku je použito csb.DataSource = @"(LocalDB)\MSSQLLo­calDB"; kdežto v článku č.2 při vytváření databáze je použito (localdb)\MSSQLLo­calDB tedy název mezi závorkami je psán malými písmeny.. má to nějaký důvod?

 
Odpovědět
5. února 13:36
Avatar
Jan Svoboda
Člen
Avatar
Odpovídá na Jan Svoboda
Jan Svoboda:5. února 14:18

Na jedno jsem si zrovna teď odpověděl sám. U příkladu získání připojovacího řetězce pomocí třídy SqlConnection­StringBuilder (odstavec Příklad 1) jsem doplnil ještě příkaz

csb.AttachDBFilename = @"|DataDirectory|\SlovickaDB.mdf";

Teď už i tento připojovací řetězec funguje při otevření připojení k databázi. Zřejmě to tedy v článku chybí..
Ano vím, že je v článku uvedeno, že k připojení k lokální databázi řetězec musí obsahovat AttachDBFileName, ale hodilo by se, kdyby tento příkaz v daném příkladu byl vepsaný.

 
Odpovědět
5. února 14:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 52.