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.
Člen
Zobrazeno 28 zpráv z 28.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
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...
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á
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...
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?
Četl jsem, vše by mělo být v pořádku. ConnectionString mám vygenerovaný přímo z hostingu.
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...
To tam mám celou dobu. Zkusil jsem teď dopsat port SQL za IP adresu a hází to tuto chybu.
Tak to máš asi někde blbě, protože jinak by to ukázalo v jakém souboru je problém
Absolutně nevím kde by to mohlo být špatně. Raději přidávám screeny.
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
Zkusil jsem, ale nepomohlo to. Absolutně nevím co by mohlo být špatně..
Ve Web.Config a designer.cs, a to by mělo být vše ne?
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...
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?
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...
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í.
*.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...
Odpovědět používám pokaždé.
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.
V oblasti EF jsem začátečník, dosud jsem používal webforms a klasické SQL příkazy...
Špatně se mi odeslala zpráva..
Absolutně netuším co s tím teď. :/
A je ten connection string určite správne?
Ak ideš na MS SQL Server, tak tam musí byť Data Source, Initial Catalog,
atď....
No přesně takhle mi to vygenerovalo na aspone..
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.
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="SiteSqlServer" connectionString="Data Source=192.168.1.5;Initial Catalog=dbxxxx;User ID=dbxxxx;Password=HESLOdoDATABAZE" providerName="System.Data.SqlClient" />
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.
Však to ti psal i jozef_i,
Ak ideš na MS SQL Server, tak tam musí byť Data Source, Initial Catalog, atď....
Zobrazeno 28 zpráv z 28.