Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.
Avatar
Adam Ježek
Tvůrce
Avatar
Adam Ježek:26.12.2014 13:26

Ahojte,
mám ve Visual Studiu 2013 vytvořenou u projektu databázi(Service-Based Database), mam tam i několik tabulek, ale potřeboval bych nasměrovat s připojením k databázi. Zkusil jsem to takhle:

        string connectionstring = "Data Source=(LocalDB)\v11.0;AttachDbFilename=\"C:\\Users\\Adam\\SkyDrive\\Microsoft Visual Studio\\Visual Studio 2013\\Inventura\\Inventura\\InvDB.mdf\";Integrated Security=True";
//connectionstring mám z database explorer -> InvDB.mdf -> properties
        public int testpripojeni()
        {
            using(SqlConnection pripojeni  = new SqlConnection(connectionstring))
            {
                pripojeni.Open(); //a tady to vyhodí chybu
                SqlCommand prikaz = new SqlCommand();
                prikaz.CommandText = " SELECT COUNT (*) FROM HlavniTab";
                int pocet = (int)prikaz.ExecuteScalar();
                pripojeni.Close();
                return pocet;

            }

        }

Problém je v tom, že u pripojeni.Open() mi VS vyhodí chybu:

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Additional information: 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Takže co dělam špatně?
Díky.

Odpovědět
26.12.2014 13:26
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:26.12.2014 13:41

Zkus místo té absolutní cesty dát relativní...

Nahoru Odpovědět
26.12.2014 13:41
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:26.12.2014 13:47

Naprosto stejná chyba...

Nahoru Odpovědět
26.12.2014 13:47
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:26.12.2014 14:58

a jak jsi tu cestu napsal?

Nahoru Odpovědět
26.12.2014 14:58
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:26.12.2014 15:07

Zkoušel jsem

string connectionstring = "Data Source=(LocalDB)\v11.0;AttachDbFilename=\"InvDB.mdf\";Integrated Security=True";

i

Inventura\InvDB.mdf //s použitím složky projektu

Soubor databáze je v

C:\Users\Adam\SkyDrive\Microsoft Visual Studio\Visual Studio 2013\Inventura\Inventura\InvDB.mdf
Nahoru Odpovědět
26.12.2014 15:07
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:26.12.2014 15:13

A nemůže to mít souvislost s tím, že je to na tom OneDrive? Co jsem pochopil z té chyby, píše, že se nemůže do toho souboru dostat...

Nahoru Odpovědět
26.12.2014 15:13
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:26.12.2014 15:26

Je to ve složce na disku, která je normálně dostupná offline. Onedrive se menuje jenom kvůli tomu, že se pravidelně synchronizuje. Podle mě je chyba asi v nastavení databáze nebo něco s tim, ale netušim kde

Nahoru Odpovědět
26.12.2014 15:26
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:26.12.2014 16:41

Zkus místo té celé cesty dát

|DataDirectory|\InvDB.mdf
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
26.12.2014 16:41
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:26.12.2014 17:08

No, teď mi to vyhodí v tom řádku s usingem chybu o tom, že je chybná hodnota

Additional information: Invalid value for key 'attachdbfilename'.

Že bych to tam napsal blbě?

string connectionstring = "Data Source=(LocalDB)\v11.0;AttachDbFilename=\"|DataDirectory|\\invDB.mdf\";Integrated Security=True";
Nahoru Odpovědět
26.12.2014 17:08
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:26.12.2014 17:22

Tak jsem si všiml, že jsem tam neodescapoval jedno lomíto

string connectionstring = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=\"C:\\Users\\Adam\\SkyDrive\\Microsoft Visual Studio\\Visual Studio 2013\\Inventura\\Inventura\\InvDB.mdf\";Integrated Security=True";

mezi localDB) a v11.0
Vypadalo to, že mam vyhráno, databázi otevře(nebo spíš bude přesnější říct, že nevyhodí chybu při otvírání databáze), ale teď to hází chybu v lajně s Execute příkazu

Additional information: ExecuteScalar: Connection property has not been initialized.

Takže že by bylo něco s SQL serverem?

Nahoru Odpovědět
26.12.2014 17:22
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Adam Ježek
Tvůrce
Avatar
Adam Ježek:26.12.2014 18:53

Tak chyba mezi židlí a počítačem :D

prikaz.Connection = pripojeni;

každopádně díky s tim připojení k databázi

Nahoru Odpovědět
26.12.2014 18:53
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:26.12.2014 19:33

Jsem rád, že ti to pomohlo... 8-)

Nahoru Odpovědět
26.12.2014 19:33
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
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 12 zpráv z 12.