[ Radovan__III @ 29.03.2006. 21:16 ] @
Zanima me vase misljenje sta je najbolji izbor neke lokalne baze posto bo trebalo nesto malo komlikovanije da uradim u c# , pa da sad nebi sebi jos komlikovao sa teksualnim fajlovima kao bazama. Vazne su mi lakoca rada, da generise ako moze samo jedan fajl baze i da nema nekih instalacija kod usera da bi mogao da je koristim.

Hvala
[ vekica @ 29.03.2006. 22:14 ] @
Kako mislis da ne instaliras bazu.. Ako hoces nesto veoma lako radi sa Accessom. On ti se prenosi copy/paste varijantom u obliku .mdb fajla.

[ Radovan__III @ 29.03.2006. 22:26 ] @
"Kako mislis da ne instaliras bazu."
Mislim da korisnik kome ja dam svoj program nemora da instalira nikakvu podrsku za tu bazu, da nema ogranicenja koji je windows.
"laku"
Kad kazem laku mislim da ima implementirane osnovne sql mogucnosti upita, da ima uz sebe neku aplikaviju koja moze da otvori fajl baze u tabelarnom obliku...
[ sale83 @ 29.03.2006. 22:37 ] @
To znaci ne moras da instaliras SQL server , MySQL ili nesto slicno na klijentovom racunaru.

A posto i Access moze verovatno da zadovolji tvoje potrebe, onda ti je on pogodan sto samo kopiras doticni faj
.mdb zajedno sa aplikacijom i odma je spreman za upotrebu.
Znaci nema sta da ti klijent instalira ili podesava bilo kakve servere!!

I naravno u Access-u koristis slicne SQL Query-je kao u PHP-u

Recimo evo jednog primera sto sam radio sa Accessom gde sam objasnjavao SQL Inekciju profesoru iz programiranja:
Znaci tipican kod vadi Korisnicka imena i password iz baze :)

Code:

' Ovaj kod radi ali nije bezbedan po pitanju SQL Inekcije
' Znaci radi sa Accessom
' Ime baze db.mdb
            Dim conn As New OleDb.OleDbConnection           'Stores the connection to the Database 
            Dim dataSet As New DataSet                      'Stores information in-memory from the Database
            Dim dataAdapter As New OleDb.OleDbDataAdapter   'Executes SQL statements on the Database and updates dataSet
            Dim sql As String                               'Stores the sql string

            'Defines the connection string required for data access
            conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb"

            'Opens the connection to the database
            conn.Open()

            'The SQL query to execute on the Database AND SQL INJECTION  => IDText.Text 
            sql = "SELECT UserName,Password FROM Users WHERE UserID=" & IDText.Text & ""
            'MessageBox.Show(sql)

            'Initializes a new instance of the OleDbDataAdapter class with an SQL query on the connection
            dataAdapter = New OleDb.OleDbDataAdapter(sql, conn)

            'Fills the dataSet with data
            dataAdapter.Fill(dataSet, "Users")

            'Closes the connection to the database
            conn.Close()

            'Loops through the dataSet array and outputs the usernames in the listbox
            For i As Integer = 0 To dataSet.Tables("Users").Rows.Count - 1
                userNameListBox.Items.Add(dataSet.Tables("Users").Rows(i).Item("Username"))
                userNameListBox.Items.Add(dataSet.Tables("Users").Rows(i).Item("Password"))
            Next



[Ovu poruku je menjao sale83 dana 30.03.2006. u 00:11 GMT+1]
[ priki @ 29.03.2006. 23:22 ] @
mozes uzeti i MSDE
solidna baza, M$ kaze i besplatna
ima odredjena ogranicenja,

sve zavisi o komplikovanosti o kojoj pricas
[ Count Zero @ 30.03.2006. 06:09 ] @
MDB bi trebalo da završi posao... Ukoliko ne očekuješ milion zapisa i puno konkurentnih obrada. Ili možda objektna baza :)
@priki: Čovek traži rešenje koje ne zahteva instalaciju na klijentima - MSDE se instalira kao SQL Server...
[ impact @ 30.03.2006. 16:11 ] @
Moj predlog ti je da radiš sa SQLite bazom ([url]www.sqlite.org[/url]). Baza je jedan fajl, veoma je brza i besplatna je...

[ pattern @ 30.03.2006. 16:58 ] @
http://www.db4o.com

Samo je malo zeznuta licenca - GPL, a za komercijalnu upotrebu se placa, ali nekakav sulud primjer cijene ima za preko 10000 licenci... razgledaj na sajtu i informisi se bolje.

[ priki @ 30.03.2006. 17:11 ] @
mozes uzeti i MSDE
solidna baza, M$ kaze i besplatna
ima odredjena ogranicenja,

sve zavisi o komplikovanosti o kojoj pricas
[ miki_ja @ 06.04.2006. 09:00 ] @
Da li izbor Access baze podataka može biti problem kad aplikacija upisuje minimum 3.000 novih redova (može biti 6.000 pa i više).
Znači, godišnje preko 360.000, a do 1.000.000?
[ Count Zero @ 06.04.2006. 12:27 ] @
Opet zavisi od tipa i veličine podataka... Na http://www.databasedev.co.uk/access_specifications.html piše ponešto o tome.
[ Dragi Tata @ 06.04.2006. 13:06 ] @
Svakako pogledaj embedded Firebird: http://www.codeproject.com/cs/database/EmbeddedFirebird.asp
[ mmix @ 06.04.2006. 14:00 ] @
Citat:
Dragi Tata: Svakako pogledaj embedded Firebird: http://www.codeproject.com/cs/database/EmbeddedFirebird.asp

Da video samo ovo, izgleda veoma obecavajuce. Mi razmisljamo o ovom eniginu, samo se ceka da izadje finalna verzija 2.0. Ima li neko konkretna iskustva sa koriscenjem ovog engine-a? Narocito ako se neko igrao sa analizom query optimizacije.

Citat:
priki: mozes uzeti i MSDE, solidna baza, M$ kaze i besplatna, ima odredjena ogranicenja

SQL Express 2005 nema vise ta ogranicanja (workload governor), i idealno je resenje ako se jednog dana planira upgrade na pun SQL 2005. Medjutim MS odbija da ga ponudi kao merge modul sto automatski otpada iz kombinacija gde je dozvoljen samo jedan instalacioni MSI paket. . Alternativa koju bih probao samo da nadjem malo vremena je upotreba nekog od setup monitoring paketa da se formira custom merge modul na osnovu instalacije.

Citat:
Count Zero: @priki: Čovek traži rešenje koje ne zahteva instalaciju na klijentima - MSDE se instalira kao SQL Server...

MSDE 2000 postoji kao merge module:
Embedding MSDE 2000 Setup into the Setup of Custom Applications.
Svejedno mora da napravi setup za svoju aplikaciju, pa tu moze da ubaci MSDE kao deo svog setup-a.

Citat:
miki_ja: Da li izbor Access baze podataka može biti problem kad aplikacija upisuje minimum 3.000 novih redova (može biti 6.000 pa i više). Znači, godišnje preko 360.000, a do 1.000.000?

Sam upis (INSERT) nije problem. Istina, Access ima problem kod inserta sto posoji samo database level lock , sto ce reci dok jedan pise niko ne moze nista da cita, ali u single user scenariju to i nije neki problem. Durgi potencijalni problem je sto cela mdb baza ne moze da predje 2Gb (ukljucujuci i tabele i indekse i sve ostalo), sto ti ostavlja oko 2kb po redu (ukljucujuci indekse)

Veci problem ces mozda imati kad treba da procitas tih milion redova. Access query optimizer nije tako dobar kao onaj koji ide uz SQL, ali sve to zavisi od samog query-a koji planiras da izvrsis nad tih milion redova.
Vise detalja o ogranicenjima access-a: Microsoft Access Specifications and Limitations