[ gorann @ 05.10.2005. 13:22 ] @
Imam C# Windows aplikaciju iz koje pristupam bazi (SQL server, baza i aplikacija se nalaze na istoj masini, a SQL server ima Windows autentification mode) connection string koji koristim je:

"workstation id=ImeServera;packet size=4096;integrated security=SSPI;data source=ImeServera;persist security info=False;initial catalog=MojaBaza";

Ovo odlicno radi, medjutim kad pokusam da pristupim iz aplikacije koja je na drugoj masini onda mi prijavljuje gresku: "Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection".

Jasno mi je da je potrebno da se radi sa nekim privilegijama kako bi bilo dozvoljeno nekome useru sa druge masine da pristupa SQL serveru. Najvise me brine Windows autentifikacija. Kad bi imao SQL server autentifikaciju kreirao bih usera koji moze da pristupa bazi i onda u connection stringu stavio User ID="blabla", Password="blabla" ali sta da radim kad logovanje ide preko Windowsa, mozda treba napraviti usera u windowsu i onda iskoristiti njegov username i password za connection string. Je li neko radio nesto na ovu temu? Neki savet?

hvala gorann

[ mirdraal @ 05.10.2005. 13:30 ] @
Kratko :
pretpostavljam da nemas active directory pa je postupak sledeci :
na masini gde ti je Sql Server dodaj Windows korisnika
koji ima user name i password isti kao korisnik sa druge masine sa koje hoces da pristupis SQl serveru .
Dalje , Dodaj tog korisnika u listu korisnika Sql server-a i resio si problem

[ gorann @ 05.10.2005. 13:53 ] @
Probao sam bas kao sto si rekao:

string str="Data Source=10.1.2.12,1433;Network Library=DBMSSOCN;Initial Catalog=MojaBaza;User ID=X2\\gorann;Password=ihuahu12"; , gorann je user na W2003 serveru na kome je baza kao i na mojoj masini na kojoj mi se nalazi aplikacija koja pristupa bazi i data mu je privilegija da moze da radi sa bazom, t.j. dodat je u listu usera na SQL serveru (Isto kao i ASPNET i IIS_WPG useri). Na masini na kojoj mi je aplikacija imam Win. 2000 Advanced server (X2 je ime w2003 servera). Ali opet dobijam istu gresku:


Login failed for user 'X2\gorann'. Reason: Not associated with a trusted SQL Server connection.
[ dusans @ 05.10.2005. 14:52 ] @
Dodaj login na SQL serveru sa odabranim Windows Authentification logovanjem i userom kojim se logujes na klijent masinu, dakle X2\gorann za Name i X2 za Domain i daj tom loginu pristup tvojoj bazi. Posle toga pristupas preko integrated security=SSPI u connection stringu umesto User ID=X2\\gorann;Password=ihuahu12.
Ukoliko ovo ne radi onda nešto kod tebe ne valja.
Pitanje, zašto ne napraviš običan SQL login i preko njega ne pristupaš umesto prego windows security-ja?
[ gorann @ 05.10.2005. 15:08 ] @
Ne znam sta podrazumevas pod login? Ja sam dodao novog usera bazi:

Login name=X2\gorann i User name=X2\gorann a prethodno sam na toj masini na kojoj je SQL server dodao Windows usera X2\gorann. Cini mi se da je to upravo to sto mi preporucujes, s tim sto bi trebalo da je aplikacija pokrenuta pod tim userom (gorann) rekao bih da je to greska jer sam ja pravio aplikaciju pod administratorskim nalogom?

Zasto radim sa Windows autentifikacijom? Pa vec imam gomilu aplikacija na samoj masini koje su "zive" pa ne bih da pravim probleme i sebi a i onima koji ih koriste.

Moracu svakako da isprobam jos neke varijante.

hvala gorann
[ dusans @ 05.10.2005. 15:22 ] @
Na samom SQL Serveru, nevezano za konkretnu bazu pod stavkom Security postoji stavka Login - tu dodaj novi login kao što sam prethodno opisao i u kartici Database Access oznaci pristup nad svojom bazom, na to sam mislio.

Inače, ukoliko koristiš SQL Authentifikaciju to ne znači da će tvoji korisnici morati da se loguju na SQL Server, to samo znači da ćeš u connection stringu držati user name i password umesto da se koriste ugrađeni windows sigurnosni mehanizmi. U principu, windows autentifikacija je sigurnija, tako da ukoliko uspeš, svakako je bolje nju koristiti.
[ stojce @ 09.10.2005. 22:09 ] @
Probaj sa identity impersonate="true". Ovo radi za web aplikacije (u web.config - u), ali za win aplikacije ne znam, nisam probao.

[Ovu poruku je menjao stojce dana 09.10.2005. u 23:12 GMT+1]
[ mii @ 17.10.2005. 17:23 ] @
Mozda da probas ovako,reinstaliraj ponovo SQL server i pri instaliranju uzmu SQL I WINDOWS AUTENTIFIKACIJU a ne samo windows,i u conncetion stringu stavi user name i password za bazu koju si napravio u SQL.TO BI TI BIO MOJ SAVJET JER SAM I JA IMAO UZASNIH PROBLEMA.