» »

C# project setup + SQL baza

C# project setup + SQL baza

Miko55 ::

Jaz sem z Inno setup wizardom naredil setup file za moj projekt. Ta projekt vsebuje tudi bazo. Sedaj sem jaz aplikacijo namestil na drugem računalniku ko pa program pride do točke kjer se more izvesti SQL poizvedba oz. da se odpre povezava pa dobim to napako :
http://imgur.com/jvp5RK8

Connection string mam tako narejeno:
SqlConnection Conn = new SqlConnection(global::vaja3.Properties.Settings.Default.kvizConnectionString);


To delam prvič tak da možno da kaj nisem nastavil že v samem projektu, če je to seveda potrebno.
  • spremenil: Miko55 ()

kogledom ::

In kaj je v kvizConnectionString?

Miko55 ::

kogledom je izjavil:

In kaj je v kvizConnectionString?

Poot do baze, C:\Users\miko55\Desktop\krizec_krozec\vaja3\kviz.mdf

darkkk ::

Projekt vsebuje bazo kakega tipa? Compact al kaj drugega?

A se baza namesti na pravo mesto?
A se se zinštalira db engine (oz. je nameščen... )

Za ad hoc c# umotvore se splača kr publishat projekt kot .msi.

Zgodovina sprememb…

  • spremenil: darkkk ()

Miko55 ::

darkkk je izjavil:

Projekt vsebuje bazo kakega tipa? Compact al kaj drugega?

A se baza namesti na pravo mesto?
A se se zinštalira db engine (oz. je nameščen... )

EDIT: Tam kamor se aplikacija namesti je vbistvu samo imeprojekta.exe pa uninstall, se pravi da se baza sploh ne namesti ?

Za ad hoc c# umotvore se splača kr publishat projekt kot .msi.


Iskreno povedano ti nevem odgovorit na nobeno vprašanje, ker sem začetnik gelde tega :)

Zgodovina sprememb…

  • spremenil: Miko55 ()

vorantz ::

Miko55 je izjavil:

kogledom je izjavil:

In kaj je v kvizConnectionString?

Poot do baze, C:\Users\miko55\Desktop\krizec_krozec\vaja3\kviz.mdf


that just seems wrong
ne moreš to dat za pot do baze in pričakovat da bo delalo na katermkoli računalniku razen na točno enem

Miko55 ::

vorantz je izjavil:

Miko55 je izjavil:

kogledom je izjavil:

In kaj je v kvizConnectionString?

Poot do baze, C:\Users\miko55\Desktop\krizec_krozec\vaja3\kviz.mdf


that just seems wrong
ne moreš to dat za pot do baze in pričakovat da bo delalo na katermkoli računalniku razen na točno enem


Ja kako se pa potem connection string naredi v kodi ?

mm&r ::

V kolikor se povezuješ na mdf podatkovno zbirko verjetno nimaš pravilno sestavljenega connection stringa, samo pot ni dovolj, ampak so potrebni tudi drugi parametri.

Primer:
Connection string

vorantz ::

odgovor z "|DataDirectory|" je še najbolj relevanten
hardcodiranje poti ni nikoli pametno

Miko55 ::

Ja sedaj če probram z to kodo:
string sqlCon = @"Data Source=.\SQLEXPRESS;" +
@"AttachDbFilename=|DataDirectory|\kviz.mdf;
Integrated Security=True;
Connect Timeout=30;
User Instance=True";


Povezava se vzpostavi ampak tabele ne prepozna,vrne napako invalid object name. Po starem string-u navedenem na začetku pa je delala poizvedba.

Še poizvedba:
SqlCommand Comm1 = new SqlCommand("SELECT COUNT(id) FROM vislice_besede_slo", Con); 
SqlDataReader DR1 = Comm1.ExecuteReader(); 
if (DR1.Read()) 
{
        max = Int32.Parse(DR1.GetValue(0).ToString());  
}


To je sedaj testirano preko Visual studia in ne preko setup-a.

Zgodovina sprememb…

  • spremenil: Miko55 ()

Looooooka ::

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) ali pa
AppDomain.CurrentDomain.GetData("DataDirectory")

Ampak bom kar ugiba, da je ob zagonu programa ta folder enak tistemu v katerem konča skompilirana verzija tvojega programa (se pravi bin oz bin\x86...).
Če je temu tako imaš mdf datoteko vsaj en nivo previsoko.
Je pa res, da je DataDirectory v ASP.NETU v svojem folderju in da ko tam dodas "bazo" ponavadi mdf datoteko visual studijo vrze v pravi direktorij.
Tako da preveri pot in poskusi ponovno.
V najslabšem primeru zaženi zadevo...odpri sql management studio se povezi na sqlexpress in poglej če je mdf datoteko res naložilo(bi moral celo videt bazo not).


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# težava

Oddelek: Programiranje
233714 (2560) mladec
»

SQL problem

Oddelek: Programiranje
141687 (1305) win64
»

ASP Hosting

Oddelek: Izdelava spletišč
6985 (797) Boomerang
»

C# INSERT statment ne vpise podatkov

Oddelek: Programiranje
111206 (1080) darkolord
»

[C#] Query in code

Oddelek: Programiranje
261819 (1563) iggy1

Več podobnih tem