NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: ASP.NET, databáze a hosting

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Taikiryo Sakurai:12.5.2016 12:53

Ahoj, mám takový problém.
Právě se učím a zkouším nějaké základy MVC. Mám ve Visual Studiu projekt, který obsahuje databázi. Prvně jsem to měl jen přes soubor a nakonec jsme se rozhodl to propojit s SQLExpress. Ale je tady problém. Databázi mám s projektem propojenou pomocí Linq to SQL a nedokážu přijít na to, jak to zprovoznit na hostingu. Prostě nechápu ten princip, jak by to mělo fungovat. Když si na hostingu vytvořím databázi a do web.configu vložím connection string, tak to stejně nebude fungovat, protože to není propojené přes linq to sql ne?
Díky za odpovědi.

 
Odpovědět
12.5.2016 12:53
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:12.5.2016 13:34

Mělo by, protože tomu programu je přeci jedno, kde máš tu DB umístěnou. Pošleš příkaz přes LINQ do entit a o to, kde je DB se stará ConnectionString...

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
12.5.2016 13:34
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
m.zimcik
Člen
Avatar
m.zimcik:12.5.2016 20:50

Ahoj ještě mám takový dodatek k tomu LINQ to SQL. Je možné, že v backend (něco.designer.cs) souboru pro LINQ budeš muset přepsat název ConnectionStringu. Mě osobně se třeba stalo, že i když jsem ho měl správně pojmenovaný we Web.Config, dejme tomu "Constr" tak se mi k němu automaticky na localhostu dopsalo název databáze na třeba "zahradkariConstr" nevím proč, ale s tímto problémem sem se potýkal já ;)

 
Nahoru Odpovědět
12.5.2016 20:50
Avatar
Odpovídá na m.zimcik
Taikiryo Sakurai:13.5.2016 10:15

Ahoj, tak právě jsem zjistil že někde mám další problém. Myslím, že to mám všude přepsané dobře a databáze mi hází chybu. Absolutně už netuším čím by to mohlo být...

 
Nahoru Odpovědět
13.5.2016 10:15
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:13.5.2016 12:43

Přečti si tu chybu a budeš vědět, kde je problém. Nekomunikuje to s tím SQL serverem... Máš správně uvedenou cestu k DB, uživatele, heslo, název databáze v ConnectionStringu?

Nahoru Odpovědět
13.5.2016 12:43
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:13.5.2016 14:37

Četl jsem, vše by mělo být v pořádku. ConnectionString mám vygenerovaný přímo z hostingu.

 
Nahoru Odpovědět
13.5.2016 14:37
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:13.5.2016 14:47

Dej si do web.config třeba hned pod tu část s ConnectionStringem

<system.web>
<customErrors mode="Off"/>
</system.web>

a měl by ti napsat přesněji, kde ta chyba je...

Nahoru Odpovědět
13.5.2016 14:47
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Taikiryo Sakurai:13.5.2016 17:38

To tam mám celou dobu. Zkusil jsem teď dopsat port SQL za IP adresu a hází to tuto chybu.

 
Nahoru Odpovědět
13.5.2016 17:38
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:13.5.2016 18:39

Tak to máš asi někde blbě, protože jinak by to ukázalo v jakém souboru je problém

Nahoru Odpovědět
13.5.2016 18:39
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Taikiryo Sakurai:13.5.2016 21:39

Absolutně nevím kde by to mohlo být špatně. Raději přidávám screeny.

 
Nahoru Odpovědět
13.5.2016 21:39
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:14.5.2016 18:27

Být tebou, tak ten ConnectionString přejmenuju všude na DefaultConnection. Onehdy jsem si dal svůj název ConnectionStringu a s DB jsem se nespojil ani kdyby čert na koze jezdil... Když jsem dal název DefaultConnection, najednou to bylo všechno OK

Nahoru Odpovědět
14.5.2016 18:27
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:15.5.2016 18:08

Zkusil jsem, ale nepomohlo to. Absolutně nevím co by mohlo být špatně..

 
Nahoru Odpovědět
15.5.2016 18:08
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:15.5.2016 18:11

Přejmenoval jsi to všude?

Nahoru Odpovědět
15.5.2016 18:11
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:15.5.2016 18:30

Ve Web.Config a designer.cs, a to by mělo být vše ne?

 
Nahoru Odpovědět
15.5.2016 18:30
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:15.5.2016 18:31

A co jednotlivé instance v příkazech? A jestli jsi něco měnil v designer.cs, tak se pak nediv, že ti něco nefunguje. Do tohoto souboru bych se nehrabal vůbec...

Editováno 15.5.2016 18:33
Nahoru Odpovědět
15.5.2016 18:31
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Taikiryo Sakurai:15.5.2016 18:38

V příkazech čerpám z DataContextu, nikde to tam zmíněné nemám. V designer.cs jsem měnil název Connection Stringu který je ve Web.Cofing. Kde jinde bych vybral jak čerpat z databáze která je na serveru aspone?

 
Nahoru Odpovědět
15.5.2016 18:38
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:15.5.2016 23:55

Podle mě bys do designeru vůbec neměl zasahovat. Jen ve web.config nastavuješ přístup do DB. Před tím jsem nevěděl, že to máš s EF. Kdybys používal klasické SQL dotazy, nastavoval bys instanci připojení, ale takhle samozřejmě ne a všechno je to jen o tom connectionstringu ve web.config. NIKDE jinde nepotřebuješ nastavovat nic. Pokud něco změníš v designeru, může se lehce stát, že ti to nebude makat podle tvých představ...

Nahoru Odpovědět
15.5.2016 23:55
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Taikiryo Sakurai:16.5.2016 9:41

Ono to nemůže pak ale komunikovat s LINQ to SQL, protože jsem tam původně měl databázi se souboru .mdf.
Proto jsem v designeru přespal tu .mdf na název a connectionstring té externí.

 
Nahoru Odpovědět
16.5.2016 9:41
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:16.5.2016 10:21

*.mdf je přece SQL databáze v souboru, takže by to mělo z tohoto pohledu OK. Problém si myslím, že je v tom, že on tu databázi hledá v tom umístění té původní DB (tuším App_Data), ale tam ji pochopitelně nemůže najít, když ji máš na webhostingu jako klasickou SQL databázi... Kdybys to měl i na lokálu jako LocalDB a ne jako CompactEdition (soubor), bylo by dle mého názoru všechno OK.
EDIT: a používej tlačítko odpovědět, bo pak mi přijde ihned mail a můžu reagovat dříve...

Editováno 16.5.2016 10:22
Nahoru Odpovědět
16.5.2016 10:21
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:16.5.2016 10:47

Odpovědět používám pokaždé. :O
No když tam hodím SQLExpress tak všechno funguje jak má, když tam dám soubor tak taky všechno jede jak má, ale když to chci na webhostingu, tak to nejede. Dá se z databáze čerpat nějak jinak než pomocí linq to sql a poté pomocí DataContextu? Zkoušel jsem si udělat vlastní Context, ale nefungovalo mi DbContext, i když namespace Data.Entity mám. Dělám tohle vlastně poprvé a absolutně si teď nevím rady a nikde jsem nenašel nic, co by mi pomohlo.

 
Nahoru Odpovědět
16.5.2016 10:47
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:16.5.2016 10:50

V oblasti EF jsem začátečník, dosud jsem používal webforms a klasické SQL příkazy...

Nahoru Odpovědět
16.5.2016 10:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Taikiryo Sakurai:16.5.2016 12:34

Špatně se mi odeslala zpráva..
Absolutně netuším co s tím teď. :/

 
Nahoru Odpovědět
16.5.2016 12:34
Avatar
jozef_i
Člen
Avatar
Odpovídá na Taikiryo Sakurai
jozef_i:16.5.2016 14:27

A je ten connection string určite správne?
Ak ideš na MS SQL Server, tak tam musí byť Data Source, Initial Catalog, atď....

 
Nahoru Odpovědět
16.5.2016 14:27
Avatar
Odpovídá na jozef_i
Taikiryo Sakurai:16.5.2016 16:25

No přesně takhle mi to vygenerovalo na aspone..

 
Nahoru Odpovědět
16.5.2016 16:25
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:16.5.2016 18:29

Zkus si vytvořit novou aplikaci s databází LocalDB, nech defaultní název connectionstringu a zkus si to na tom aspone spustit. Uvidíš, že to bude OK.

Nahoru Odpovědět
16.5.2016 18:29
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:17.5.2016 22:21

Takže super, už všechno funguje jak má. Všem děkuji za ochotu a snahu.
Kdyby někdo měl stejný problém jako já, tak tady hodím i řešení.

Stačilo napsat na support@aspone.cz aby mi poradili connectionstring k jejich online databázi, ti mi přeposlali tento:

<add name="SiteSqlSer­ver" connectionStrin­g="Data Source=192.168­.1.5;Initial Catalog=dbxxxx;User ID=dbxxxx;Pas­sword=HESLOdo­DATABAZE" providerName="Sys­tem.Data.SqlCli­ent" />

A už najednou všechno jede jak má.
Bylo to tak jednoduché, ale stejně to pořád nechtělo jet. Snad to taky někomu pomůže.

 
Nahoru Odpovědět
17.5.2016 22:21
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:18.5.2016 7:50

Však to ti psal i jozef_i,

Ak ideš na MS SQL Server, tak tam musí byť Data Source, Initial Catalog, atď....

Nahoru Odpovědět
18.5.2016 7:50
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 28 zpráv z 28.