[ ceso @ 11.09.2010. 10:07 ] @
| Kako napraviti setup projkat koji instalira program koji ima SQL bazu?
Znači napravio sam neki program u VB i napravim instalaciju pomoću Setup wizarda.Instalacija prođe ok ali kad ga pokrenem izbaci mi neku grešku a pomoću tipke nastavi otvori mi se program ali bez podataka koji su smješteni u bazi.
Ako itko zna |
[ Justice4All @ 13.09.2010. 20:42 ] @
E ovako... Mene je ovaj problem BAŠ namaltretirao. Ne znam koliko su moja rešenja ispravna i čista, ali nekako funkcionišu...
Kao prvo, kompletna .Net filozofija rada sa podacima je bazirana na SQL serveru, što u prevodu znači da je, pre svega, SQL server instaliran i startovan a baza "prijavljena" na server (Ovo nema NIKAKVE veze sa tvojim programom, sve se mora odraditi eksterno, tj. pomoću SQL Menagment Studija). Tada kao connection string koristiš konstrukciju: connString = @"server=.\SQLEXPRESS;Integrated Security=True;database=ime_baze". O tome gde se nalazi baza brine SQL server i nikakva putanja do nje se ne navodi.
Može se odraditi i bez SQLMSa, tako što negde iskopiraš bazu a koristiš sledeći kon.string:
conString1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\nekiFolder\ime_baze;Integrated Security=True;User Instance=True"; (Ovo "AttachDbfName" prijavljuje tvoju bazu na server svaki put kada startuješ program).
E sad, pitanje je kako to odraditi iz instalacije programa???? NIKAKO !!?? Prosečan korisnik bi sve to morao sam da odradi a to je, po meni, nemoguća misija, čak i uz detaljna uputstva. Drugi primer je jednostavniji ali moraš da biraš opet izmedju dve varijante: da fiksiraš folder u kome je baza, što baš i nije neko elegantno rešenje ili da se pomučiš sa malo komplikovanijim kon. stringom gde će se putanja učitavati iz nekog konfiguracionog fajla, ali opet ponavljam: zahteva se KORISNIK sa priličnim znanjem (a takvi su vrlo,vrlo retki). Pretpostavljam je ideja program koji se vrlo lako instalira klikom na par Next tastera. Na žalost, i ja sanjam o nečemu takvom, sve svoje instalacije sam do sada morao lično da postavim...
P.S. primeri su u C#, mada mislim da je slična konstrukcija i u VB.
[ NrmMyth @ 14.09.2010. 03:00 ] @
XCopy baze su:
Od Microsofta se očekuje SQL Server Compact 4.0:
http://robtiffany.com/sql-serv...e-comes-sql-server-compact-4-0
A već sad imaš SqlLite:
http://www.sqlite.org/
[ ceso @ 14.09.2010. 22:18 ] @
Interesira me ova prva varijanta sa SQL Menagment od Justice4All ako može malo detaljnije (gdje, šta, kako) jel nisam baš neki stručnjak ali eto učim pomalo.
[ Solution @ 15.09.2010. 10:34 ] @
Ja sam ovaj problem resio tako sto sam napravio SQL skript, i kada se aplikacija ucitava po prvi put, ucitam skript i deo po deo izvrsavam kao bilo koji upit. Evo kako to izgleda kroz kod:
Code:
TextReader tr = new StreamReader("sql_init\\mssql_all.sql"); // u ovom fajlu se cuvaju svi upiti koji kreiraju bazu, tabele, dodaje potrebne podatke itd.
string str = (tr.ReadToEnd());
tr.Close();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = konekcija;
if (str != null && str.Length > 0)
{
string[] sql = str.Replace("GO\r\n", "~").Split(new Char[] { '~' });
for (int i = 0; i < sql.Count(); i++)
{
if (sql[i] != null && sql[i].Trim().Length > 1)
{
SqlCommand cmd = new SqlCommand(sql[i], conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
}
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.