Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

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
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:

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
Tým ITnetwork
Avatar
Nahoru Odpovědět 26.12.2014 13:47
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
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
Tým ITnetwork
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:

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
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:

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
Tým ITnetwork
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:

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
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:

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

|DataDirectory|\InvDB.mdf
Akceptované řešení
+20 Zkušeností
+1 bodů
Ř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
Tým ITnetwork
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:

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
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Michal Štěpánek
Adam Ježek:

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
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

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
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Odpovídá na Adam Ježek
Michal Štěpánek:

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

Nahoru Odpovědět  +1 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.