Ahoj, mám takový problém, v Microsoft Visual Basic 2005 Ex.Ed. jsem vytvořil jednoduchý program, který měl za úkol jenom zobrazovat určité tabulky.
Protože tabulky měly být propojeny a používal jsem SQL dotazy použil jsem databázi MS SQL (do programu je tedy načítaný soubor *.mdf)
To je všecko hezké, až na to že ten program funguje jedině na mém pc. když jsem to zkoušel ve škole psalo mi to hlášku, že se to nemůže propojit s tím databázovým souborem Může mi to někdo vysvětli a poradit co stím?
Jsem zoufalý, díky.
Fórum › Visual Basic
Visual Studio a MS SQL
Kamos ma visual c++ ex ed a hovoril ze to ze sa to neda spustit na inom pc je sposobene tym ze to mas express edition. musel by si na tom compe nainstalovat to co mas ty na svojom (visual studio) alebo net framework (nie som si isty ci staci len on)
tak ten .NET Framework tam aninstalovaný určitě bude, navíc to je součástí SP2, ne? Co přesně to psalo... pokusím to říci vlastními slovy, prostě že se nezdařilo spojení s tím databázovým souborem (*.mdf) je to podobná hláška jako když ten soubor přímo odstraním (ze složky release, tedy ze stejného adresáře ve kterém je *.exe)
Zajímavé ale je že v té škole mi nešel ten *.mdf soubor ani do toho Visualu načíst.
Je to totiž z MS SQL serveru, protože MySQL se nechovalo standardtně a stejně jako Acces (*.mdb) nereagoval na SQL dotazy (propojení tabulek)
Celý program to tiž spravuje tu databázi, přidávám a mažu informace.
To je prostý, MS SQL je serverová databáze, *.mdf je datový soubor, který je možný pevně nebo dočasně (pouze u Express) připojit k serveru. Z toho vyplývá, že na PC, kde takvou aplikaci spouštíš je nutné nainstalovat SQL Server (v tvém případě Express). Samozřejmě je nutné přepnout buildovat rojekt jako Release a na cílovém PC mít .NET FW.
PS: podobná vlákna patří do diskuze .NET případně Databáze :)
To DeaLer:
No to je jedna věc, ale snad každá instalace Visualu obsahuje i MS SQL server, ten *.mdf soubor nepotřebuju aby byl k serveru připojen, ten jsem načetl do VS, jako jiný datový soubor.
Otázka tedy zní, je nutné aby i na cílovém PC byl nainstalovaný MS SQL server?
Nejen, že ho potřebuješ k SQL serveru připojit, ale dokonce ti nic jiného nezbývá. Odpověď najdeš v mém předchozím příspěvku.
PS: v některých instalacích ano, ale to až u vyšších verzí ... volitelně
To DeaLer:
Tak z toho jsem jelen. Nechci tím už prudit, ale když jsem tu databázi dělal, něl jsem nainstalvovyný MS SQL Server 2000, a dělal jsem ji v nějakém manageru. Z té databáze jsem ten soubor exportoval v tom *.mdf a tento soubor jsem potom zkopíroval do projektu a načítal do VS. Jakto že to tedy musí být připojené k SQL serveru, když nebylo.
Zajímavější mi ale příjde fakt, že od té doby co jsem to dělal, mám už asi 2x jiný systém, a MS SQL Server 2000 jsem už neinstaloval. Přesto mi ten projekt u mě jede! Jak jsem říkal součásti VS je i MS SQL server, ale vněm snad není nalogovaná ta moje databáze, leda by se tam dostala sama.
Rozumíš mi, co nachápu? Díky
Tak ještě jinak: MDF je datový soubor SQL serveru (dá se říct, že každá DB je v takovém souboru), takže jsi ho pouze odpojil (žádnej export vlastně neproběhl) a překopíroval do projektu.
SQL server není a pokud vím nikdy nebyl součástí VS (je tam jen zjednodušenej manager) a když jsi ten MDF načetl do VS, tak jsi ho dočasně připojil k SQL serveru. Pokud jsi pokaždý měl nějakej SQL server, kterej umožňuje dočasně připojit MDF soubor, tak je pochopitelný, že to fungovalo/funguje.
Schválně se podívej na ConnectionString, měl by vypadat nějak takhle.
Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;
Klíčová je část AttachDbFilename, kde uvedeš cestu k tomu MDF souboru a tím ho připojíš k serveru. VS to dělá v podstatě stejně. Ve vyšších edicích SQL serveru už by tohle nemělo fungovat.
Doufám, že už je to pochopitelný.
To DeaLer:
Jo, takže ten datový soubor *.mdf je připojen dočasně tím Visualem, je to tak. A když tam není žádný MS SQL server tak to nemůže dočasně připojit a tedy ani fungovat. Už to chápu.
ten můj ConnectionString vypadá takhle
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\konec.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
To kaja.mika: jj, přesně tak
Ještě bych k tomu něco dodal: je samozřejmě nesmysl kvůli menší aplikaci nutit klienta instalovat MS SQL server, ale zároveň bych nedoporučoval souborové DB (via MS Access). V takovém případě jsou dobrou volbou volbou XML soubory (nejsou vždycky vhodné), nebo embedded systémy, jako např. Firebird, kterou si mnoho .NET programátorů oblíbilo. Více informací např. http://www.vyvojar.cz/articles/446-firebird-embedded-a-net.aspx.
To kaja.mika: v tom se moc nevyznám, ale řekl bych, že ne ... pokud vím, tak ODBC drivery jsou jakýmsi univerzálním rozhraním, který ve výsledku stejně kontaktujou příslušnej server/soubor, ale zkus se na to poptat na serverech věnovaným databázím
Dobry den, potreboval bych poradit. Do skoly delam projekt ve Visual Studiu a potrebuju do nej umistit report. Nasel jsem komponentu CrystalReport. Report jsem vytvoril a nyni ho potrebuju pres nejaky Button otevrit v nejakem jiz existujicim formulari. Kdyz napisu pod Button klasicky CrystalReport().Visible = True, tak to nefunguje (jako u normalniho ReportView). Nevite nekdo jak je spravna syntaxe prikazu ?? Dekuji moc.
Piste prosim na pokerfush@gmail.com
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
MS Visual Studio 2008 express a My SQL — založil xxlshark
Visual Studio statické linkování Visual C++ Redistributable dllček — založil Doomista
MS Visual Studio — založil samo
Visual studio — založil Hlavinka
Visual studio + QT — založil staf
Moderátoři diskuze