---
title: "Connection pools and a DAAB v. 3 mystery"
url: "https://osherove.com/blog/2004/4/14/connection-pools-and-a-daab-v-3-mystery.md"
canonical: "https://osherove.com/blog/2004/4/14/connection-pools-and-a-daab-v-3-mystery.html"
published: "2004-04-14T11:30:00"
updated: "2004-04-14T11:30:00"
tags: [".Net Original"]
author: "Roy Osherove"
description: "Phew. Yesterday I gave a whole day about ADO.Net to a group of fine young people, and today I gave about an hour more about ADO.Net best practices. Boy am I tired. I found out that after about 3 hours of speaking my…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Connection pools and a DAAB v. 3 mystery

By Roy Osherove April 14, 2004 In [.Net Original](https://osherove.com/blog/category/net-original)

**Historical article** · Originally published April 14, 2004; technical details may be outdated.

Phew. Yesterday I gave a whole day about ADO.Net to a group of fine young people, and today I gave about an hour more about ADO.Net best practices. Boy am I tired.

I found out that after about 3 hours of speaking my voice starts to fade. Obviously I'm not speaking correctly. I know that there are techniques that allow you to speak a lot and not lose your voice even a bit. Anyone know of any?

Anyway, One of the things I talked about today was about connection pooling. I got a question about what happens when a connection string is used to connect to the database via a different user (using SSPI), yet the connection string is the same(Connections are pooled based on an exact connection string match). I didn't know the answer to that, so I checked. Turns out that when different users log in, even with the exact same connection string, they do not share the same pool. therefore, it is less efficient to use multiple accounts to access the database, as multiple connection pools will be created for them.

[Go here](http://www.ondotnet.com/pub/a/dotnet/2004/02/09/connpool.html) to learn a little more about the subject of connection pools.

I also talked about using the Data Access Application Block, versions 2.0 and 3.0. It was very cool to look at people's faces when they saw 8 lines of data access code to fill a dataset turned magically into one simple line. Very nice.  I found [this very nice article](http://ipattern.com/simpleblog/PermLink.aspx?entryid=24) that talks about how the [DAAB v.3](http://www.gotdotnet.com/community/workspaces/newsitem.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431&newsId=1304) works and operates, including how it uses the Abstract Factory pattern to do its bidding, allowing you to blindly use different and configurable data providers.

I also got a question about that issue which I could not answer. The question was, given that with the data access block v.3 you get 3 pre-made data providers - Sql,OleDb and Oracle, is there an oracle implementation somewhere for this application block? (i.e 'that inherits from AdoHelper class')

I asked some of the people here and someone said they somewhere that yes, there is, but looking this up in google found nothing. The article I'm linking to here, by Maxim Karpov states :

_“Unfortunately, there is no implementation for Oracle database; therefore, it is up to you to develop the support for this database if needed. It is as simple as inheriting from AdoHelper class and overriding the method with Oracle specific functionality”_

Too bad. I bet someone somewhere did create such an implementation. Do you know of any?

**\[Update\]**

One thing I forgot to mention was that just before my talk one of the guys from the crowd approached me, I've never seen him before, and said he's been reading my blog for a long time and that its nice to finally meet me. (Sorry, I can't remember your name! please post a comment so that I can correct this wrong) Sure made me feel good all over.

## More in .Net Original

[All posts in .Net Original](https://osherove.com/blog/category/net-original)

- Apr 20, 2004

    ### [The Regulator v. 2.01 - now with Intellisense](https://osherove.com/blog/2004/4/20/the-regulator-v-201-now-with-intellisense.html)

- Apr 15, 2004

    ### [Misunderstanding timestamp](https://osherove.com/blog/2004/4/15/misunderstanding-timestamp.html)

- Apr 11, 2004

    ### [DotNet vs. Smalltalk](https://osherove.com/blog/2004/4/11/dotnet-vs-smalltalk.html)

- Apr 10, 2004

    ### [The Regulator 2.0 is out](https://osherove.com/blog/2004/4/10/the-regulator-20-is-out.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
