Diskuze: ASP.NET, databáze a hosting

C# .NET .NET (C# a Visual Basic) ASP.NET, databáze a hosting American English version English version

Avatar
Taikiryo Sakurai:

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. května 12:53
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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í
+1 bodů
Řešení problému
Nahoru Odpovědět 12. května 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:

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. května 20:50
Avatar
Odpovídá na m.zimcik
Taikiryo Sakurai:

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. května 10:15
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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:

Č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. května 14:37
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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:

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. května 17:38
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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:

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

 
Nahoru Odpovědět 13. května 21:39
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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:

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

 
Nahoru Odpovědět 15. května 18:08
Avatar
Nahoru Odpovědět 15. května 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:

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

 
Nahoru Odpovědět 15. května 18:30
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 18:33
Nahoru Odpovědět 15. května 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:

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. května 18:38
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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:

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. května 9:41
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

*.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. května 10:22
Nahoru Odpovědět 16. května 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:

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. května 10:47
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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

Nahoru Odpovědět 16. května 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:

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

 
Nahoru Odpovědět 16. května 12:34
Avatar
jozef_i
Člen
Avatar
Odpovídá na Taikiryo Sakurai
jozef_i:

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. května 14:27
Avatar
Odpovídá na jozef_i
Taikiryo Sakurai:

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

 
Nahoru Odpovědět 16. května 16:25
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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:

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  +3 17. května 22:21
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

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. května 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.