Kako da napravim da bude apsolutno definisana baza i gde god da prebacim aplikaciju (na bilo koju particiju, bilo koji računar) da može da čita bazu?U pitanju je Access baza podataka.
baza ti radi na jednom sistemu, ne radi na drugom? baza radi iz accessa ne radi pristup iz visuala? baza radi iz visuala ne radi iz accessa?
koji visual? baza je puna? koji os ........ma daj sve podatke, bre!!!! :)
Rešenje je da prilikom definisanja konekcionog stringa, koristitie metodu getCurrentDirectory() koja vraća string putanje trenutnog direktorijuma, pa na to nadovežete dalje putanju do baze.
Da biste je koristili, morate uključiti System.Data.IO ako se ne varam (sad ovo pišem napamet, pa ne znam tačno, ali znam da jeste IO).
I to je to !
[Ovu poruku je menjao VerbatimBOT dana 10.04.2006. u 20:32 GMT+1]
Winners never quit, quitters never win.
10.04.2006. u 19:31
Fedya Fedor Hajdu Senior Software Engineer Novi Sad
Pazi ukoliko koristiš GetCurrentDirectory() metod. On vraća trenutni direktorijum i to je na početku direktorijum odakle je aplikacija startovana
i nije nepromenljiv - na primer OpenFileDialog može promeniti trenutni direktorijum kao i poziv metode Directory.SetCurrentDirectory.
Da bi saznao putanju sa koje je pokrenuta aplikacija najbolje je koristiti Application.StartupPath za Windows aplikaciju a
Server.MapPath("~") za Web aplikaciju.
10.04.2006. u 20:22
VerbatimBOT Aleksandar Dragosavac Senior .NET Developer Serbia, Belgrade
Pazi sad ovako:
Ja sam i dalje za metodu GetCurrentDirectory koju može da stavi recimo negde u početnoj stranici aplikacije (Root direktorijum), jer dalje od njega neće ići. A sve što je u Root direktorijumu može da nadoveže na konekcioni string, tipa:
Ma u redu je i sa GetCurrentDirectory metodom za Windows aplikaciju, ja sam samo rekao da pazi gde je koristi da se posle ne pita zašto to ne radi kao što očekuje.
Inače, ako to bude koristio u Web aplikaciji - jednostavno neće raditi.
OleDbConnection conection = new OleDbConnection(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" +
putanja);
Jedino,
u fazi testriranja, direktrorijum "App_Data" i sama baza moraju biti u istom direktrorijumu odakle se pokreće i aplikacija, znači u "Debug", logično :) ...