Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

windows forms i bazy danych

35 views
Skip to first unread message

Jakub Owczarski

unread,
Sep 30, 2009, 10:18:05 AM9/30/09
to
Witam.
Do tej pory pisałem trochę prostych aplikacji bazodanowych używając
asp.net
Mozna w uproszczeniu powiedzieć, że jeżeli potrzebuję wyświetlić/
uaktualnić/usunąć jakieś dane z bazy to biorę sobie SqlDataSource,
karmię go connection stringiem który sobie bezpiecznie leży w
web.config na serverze, wrzucam w niego luźny sql lub podpina stored
procedure i nie przejmuję się ani hasłem do bazy, ani utrzymywaniem
połączenia - wszystko robi się "samo" i można zająć się piciem kawy -
życie jest piekne ;-)

Teraz chciałbym napisać coś z interfejsem okienkowym(MDI) tylko nie
wiem nawet jak się za to zabrać.
Czy trzymać aktywne połączenie przez całe życie programu(jeżeli tak to
jak i gdzie?)
Jak bezpiecznie zaszyć hasło do bazy? w kilku programach spotkałem się
z rozwiązaniem, że użytkownicy są tworzeni na poziomie bazy - czyli
każdy nowy użytkownik programu to nowy użytkownik bazy, takie coś
pozwoliło by nie trzymać hasła do bazy w programie, ale gdybym chciał
mieć użytkowników na poziomie aplikacji(używając jednego usera db) a
nie bazy to jak trzymac to hasło?

Moja główna proźba to prosił bym o tytuł(y) jakichś dobrych książek na
ten temat (C# + windows forms + bazy danych) ale jak by ktoś chciał
powiedzieć kilka słów na ten temat to też będzie miło.

TIA
Pzdr

Tomasz Muszyński

unread,
Oct 1, 2009, 6:16:46 PM10/1/09
to
W dniu 09-09-30 16:18, Jakub Owczarski pisze:
> Teraz chcia�bym napisa� co� z interfejsem okienkowym(MDI) tylko nie
> wiem nawet jak siďż˝ za to zabraďż˝.
> Czy trzyma� aktywne po��czenie przez ca�e �ycie programu(je�eli tak to
> jak i gdzie?)

W �adnym wypadku! Po��czenie tworzysz tylko na czas wykonania zapytania.
Chyba, �e to zapytanie to ca�e �ycie tego programu :)

> Jak bezpiecznie zaszy� has�o do bazy? w kilku programach spotka�em si�
> z rozwi�zaniem, �e u�ytkownicy s� tworzeni na poziomie bazy - czyli
> ka�dy nowy u�ytkownik programu to nowy u�ytkownik bazy, takie co�
> pozwoli�o by nie trzyma� has�a do bazy w programie, ale gdybym chcia�
> mie� u�ytkownik�w na poziomie aplikacji(u�ywaj�c jednego usera db) a
> nie bazy to jak trzymac to has�o?

Wystarczy je zaszyfrowaďż˝.

> Moja g��wna pro�ba to prosi� bym o tytu�(y) jakich� dobrych ksi��ek na
> ten temat (C# + windows forms + bazy danych) ale jak by ktoďż˝ chciaďż˝
> powiedzie� kilka s��w na ten temat to te� b�dzie mi�o.

MSDN.

tm

Jakub Owczarski

unread,
Oct 1, 2009, 7:08:24 PM10/1/09
to
On Oct 1, 10:16 pm, Tomasz Muszyński <thom...@op.pl_nospam> wrote:

> > Moja główna proźba to prosił bym o tytuł(y) jakichś dobrych książek na
> > ten temat (C# + windows forms + bazy danych) ale jak by ktoś chciał
> > powiedzieć kilka słów na ten temat to też będzie miło.
>

> MSDN.

No w sumie po wysłaniu tego posta też na to wpadłem ;-)
I tak sobie czytam na MSDN wszystko co się da o ADO.NET + windows
forms, ale mimo wszystko lubię mieć papierową książkę do nauki, więc
jeżeli ktoś mógł by polecić coś wartościowego (najlepiej bogatego w
przykłady) to było by miło.
Po lekkim serczu na amazonie znalazłem:
http://www.amazon.com/Professional-ADO-NET-Entity-Framework-Programmer/dp/047018261X/
http://www.amazon.com/Programming-Entity-Framework-Julia-Lerman/dp/059652028X/
http://www.amazon.com/ADO-NET-3-5-Cookbook-Cookbooks-OReilly/dp/0596101406/
Tylko fajnie by było kupić coś "sprawdzonego".

Pozdrawiam i dzięki
Jakub Owczarski

MJK

unread,
Oct 2, 2009, 3:13:12 AM10/2/09
to
>> Czy trzyma� aktywne po��czenie przez ca�e �ycie programu(je�eli tak to
>> jak i gdzie?)
>
> W �adnym wypadku! Po��czenie tworzysz tylko na czas wykonania zapytania.

A tak z ciekawo�ci. Czemu nie?
Zanczy czy sďż˝ jakieďż˝ powody techniczne czy teďż˝ raczej ideologoczne ;)

Pozdrawiam
Mariusz

wloochacz

unread,
Oct 2, 2009, 5:35:36 AM10/2/09
to
Tomasz Muszy�ski pisze:

> W dniu 09-09-30 16:18, Jakub Owczarski pisze:
>> Teraz chcia�bym napisa� co� z interfejsem okienkowym(MDI) tylko nie
>> wiem nawet jak siďż˝ za to zabraďż˝.
>> Czy trzyma� aktywne po��czenie przez ca�e �ycie programu(je�eli tak to
>> jak i gdzie?)
>
> W �adnym wypadku! Po��czenie tworzysz tylko na czas wykonania zapytania.
> Chyba, �e to zapytanie to ca�e �ycie tego programu :)
Dlaczego?
Dla wielu kr�tkich zapyta�, gdzie ka�de tworzy w�asne connection i to
si� musi z baz� po��czy� (a baza alokuje zasoby dla takiego connection),
to... doskona�y pomys�.
Tak, rewelacja...
No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko np. MS SQL?
Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)

>> Jak bezpiecznie zaszy� has�o do bazy? w kilku programach spotka�em si�
>> z rozwi�zaniem, �e u�ytkownicy s� tworzeni na poziomie bazy - czyli
>> ka�dy nowy u�ytkownik programu to nowy u�ytkownik bazy, takie co�
>> pozwoli�o by nie trzyma� has�a do bazy w programie, ale gdybym chcia�
>> mie� u�ytkownik�w na poziomie aplikacji(u�ywaj�c jednego usera db) a
>> nie bazy to jak trzymac to has�o?
>
> Wystarczy je zaszyfrowaďż˝.

No tak.
Tylko, �e zawsze mo�na to odszyfrowa�.
Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
zaszyfrowane dziecinnie �atwo "wysnifowa�".
A przecie� w MS SQL jest takie tw�r jak Application Role...

/ciach/

--
wloochacz

szymo

unread,
Oct 2, 2009, 7:46:34 AM10/2/09
to
>> W �adnym wypadku! Po��czenie tworzysz tylko na czas wykonania
>> zapytania. Chyba, �e to zapytanie to ca�e �ycie tego programu :)
> Dlaczego?

Bo to dobra praktyka sprawdzona i pewna

> Dla wielu kr�tkich zapyta�, gdzie ka�de tworzy w�asne connection i to
> si� musi z baz� po��czy� (a baza alokuje zasoby dla takiego connection),
> to... doskona�y pomys�.
> Tak, rewelacja...

znasz program kt�ry robi duzo ma�ych zapyta� je�li taki tworzysz to to
jest to bardzo dziwne podej�cie do tematu (robisz zapytanie sqlowe do
ka�dego textboxa ? czy raczej bierzesz z bazy to co jest ci potrzebne za
jenym razem?)

> No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko np. MS SQL?
> Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)

Wszystkich z wyj�tkiem baz objekowch

> No tak.
> Tylko, �e zawsze mo�na to odszyfrowa�.
> Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
> zaszyfrowane dziecinnie �atwo "wysnifowa�".

Wszystko idzie wysnifowaďż˝ .....

> A przecie� w MS SQL jest takie tw�r jak Application Role...

Istnieje dop�ty dop�ki nie trafisz na op�r materii ludzkiej.

wloochacz

unread,
Oct 2, 2009, 8:22:37 AM10/2/09
to
szymo pisze:

>>> W �adnym wypadku! Po��czenie tworzysz tylko na czas wykonania
>>> zapytania. Chyba, �e to zapytanie to ca�e �ycie tego programu :)
>> Dlaczego?
>
> Bo to dobra praktyka sprawdzona i pewna
>
>> Dla wielu kr�tkich zapyta�, gdzie ka�de tworzy w�asne connection i to
>> si� musi z baz� po��czy� (a baza alokuje zasoby dla takiego
>> connection), to... doskona�y pomys�.
>> Tak, rewelacja...
>
> znasz program kt�ry robi duzo ma�ych zapyta� je�li taki tworzysz to to
> jest to bardzo dziwne podej�cie do tematu (robisz zapytanie sqlowe do
> ka�dego textboxa ? czy raczej bierzesz z bazy to co jest ci potrzebne za
> jenym razem?)
Oczywi�cie, �e znam taki - ka�de pierdni�cie skutkuje wywo�anie SP.
Nie, nie ja go napisa�em - ja tylko pokaza�em jego "tw�rcy", �e ten sam
raport kt�ry u niego mieli si� kilka godzin, mo�na napisa� tak, �e zrobi
to kilkaset razy szybciej; oczywi�cie, to �aden argument - wszystko
mo�na spartoli�...

Wracaj�c do tematu, takie podej�cie jest standardowe w aplikacjach
webowych, ale w WindowsForms, gdzie aplikacja dzia�a (zzwyczaj) w trybie
state full?
Po co?
Zrozumia�bym jeszcze takie podej�cie, gdzie jest automatycznie
zarz�dzana pula po��cze� - wtedy, ok.
Lecz je�eli tego nie ma, to zbytnie szafowanie zasobami serwera - imo.

>> No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko np. MS
>> SQL?
>> Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)
>
> Wszystkich z wyj�tkiem baz objekowch

Masz na my�li obiektowych? A jakie to ma znaczenie, czy to baza
obiektowa, relacyjna czy relacyjna-obiektowa?

>> No tak.
>> Tylko, �e zawsze mo�na to odszyfrowa�.
>> Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
>> zaszyfrowane dziecinnie �atwo "wysnifowa�".
>
> Wszystko idzie wysnifowaďż˝ .....

To nie jest argument. �aden.

>> A przecie� w MS SQL jest takie tw�r jak Application Role...
>
> Istnieje dop�ty dop�ki nie trafisz na op�r materii ludzkiej.

A tego nie rozumiem - co to ma do rzeczy?

--
wloochacz

wloochacz

unread,
Oct 2, 2009, 8:25:07 AM10/2/09
to
szymo pisze:

>>> W �adnym wypadku! Po��czenie tworzysz tylko na czas wykonania
>>> zapytania. Chyba, �e to zapytanie to ca�e �ycie tego programu :)
>> Dlaczego?
>
> Bo to dobra praktyka sprawdzona i pewna
Zapomnia�em odnie�� si� do tego :)
A wi�c, dlaczego ta praktyka jest taka dobra i pewna w czym?

/ciach/

--
wloochacz

szymo

unread,
Oct 2, 2009, 8:35:58 AM10/2/09
to
> Oczywi�cie, �e znam taki - ka�de pierdni�cie skutkuje wywo�anie SP.
> Nie, nie ja go napisa�em - ja tylko pokaza�em jego "tw�rcy", �e ten sam
> raport kt�ry u niego mieli si� kilka godzin, mo�na napisa� tak, �e zrobi
> to kilkaset razy szybciej; oczywi�cie, to �aden argument - wszystko
> mo�na spartoli�...

Zaiste w pe�ni si� zgadzam :)


>>> No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko np.
>>> MS SQL?
>>> Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)
>>
>> Wszystkich z wyj�tkiem baz objekowch
> Masz na my�li obiektowych? A jakie to ma znaczenie, czy to baza
> obiektowa, relacyjna czy relacyjna-obiektowa?

Obiektowa - ma znaczenie.


>
>>> No tak.
>>> Tylko, �e zawsze mo�na to odszyfrowa�.
>>> Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
>>> zaszyfrowane dziecinnie �atwo "wysnifowa�".
>>
>> Wszystko idzie wysnifowaďż˝ .....
> To nie jest argument. �aden.

To bardzo mocny argument.


>
>>> A przecie� w MS SQL jest takie tw�r jak Application Role...
>>
>> Istnieje dop�ty dop�ki nie trafisz na op�r materii ludzkiej.
> A tego nie rozumiem - co to ma do rzeczy?

W sumie nic do p�ki nie trafisz na administratora troglodyt�, kt�ry sql
server traktuje jak czasrne pude�ko lub maszyn� kt�ra robi "pik" jak w
monty-pythonie lub te� trafisz na innego zbocze�ca kt�ry powie bo nie.
Poza tym ograniczasz siďż˝ tymsamym do MSsql.

szymo

unread,
Oct 2, 2009, 8:39:16 AM10/2/09
to
wloochacz pisze:

po to aby nie trzyma� po��czenia kiedy nic nie jest wysy�ane ?
po to by szanowaďż˝ czas serwera i jego zasoby ?

wloochacz

unread,
Oct 2, 2009, 8:45:01 AM10/2/09
to
szymo pisze:

>> Oczywi�cie, �e znam taki - ka�de pierdni�cie skutkuje wywo�anie SP.
>> Nie, nie ja go napisa�em - ja tylko pokaza�em jego "tw�rcy", �e ten
>> sam raport kt�ry u niego mieli si� kilka godzin, mo�na napisa� tak, �e
>> zrobi to kilkaset razy szybciej; oczywi�cie, to �aden argument -
>> wszystko mo�na spartoli�...
>
> Zaiste w pe�ni si� zgadzam :)
>
>
>>>> No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko np.
>>>> MS SQL?
>>>> Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)
>>>
>>> Wszystkich z wyj�tkiem baz objekowch
>> Masz na my�li obiektowych? A jakie to ma znaczenie, czy to baza
>> obiektowa, relacyjna czy relacyjna-obiektowa?
>
> Obiektowa - ma znaczenie.
Jakie?
Nie znam siďż˝, to pytam...

>>>> No tak.
>>>> Tylko, �e zawsze mo�na to odszyfrowa�.
>>>> Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
>>>> zaszyfrowane dziecinnie �atwo "wysnifowa�".
>>>
>>> Wszystko idzie wysnifowaďż˝ .....
>> To nie jest argument. �aden.
>
> To bardzo mocny argument.

Eee.. tam; chodzi�o mi o poziom wymaganej wiedzy do z�amania danego
sposobu autoryzacji - tu jest prosto, inne sposoby daj� wy�sze poziomy
bezpiecze�stwa. Po prostu nie jest tak hop-sip - zainstalowa� Wireshark
i lux.


>>>> A przecie� w MS SQL jest takie tw�r jak Application Role...
>>>
>>> Istnieje dop�ty dop�ki nie trafisz na op�r materii ludzkiej.
>> A tego nie rozumiem - co to ma do rzeczy?
>
> W sumie nic do p�ki nie trafisz na administratora troglodyt�, kt�ry sql
> server traktuje jak czasrne pude�ko lub maszyn� kt�ra robi "pik" jak w
> monty-pythonie lub te� trafisz na innego zbocze�ca kt�ry powie bo nie.
> Poza tym ograniczasz siďż˝ tymsamym do MSsql.

To "tylko" zmiana sposobu autoryzacji - przy dobrze zaprojektowanym
systemie do "pikuďż˝" :)

szymo

unread,
Oct 2, 2009, 8:53:45 AM10/2/09
to

>>>>> No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko np.
>>>>> MS SQL?
>>>>> Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)
>>>>
>>>> Wszystkich z wyj�tkiem baz objekowch
>>> Masz na my�li obiektowych? A jakie to ma znaczenie, czy to baza
>>> obiektowa, relacyjna czy relacyjna-obiektowa?
>>
>> Obiektowa - ma znaczenie.
> Jakie?
> Nie znam siďż˝, to pytam...

Obiektowe bazy danym cnaj� to do siebie �e s� obiektowe ? i
objekty.maj�swojemetody
albo
objekty.maj�KolekcjeObjekt�w.ktremaj�obiekty(0).imaj�metody()
kt�re w momencie sejw je�dz� po wielu "tabelach" i czasem zapisanie
czego� poni�ej wymaga otwartego po��cznia do bazy kt�re czasem lepiej
jest potrzyma� d�u�ej, bo tw�j jeden zapis po stronie kodu mo�e
powodowa� wiele zapis�w po stronie bazy -ot relacje.


>
>>>>> No tak.
>>>>> Tylko, �e zawsze mo�na to odszyfrowa�.
>>>>> Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
>>>>> zaszyfrowane dziecinnie �atwo "wysnifowa�".
>>>>
>>>> Wszystko idzie wysnifowaďż˝ .....
>>> To nie jest argument. �aden.
>>
>> To bardzo mocny argument.
> Eee.. tam; chodzi�o mi o poziom wymaganej wiedzy do z�amania danego
> sposobu autoryzacji - tu jest prosto, inne sposoby daj� wy�sze poziomy
> bezpiecze�stwa. Po prostu nie jest tak hop-sip - zainstalowa� Wireshark
> i lux.

mo�na zainstalowa� fidlera, .Net Reflektora lub inne dziadowskie
oprogramowanie i jak b�dziesz chcia� si� dowiedzie� na pewno si�
dowiesz. Poza tym jak chcesz ju� na prawd� by� bezpieczny to przesy�asz
dane https'em przez webservice czy inaczej modnym sk�d in�d serwisem
ostatnio WCF'owym do aplikacji Windows a nie kombinujesz z Conection
Stringami po stronie aplikacji Windows - one nie s� tam potrzebne do �ycia.


>
>
>>>>> A przecie� w MS SQL jest takie tw�r jak Application Role...
>>>>
>>>> Istnieje dop�ty dop�ki nie trafisz na op�r materii ludzkiej.
>>> A tego nie rozumiem - co to ma do rzeczy?
>>
>> W sumie nic do p�ki nie trafisz na administratora troglodyt�, kt�ry
>> sql server traktuje jak czasrne pude�ko lub maszyn� kt�ra robi "pik"
>> jak w monty-pythonie lub te� trafisz na innego zbocze�ca kt�ry powie
>> bo nie.
>> Poza tym ograniczasz siďż˝ tymsamym do MSsql.
> To "tylko" zmiana sposobu autoryzacji - przy dobrze zaprojektowanym
> systemie do "pikuďż˝" :)

�eby� wiedzia� kolego jaki ten piku� potrafi by� gigantyczny i nie do
przeskoczenia w realnym �wiecie - jak ci si� jeden z drugi uprze. Owszem
implementacja pikuďż˝,

wloochacz

unread,
Oct 2, 2009, 9:57:07 AM10/2/09
to
szymo pisze:
Od tego nie jest connection poooling, a nie "osobne connection na ka�de
zapytanie" - toďż˝ to masakra jest!!

--
wloochacz

szymo

unread,
Oct 2, 2009, 9:59:56 AM10/2/09
to

wloochacz

unread,
Oct 2, 2009, 10:04:22 AM10/2/09
to
szymo pisze:

>
>>>>>> No i cz w/w uwaga dotyczy wszelkiej ma�ci baz danych, czy tylko
>>>>>> np. MS SQL?
>>>>>> Jako� nie mog� si� odczepi� od zwi�zk�w, �e je�li .NET to MS SQL :)
>>>>>
>>>>> Wszystkich z wyj�tkiem baz objekowch
>>>> Masz na my�li obiektowych? A jakie to ma znaczenie, czy to baza
>>>> obiektowa, relacyjna czy relacyjna-obiektowa?
>>>
>>> Obiektowa - ma znaczenie.
>> Jakie?
>> Nie znam siďż˝, to pytam...
>
> Obiektowe bazy danym cnaj� to do siebie �e s� obiektowe ? i
> objekty.maj�swojemetody
> albo
> objekty.maj�KolekcjeObjekt�w.ktremaj�obiekty(0).imaj�metody()
> kt�re w momencie sejw je�dz� po wielu "tabelach" i czasem zapisanie
> czego� poni�ej wymaga otwartego po��cznia do bazy kt�re czasem lepiej
> jest potrzyma� d�u�ej, bo tw�j jeden zapis po stronie kodu mo�e
> powodowa� wiele zapis�w po stronie bazy -ot relacje.
Nie zgadzam siďż˝.
Pyta�em dlaczego to niby obiektowe bazy danych maj� trzyma� po���zenie,
a Ty nam tu (w pot�nym skr�cie i uproszczeniu) opisa�e� mechanizm
mapowania obiektowo relacyjnego; ORM nam opisa�e�, a to nie ma nic
wsp�lnego z "obiektow� baz� danych".

>>>>>> No tak.
>>>>>> Tylko, �e zawsze mo�na to odszyfrowa�.
>>>>>> Poza tym, je�eli ��cze z baz� nie b�dzie szyfrowane, to takie
>>>>>> zaszyfrowane dziecinnie �atwo "wysnifowa�".
>>>>>
>>>>> Wszystko idzie wysnifowaďż˝ .....
>>>> To nie jest argument. �aden.
>>>
>>> To bardzo mocny argument.
>> Eee.. tam; chodzi�o mi o poziom wymaganej wiedzy do z�amania danego
>> sposobu autoryzacji - tu jest prosto, inne sposoby daj� wy�sze poziomy
>> bezpiecze�stwa. Po prostu nie jest tak hop-sip - zainstalowa�
>> Wireshark i lux.
>
> mo�na zainstalowa� fidlera, .Net Reflektora lub inne dziadowskie
> oprogramowanie i jak b�dziesz chcia� si� dowiedzie� na pewno si�
> dowiesz. Poza tym jak chcesz ju� na prawd� by� bezpieczny to przesy�asz
> dane https'em przez webservice czy inaczej modnym sk�d in�d serwisem
> ostatnio WCF'owym do aplikacji Windows a nie kombinujesz z Conection
> Stringami po stronie aplikacji Windows - one nie s� tam potrzebne do �ycia.

Ale s� proste i skuteczne, poza tym to naprawd� zale�y co si� tam
pisze... Nie wsz�dzie jest potrzebna architektura komponentowa, a zwyk�y
connection string wystarczy - przy jakiej� ma�ej aplikacyjce...

>>>>>> A przecie� w MS SQL jest takie tw�r jak Application Role...
>>>>>
>>>>> Istnieje dop�ty dop�ki nie trafisz na op�r materii ludzkiej.
>>>> A tego nie rozumiem - co to ma do rzeczy?
>>>
>>> W sumie nic do p�ki nie trafisz na administratora troglodyt�, kt�ry
>>> sql server traktuje jak czasrne pude�ko lub maszyn� kt�ra robi "pik"
>>> jak w monty-pythonie lub te� trafisz na innego zbocze�ca kt�ry powie
>>> bo nie.
>>> Poza tym ograniczasz siďż˝ tymsamym do MSsql.
>> To "tylko" zmiana sposobu autoryzacji - przy dobrze zaprojektowanym
>> systemie do "pikuďż˝" :)
>
> �eby� wiedzia� kolego jaki ten piku� potrafi by� gigantyczny i nie do
> przeskoczenia w realnym �wiecie - jak ci si� jeden z drugi uprze. Owszem
> implementacja pikuďż˝,

Napisa�em - dobrze zaprojektowany system, to np. taki kt�ry potrafi
autoryzowa� si� za pomoc� r�nych metod i kana��w (WebService, baz
danych, serwer aplikacyjny czy cokolwiek innego). Interfejs
autoryzacyjny jest taki sam - implementacje r�ne.
Jak facio chce appRole - spoko, odpowiedni plugin i szlus.
Je�eli chce WS - tak samo i analogicznie dalej. To naprawd� nie jest
trudne do zrobienia - podkre�lam, mam na my�li tylko i wy��cznie
mechanizm autoryzacji.

--
wloochacz

3P

unread,
Oct 2, 2009, 12:48:16 PM10/2/09
to

> mo�na zainstalowa� fidlera, .Net Reflektora lub inne dziadowskie
> oprogramowanie i jak b�dziesz chcia� si� dowiedzie� na pewno si�
> dowiesz. Poza tym jak chcesz ju� na prawd� by� bezpieczny to przesy�asz
> dane https'em przez webservice czy inaczej modnym sk�d in�d serwisem
> ostatnio WCF'owym do aplikacji Windows a nie kombinujesz z Conection
> Stringami po stronie aplikacji Windows - one nie sďż˝ tam potrzebne do
> �ycia.

A co to ma wsp�lnego z aplikacja Windows Forms? Zreszt� wtedy wystarczy
siďż˝ dostaďż˝ do serwera z danymi.
Nie ma zupe�nie nic z�ego w bezpo�rednim ��czeniu si� do bazy.
Zastosowanie Web Service'�w, WCF ma wynika�
z potrzeb, a nie po to �eby programista m�g� zaszpanowa� jakiej to
technologii nie zna.

3P

unread,
Oct 2, 2009, 12:49:54 PM10/2/09
to
Dnia 02-10-2009 o 15:57:07 wloochacz <nospam.w...@nospam.dgbit.pl>
napisaďż˝(a):

Chyba czego� nie rozumiesz. W�a�nie po to jest connection pooling, aby�
zamyka� i otwiera� po��czenia bardzo cz�sto.
Dzi�ki temu mo�esz mie� jednocze�nie wi�cej u�ytkownik�w pracuj�cych z
bazďż˝.

3P

unread,
Oct 2, 2009, 12:54:44 PM10/2/09
to

> http://www.amazon.com/Programming-Entity-Framework-Julia-Lerman/dp/059652028X/

To i nic wi�cej na temat nie trzeba. Zobacz opinie. Polecaj� j� te� ludzie
z MS.

3P

unread,
Oct 2, 2009, 3:08:59 PM10/2/09
to
Dnia 02-10-2009 o 18:54:44 3P <nos...@serwer.pl> napisaďż˝(a):

>
>> http://www.amazon.com/Programming-Entity-Framework-Julia-Lerman/dp/059652028X/
>
> To i nic wi�cej na temat nie trzeba. Zobacz opinie. Polecaj� j� te�
> ludzie z MS.

Oczywi�cie je�eli chcesz programowa� z wykorzystaniem EntityFramework.

wloochacz

unread,
Oct 5, 2009, 6:39:10 AM10/5/09
to
3P pisze:
/ciach/

> Chyba czegoďż˝ nie rozumiesz.
Nie s�dz�...

> W�a�nie po to jest connection pooling, aby�
> zamyka� i otwiera� po��czenia bardzo cz�sto.

Niezupe�nie.
Connection pooling jest po to, abyďż˝ nie musiaďż˝ robiďż˝ osobnego
"connection dla ka�dego zapytania", ot co...
A "przy okazji" za�atwia w inteligentny (mniej lub bardziej) cykl �ycia
danego connection, kt�re jest zarz�dzane pul�.
Generalnie mechanizm jest prosty; potrzebujesz connection prosisz pulďż˝ o
nie. Ono Ci daje to kt�re jest aktualnie wolne, lub tworzy je dla
Ciebie, kiedy wolnego nie ma.
Kiedy connection nie jest Ci potrzebne - wraca do puli i czeka na
nast�pne ��dania.
Dzi�ki temu nie musisz si� martwi� o to, czy dane connection nie jest
zaalokowane przez inne zapytanie.

> Dzi�ki temu mo�esz mie� jednocze�nie wi�cej u�ytkownik�w pracuj�cych z
> bazďż˝.

Niezupe�nie tak - mog� sprawi�, aby kod wykonywa� si� r�wnolegle, a nie
sekwencyjnie. Prawie wszystkie bazy danych, maj� krety�skie
ograniczenie, kt�re nie pozwala mie� aktywnych wielu zestaw�w danych,
kt�re korzystaj� z tego samego po��czenia. Chlubnym wyj�tkiem jest
Firebird (tu mo�na mie� nawet wiele transakcji w tym samym connection i
nie mam na my�li save point�w) i ciekaw� inicjatyw� jest MARS dost�pny
od MS SQL Server 2005.

--
wloochacz

3P

unread,
Oct 5, 2009, 2:09:27 PM10/5/09
to
Dnia 05-10-2009 o 12:39:10 wloochacz <nospam.w...@nospam.dgbit.pl>
napisaďż˝(a):

> 3P pisze:
> /ciach/
>
>> Chyba czegoďż˝ nie rozumiesz.
> Nie s�dz�...
>
>> W�a�nie po to jest connection pooling, aby� zamyka� i otwiera�
>> po��czenia bardzo cz�sto.
> Niezupe�nie.
> Connection pooling jest po to, abyďż˝ nie musiaďż˝ robiďż˝ osobnego
> "connection dla ka�dego zapytania", ot co...
> A "przy okazji" za�atwia w inteligentny (mniej lub bardziej) cykl �ycia
> danego connection, kt�re jest zarz�dzane pul�.
> Generalnie mechanizm jest prosty; potrzebujesz connection prosisz pulďż˝ o
> nie. Ono Ci daje to kt�re jest aktualnie wolne, lub tworzy je dla
> Ciebie, kiedy wolnego nie ma.
> Kiedy connection nie jest Ci potrzebne - wraca do puli i czeka na
> nast�pne ��dania.
> Dzi�ki temu nie musisz si� martwi� o to, czy dane connection nie jest
> zaalokowane przez inne zapytanie.
>

Nie rozumiem o czym piszesz w ostatnim zdaniu. A kiedy niby musze siďż˝
martwiďż˝?
Jednak nie rozumiesz chyba idei connection poolingu.

Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas zapytania
i zamykanie po jego wykonaniu
to stosuje siďż˝ connection pooling, aby nie traciďż˝ czasu na tworzenie
nowych po��cze�. Dzi�ki temu
masz ca�y czas dost�pne obiekty po��cze� do bazy (tzn. klienci mog� si�
��czy� do bazy). Dzi�ki temu
wi�cej klient�w mo�e pracowa� r�wnolegle. Connection pooling daje ci tylko
to, �e szybciej uzyskujesz po��czenia.
Gdyby� mia� ca�y czas otwarte po��czenia to ConnectionPooling do niczego
nie by�by ci potrzebny.

>> Dzi�ki temu mo�esz mie� jednocze�nie wi�cej u�ytkownik�w pracuj�cych z
>> bazďż˝.

> Niezupe�nie tak - mog� sprawi�, aby kod wykonywa� si� r�wnolegle, a nie
> sekwencyjnie. Prawie wszystkie bazy danych, maj� krety�skie
> ograniczenie, kt�re nie pozwala mie� aktywnych wielu zestaw�w danych,
> kt�re korzystaj� z tego samego po��czenia. Chlubnym wyj�tkiem jest
> Firebird (tu mo�na mie� nawet wiele transakcji w tym samym connection i
> nie mam na my�li save point�w) i ciekaw� inicjatyw� jest MARS dost�pny
> od MS SQL Server 2005.
>

Czy nie widzisz, �e piszesz o czym� zupe�nie innym? Pisz� o wielu
u�ytkownikach jednocze�nie, a ty mi tu o MARSie piszesz.

yamma

unread,
Oct 6, 2009, 3:58:02 AM10/6/09
to

Serwer bazy danych ma ograniczon� liczb� po�acze�, kt�re mo�e mie� na raz
otwarte. Wynika to g��wnie z przyczyn sprz�towych (wielko�� pami�ci) ale te�
czasami z licencyjnych. Poza tym od kiedy wymy�lono Connection Pooling
trzymanie otwartych po��cze� nie ma najmniejszego sensu.
yamma

wloochacz

unread,
Oct 6, 2009, 5:40:22 AM10/6/09
to
3P pisze:

> Dnia 05-10-2009 o 12:39:10 wloochacz <nospam.w...@nospam.dgbit.pl>
> napisaďż˝(a):
>
>> 3P pisze:
>> /ciach/
>>
>>> Chyba czegoďż˝ nie rozumiesz.
>> Nie s�dz�...
>>
>>> W�a�nie po to jest connection pooling, aby� zamyka� i otwiera�
>>> po��czenia bardzo cz�sto.
>> Niezupe�nie.
>> Connection pooling jest po to, abyďż˝ nie musiaďż˝ robiďż˝ osobnego
>> "connection dla ka�dego zapytania", ot co...
>> A "przy okazji" za�atwia w inteligentny (mniej lub bardziej) cykl
>> �ycia danego connection, kt�re jest zarz�dzane pul�.
>> Generalnie mechanizm jest prosty; potrzebujesz connection prosisz pulďż˝
>> o nie. Ono Ci daje to kt�re jest aktualnie wolne, lub tworzy je dla
>> Ciebie, kiedy wolnego nie ma.
>> Kiedy connection nie jest Ci potrzebne - wraca do puli i czeka na
>> nast�pne ��dania.
>> Dzi�ki temu nie musisz si� martwi� o to, czy dane connection nie jest
>> zaalokowane przez inne zapytanie.
>>
> Nie rozumiem o czym piszesz w ostatnim zdaniu. A kiedy niby musze siďż˝
> martwiďż˝?
Otw�rz sobie recordset z kursorem po stornie serwera (nawet w .NET da
si� to zrobi�...), nie zamykaj goi do tego samego po��czenia (ta sama
instancja, czyli bez puli) podepnij nowďż˝ instancjďż˝ w/w zapytania.
Jak trafisz na komunikat "connection is busy with another resultset", to
wr�� i pogadamy.

Pisa�e� kiedykolwiek w czym� innym ni� .NET?
Tam gdzie nie by�o poolingu?

> Jednak nie rozumiesz chyba idei connection poolingu.

Oczywi�cie.

> Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas
> zapytania i zamykanie po jego wykonaniu

Bzdura.
Kto to zaleca w WindowsForms?
Gdzie to jest napisane?
Pokaďż˝ proszďż˝.
Nie piszďż˝ w .NET i nie piszďż˝ app webowych.

> to stosuje siďż˝ connection pooling, aby nie traciďż˝ czasu na tworzenie
> nowych po��cze�. Dzi�ki temu
> masz ca�y czas dost�pne obiekty po��cze� do bazy (tzn. klienci mog� si�
> ��czy� do bazy).

Tak, ale te po��czenia i tak zosta�y stworzone i s� utrzymywane przez
pul� - wszystko dzieje si� automatycznie, to ca�� r�nica.

> Dzi�ki temu
> wi�cej klient�w mo�e pracowa� r�wnolegle.

Dzi�ki czemu? Jak pooling przek��da si� na "wi�cej klient�w"?
Chyba nie rozumiesz idei connection poolingu.

> Connection pooling daje ci
> tylko to, �e szybciej uzyskujesz po��czenia.

Niezupe�nie szybciej - po prost pula trzyma po��czenia, wi�c dostajesz
istniej�ce aktywne po��czenie. Je�eli pula nie ma wolnych aktywnych
po��cze� to musi je utworzy�; tyle �e w przypadku MS SQLa utworzenie
po��czenia typu pooled nie wymaga wykonania wszystkich akcji, kt�re s�
wymagane do utworzenia normalnego po��czenia - a wi�c tak, tworzenia
po��czenia typu pooled jest szybsze.

> Gdyby� mia� ca�y czas otwarte po��czenia to ConnectionPooling do niczego
> nie by�by ci potrzebny.

Co Ty nie powiesz?
Jest potrzebny - spr�buj utrzyma� po��czenie i wykona� jak�� operacj�,
ale r�wnolegle w wielu w�tkach u�ywaj�c tego samego po��czenia (nie puli).
A potem wr�� i pochwal si� wynikami...

>>> Dzi�ki temu mo�esz mie� jednocze�nie wi�cej u�ytkownik�w pracuj�cych
>>> z bazďż˝.
>
>> Niezupe�nie tak - mog� sprawi�, aby kod wykonywa� si� r�wnolegle, a
>> nie sekwencyjnie. Prawie wszystkie bazy danych, maj� krety�skie
>> ograniczenie, kt�re nie pozwala mie� aktywnych wielu zestaw�w danych,
>> kt�re korzystaj� z tego samego po��czenia. Chlubnym wyj�tkiem jest
>> Firebird (tu mo�na mie� nawet wiele transakcji w tym samym connection
>> i nie mam na my�li save point�w) i ciekaw� inicjatyw� jest MARS
>> dost�pny od MS SQL Server 2005.
>>
> Czy nie widzisz, �e piszesz o czym� zupe�nie innym? Pisz� o wielu
> u�ytkownikach jednocze�nie, a ty mi tu o MARSie piszesz.

Powiem tak, �eby� zrozumia�; a co gdyby u�ytkownik by� de-facto
polecenim SQL, a wi�c chodzi o to, �e u�ytkownicy wykonuj� polecenia SQL
za pomocďż˝ jednego globalnego connection?

--
wloochacz

yamma

unread,
Oct 6, 2009, 7:10:04 AM10/6/09
to
wloochacz wrote:
> 3P pisze:

>> Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas
>> zapytania i zamykanie po jego wykonaniu
> Bzdura.
> Kto to zaleca w WindowsForms?
> Gdzie to jest napisane?
> Pokaďż˝ proszďż˝.

http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
"We strongly recommend that you always close the connection when you are
finished using it so that the connection will be returned to the pool. You
can do this using either the Close or Dispose methods of the Connection
object, or by opening all connections inside a using statement in C#, or a
Using statement in Visual Basic. Connections that are not explicitly closed
might not be added or returned to the pool."
yamma

wloochacz

unread,
Oct 6, 2009, 8:03:44 AM10/6/09
to
yamma pisze:
Tu jest napisane, �e oni mocno zalecaj� zamykanie nieu�ywanego
po��czenia, �eby wr�ci�o do puli.
A nie tego, �e mocno zalecaj� u�ywania connection pooling.

�eby by�a jasno��; Connection Pooling w ADO.NET przy po��czeniach z SQL
Server jest bardzo OK i absolutnie nie jestem jej przeciwnikiem.
Ale nie jest to globalna zasada, kt�ra dotyczy wszystkiego i w ka�dej
sytuacji.

--
wloochacz

yamma

unread,
Oct 6, 2009, 8:20:53 AM10/6/09
to
wloochacz wrote:
> yamma pisze:
>> wloochacz wrote:
>>> 3P pisze:
>>
>>>> Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas
>>>> zapytania i zamykanie po jego wykonaniu
>>> Bzdura.
>>> Kto to zaleca w WindowsForms?
>>> Gdzie to jest napisane?
>>> Pokaďż˝ proszďż˝.
>>
>> http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
>> "We strongly recommend that you always close the connection when you
>> are finished using it so that the connection will be returned to the
>> pool. You can do this using either the Close or Dispose methods of
>> the Connection object, or by opening all connections inside a using
>> statement in C#, or a Using statement in Visual Basic. Connections
>> that are not explicitly closed might not be added or returned to the
>> pool."
> Tu jest napisane, �e oni mocno zalecaj� zamykanie nieu�ywanego
> po��czenia, �eby wr�ci�o do puli.
> A nie tego, �e mocno zalecaj� u�ywania connection pooling.

Nie wiem jak inni ale ja odnosz� wra�enie, �e dyskutujesz z samym sob�.
Pytanie by�o o to, czy trzyma� aktywne po��czenie przez ca�y czas �ycia
programu. Ty si� czepi�e� tematu baza z Connection Poolingiem vs baza bez
Connection Poolingu, w dodatku podaj�c jako argumenty sytuacje do��
ekstremalne i wynikaj�ce raczej z niekompetencji architekta aplikacji.
Wiesz, my tutaj w wiekszo�ci wiemy co to jest Connection Pooling i nie
musisz nas u�wiadamia�. :-) Ja w ka�dym b�d� razie nie zamierzam o tym
dyskutowa�. Ja tylko odpowiedzia�em na twoje pytanie o to, gdzie to jest
napisane.
yamma

wloochacz

unread,
Oct 6, 2009, 8:52:54 AM10/6/09
to
yamma pisze:

> wloochacz wrote:
>> yamma pisze:
>>> wloochacz wrote:
>>>> 3P pisze:
>>>
>>>>> Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas
>>>>> zapytania i zamykanie po jego wykonaniu
>>>> Bzdura.
>>>> Kto to zaleca w WindowsForms?
>>>> Gdzie to jest napisane?
>>>> Pokaďż˝ proszďż˝.
>>>
>>> http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
>>> "We strongly recommend that you always close the connection when you
>>> are finished using it so that the connection will be returned to the
>>> pool. You can do this using either the Close or Dispose methods of
>>> the Connection object, or by opening all connections inside a using
>>> statement in C#, or a Using statement in Visual Basic. Connections
>>> that are not explicitly closed might not be added or returned to the
>>> pool."
>> Tu jest napisane, �e oni mocno zalecaj� zamykanie nieu�ywanego
>> po��czenia, �eby wr�ci�o do puli.
>> A nie tego, �e mocno zalecaj� u�ywania connection pooling.
>
> Nie wiem jak inni ale ja odnosz� wra�enie, �e dyskutujesz z samym sob�.
Zgadzam siďż˝ ;-)

> Pytanie by�o o to, czy trzyma� aktywne po��czenie przez ca�y czas �ycia
> programu. Ty si� czepi�e� tematu baza z Connection Poolingiem vs baza
> bez Connection Poolingu, w dodatku podaj�c jako argumenty sytuacje do��
> ekstremalne i wynikaj�ce raczej z niekompetencji architekta aplikacji.

Mhm... niech Ci b�dzie; tzn - tak, przyk�ady s� skrajne i by� mo�e,
naci�gane - zw�aszcza w kontek�cie grupy (.NET), ale z ta niekompetencj�
to chyba nie do ko�ca si� rozumiemy.

> Wiesz, my tutaj w wiekszo�ci wiemy co to jest Connection Pooling i nie
> musisz nas u�wiadamia�. :-)

OK, nie b�d�. Ale dalej podtrzymuje swoje stanowisko - w przytoczonym
przez Ciebie nie tego, co chcia�em aby mi pokazano; innymi s�owy - ciut
nie na temat....

> Ja w ka�dym b�d� razie nie zamierzam o tym
> dyskutowa�. Ja tylko odpowiedzia�em na twoje pytanie o to, gdzie to jest
> napisane.

No wi�c w�a�nie niezupe�nie...
Ale, OK - EOT z pozdrowieniem :)

--
wloochacz

3P

unread,
Oct 6, 2009, 9:29:41 AM10/6/09
to
Dnia 06-10-2009 o 14:03:44 wloochacz <nospam.w...@nospam.dgbit.pl>
napisaďż˝(a):

> yamma pisze:
>> wloochacz wrote:
>>> 3P pisze:
>>
>>>> Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas
>>>> zapytania i zamykanie po jego wykonaniu
>>> Bzdura.
>>> Kto to zaleca w WindowsForms?

>> http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
>> "We strongly recommend that you always close the connection when you
>> are finished using it so that the connection will be returned to the
>> pool. You can do this using either the Close or Dispose methods of the
>> Connection object, or by opening all connections inside a using
>> statement in C#, or a Using statement in Visual Basic. Connections that
>> are not explicitly closed might not be added or returned to the pool."
> Tu jest napisane, �e oni mocno zalecaj� zamykanie nieu�ywanego
> po��czenia, �eby wr�ci�o do puli.
> A nie tego, �e mocno zalecaj� u�ywania connection pooling.
>

Widz�, �e masz spore problemy z czytaniem ze zrozumieniem. Napisa�em ci,
�e si� otwiera i zamyka po��czenia po ich wykorzystaniu
z czym si� nie zgodzi�e�. Kolega zacytowa�, �e MS to zaleca, na co ty
odpowiadasz, �e oni nie zalecaj� connection poolingu
tylko zamykanie po��czenia po jego wykorzystaniu (o czym ja napisa�em) LOL!

3P

unread,
Oct 6, 2009, 9:38:22 AM10/6/09
to
Dnia 06-10-2009 o 11:40:22 wloochacz <nospam.w...@nospam.dgbit.pl>
napisaďż˝(a):

Skoro nie da si� w .NET to po jakiego grzyba to tutaj piszez? Zauwa�y�e�
nazwďż˝ grupy?
Poza tym jakbym chcia� wykonywa� 2 operacje jednocze�nie to bym mia� 2
po��czenia, albo MARS.

>
> Pisa�e� kiedykolwiek w czym� innym ni� .NET?
> Tam gdzie nie by�o poolingu?

Tak, ale nie pisa�em aplikacji bazo danowych. A ty chyba w .NET dopiero
zaczynasz.


>
>> Jednak nie rozumiesz chyba idei connection poolingu.
> Oczywi�cie.

Dobrze, �e tutaj si� zgadzamy.


>
>> Poniewa� zalecan� metod� pracy jest tworzenie po��czenia na czas
>> zapytania i zamykanie po jego wykonaniu
> Bzdura.
> Kto to zaleca w WindowsForms?
> Gdzie to jest napisane?
> Pokaďż˝ proszďż˝.
> Nie piszďż˝ w .NET i nie piszďż˝ app webowych.
>

Ju� kolega zacytowa�. To po choler� si� wypowiadasz jak nie masz poj�cia o
.NET?

>> to stosuje siďż˝ connection pooling, aby nie traciďż˝ czasu na tworzenie
>> nowych po��cze�. Dzi�ki temu
>> masz ca�y czas dost�pne obiekty po��cze� do bazy (tzn. klienci mog� si�
>> ��czy� do bazy).
> Tak, ale te po��czenia i tak zosta�y stworzone i s� utrzymywane przez
> pul� - wszystko dzieje si� automatycznie, to ca�� r�nica.
>
>> Dzi�ki temu
>> wi�cej klient�w mo�e pracowa� r�wnolegle.
> Dzi�ki czemu? Jak pooling przek��da si� na "wi�cej klient�w"?
> Chyba nie rozumiesz idei connection poolingu.

A no tak m�dralo, �e serwer ma ograniczon� liczb� jednoczesnych po��cze�.
Abyďż˝ zrozumiaďż˝, bo widzďż˝,
�e masz spore problemy wyja�ni� ci na takim przyk�adzie.
Serwer ma ograniczenie do 3 jednoczesnych po��cze�. Wg twojego super
designe'u 3 klient�w odpala
aplikacj� i wykorzystuje te 3 po��czenia. Teraz 4 klient chce si� po��czy�
i dupa!

W "moim" projekcie ka�dy z nich bardzo kr�tko wykorzystuje po��czenie.
Dzi�ki temu 4 i 40 klient pod��cza si�
bez problemu.

Teraz zrozumia�e� jak connection pooling przek�ada si� na wi�cej klient�w?
Oczywi�cie bez CP te� mo�na
to osi�gn��, ale uzyskiwanie po��cze� b�dzie d�u�sze.

>
>> Connection pooling daje ci tylko to, �e szybciej uzyskujesz po��czenia.
> Niezupe�nie szybciej - po prost pula trzyma po��czenia, wi�c dostajesz

^^^^^^^^^^^^^^^^^^^^


> istniej�ce aktywne po��czenie. Je�eli pula nie ma wolnych aktywnych
> po��cze� to musi je utworzy�; tyle �e w przypadku MS SQLa utworzenie
> po��czenia typu pooled nie wymaga wykonania wszystkich akcji, kt�re s�
> wymagane do utworzenia normalnego po��czenia - a wi�c tak, tworzenia
> po��czenia typu pooled jest szybsze.

^^^^^^^^^^^^^
Bez komentarza


>
>> Gdyby� mia� ca�y czas otwarte po��czenia to ConnectionPooling do
>> niczego nie by�by ci potrzebny.
> Co Ty nie powiesz?
> Jest potrzebny - spr�buj utrzyma� po��czenie i wykona� jak�� operacj�,
> ale r�wnolegle w wielu w�tkach u�ywaj�c tego samego po��czenia (nie
> puli).
> A potem wr�� i pochwal si� wynikami...

Ju� ci napisa�em jak to si� robi.

3P

unread,
Oct 6, 2009, 9:40:48 AM10/6/09
to
>>
>>> Connection pooling daje ci tylko to, �e szybciej uzyskujesz po��czenia.
>> Niezupe�nie szybciej - ...
>> ...- a wi�c tak, tworzenia po��czenia typu pooled jest szybsze.

Bez komentarza

wloochacz

unread,
Oct 6, 2009, 10:03:01 AM10/6/09
to
3P pisze:
Zatrudnij si� jako spin doctor - nie�le Ci idzie wycinanie kontekstu...

--
wloochacz

3P

unread,
Oct 6, 2009, 10:17:33 AM10/6/09
to
Dnia 06-10-2009 o 16:03:01 wloochacz <nospam.w...@nospam.dgbit.pl>
napisaďż˝(a):

Wcze�niej zacytowa�em ca�y tekst i podkre�li�em, ale si� rozjecha�o.

AbiX

unread,
Jun 23, 2014, 7:46:59 AM6/23/14
to
Do��cz� si� do tematu bo mnie co� zastanawia...

W dniu 2009-10-06 15:38, 3P pisze:
<....>
>
> W "moim" projekcie ka�dy z nich bardzo kr�tko wykorzystuje po��czenie.
> Dzi�ki temu 4 i 40 klient pod��cza si�
> bez problemu.

Czyli ca�y Connection Pooling jest obs�ugiwany po stronie serwera czy
komponent�w dost�powych do bazy?
Po lekturze tego w�tku rozjecha�a mi si� nieco definicja CP.

Robert Winkler

unread,
Jun 23, 2014, 11:09:36 AM6/23/14
to
W dniu 2014-06-23 13:46, AbiX pisze:
Connection Pooling odbywa siďż˝ po stronie klienta
czyli w komponentach dost�pu do bazy danych.

W swoim kodzie musisz tylko zapewni�, �e wywo�asz metod� Dispose
na obiekcie SqlConnection natychmiast,
gdy dostaniesz odpowiedďż˝ z serwera
i przepiszesz dane do swoich zmiennych.
Dispose wo�a metod� Close, kt�ra to nie zamyka po��czenia z baz�,
ale przekazuje je do puli i wo�a na bazie procedur� sk�adowan�
sp_reset_connection, kt�ra to z kolei zapewnia,
�e kolejne odwo�anie do bazy danych
b�dzie dla aplikacji wygl�da�o jakby zosta�o wykonane
na nowym po��czeniu.

/Robert
0 new messages