[ centroplan @ 11.02.2020. 10:30 ] @
Da li je moguće da isti program ima više baza?
Ako jeste, kako?

Primer: Kada ISTI vlasnik ima VIŠE privrednih subjekata tj. firmi različitih delatnosti kako bi se moglo izvesti da njegov ISTI program ima VIŠE baza?"
[ dusans @ 11.02.2020. 10:41 ] @
Naravno da je moguće.

Obično se svodi na to da connection string nije jedan statički u konfiguraciji (ili gde već)
već se do connection string-a dolazi u run-time-u na osnovu request-a i ostalih podataka konteksta.
[ djoka_l @ 11.02.2020. 10:44 ] @
Pitanje je nevoravotno neodređeno.
Više baza? Više baza podataka različitog tipa (na primer SQL Server, Oracle, MySql, MongoDB)? Više baza na jednoj instanci SQL Servera? Više šema na jednoj instanci Oracle servera? Multitenant Oracle server?

Moguće je, ako ga napišeš tako da je moguće.
[ centroplan @ 11.02.2020. 13:56 ] @
Kod 1 privrednog subjekta imamo više baza (Firebird).
Svaka baza ima svoju Users tabelu u kojoj se definišu prava pristupa toj bazi.
Potreban je mehanizam na Web-u za izbor baze pre logovanja. Nešto poput izbora jezika...
Izbor baze je potrebno sačuvati do sledeće izmene.
Stringove za konekciju na baze je potrebno čuvati na bezbedan način.
Sve baze imaju potpuno istu strukturu.
1 jedinstvena web aplikacija treba da pristupa svim bazama
[ Inicijator @ 11.02.2020. 14:39 ] @
Odnosno svakom korisniku se jednaput podesi baza koja se odnosi na firmu kojoj on pripada i uvek pri startovanju se automatski ucitavaju podaci te baze.

Samo naprednom korisniku/administratoru sistema se dozvoli pristup svim bazama i on moze, ukoliko postoji potreba, da odabere bazu druge kompanije i da ucita njene podatke.
[ dejanet @ 11.02.2020. 14:53 ] @
Izgeda da ovde imate problem sa "dizajnom". Pripadnost bazi za korisnika mozete znati, tek posle njegovog login-a, a za login vam treba baza kojoj user pripada.
Eventualno zadnji izbor baze moze da se cuva u cookie-u, ali time dozvoljavate izbor izmedju vise baza za obicnog korisnika, sto verovatno nije opcija.
[ Shadowed @ 11.02.2020. 15:00 ] @
Svakako mogu podaci o korisnicima biti u jednoj bazi a ostali podaci u zasebnoj. No, postavlja se pitanje da li uopste treba vrsiti razdvajanje.
U svakom slucaju, odgovor na postavljeno pitanje je: da, moguce je.
[ dejanet @ 11.02.2020. 15:06 ] @
^ Eh' pa mogu, a mogu da budu svi podaci u jednoj db, pa da se nalaze po OrgId, mogu velike tabele da se particionisu po OrgId, ako su velike, svasta moze...
Citat:
centroplan :"Kod 1 privrednog subjekta imamo više baza (Firebird).
Svaka baza ima svoju Users tabelu u kojoj se definišu prava pristupa toj bazi."
[ mjanjic @ 11.02.2020. 17:19 ] @
Ne mora login pre izbora baze, nego se na interfejsu (web ili desktop, koliko sam ukapirao radi se o web aplikaciji) napravi padajuća lista svih firmi/privrednih subjekata, pa korisnik pre login-a izabere koji hoće subjekat, i potom unese podatke za logovanje. Ako odabere pogrešan subjekat, neće moći da se uloguje ako kao user ne postoji u toj bazi.

Za realizaciju je potrebno dinamički dodeljivati vrednost za Connection String, što nije nikakav problem, samo zavisi kakva je arhitektura aplikacije i da li koristite Entity FW ili su ručno pisani SQL upiti.
Uglavnom, Connection String se može učitavati iz Web.config ili u AppSettings, a ovde su dati neki primeri:
https://www.c-sharpcorner.com/...in-an-asp-net-mvc-application/
https://forums.asp.net/t/14532...abase+connection+in+web+config