donutman, I tend to agree with you. The connection pooling issue is probably moot for you. Connection pooling can be quite important, depending on how you deal with the DB.
If your app creates a connection object when the app starts up, and does NOT close the connection until the app closes. You are maintaining the connection throughout the "life-time" of the app. Therefore, the connection does not get closed and it also does not go in to the connection pool.
If your app create a connection object, logs in to the DB, performs some operation, and then you close the DB connection EVERY time you touch the database, then your connections are getting pooled.
Ex.
Public Function GetDatabaseRecordset(byval SQL as string0 as ADODB.RecordSet
Dim DB As ADODB.Connection
Dim RS as ADODB.RecordSet
Set DB = new ADODB.Connection
db.connectionstring = ....
db.open
Set RS = new ADODB.Recordset
Call RS.Open(SQL, DB,.....)
Set RS.ActiveConnection = Nothing
Set GetDatabaseRecordset = RS
DB.Close
Set DB = Nothing
End Function
If you get it just right, this method will give you disconnected recordset. It also opens and closes the connection to the database every time, therefore utilizing connection pooling. BTW, I don't recommend the above method.
Ultimately, you must consider what's important. The simple answer is.... The app must do what it is supposed to do, and you can't have people standing aroung waiting for the computer to do it. Functionality first. Speed second.
So... If you turn off connection pooling and the performance is acceptable, then you should go that route.
My programmers come to me all the time. I wrote the widget like you wanted me to, but I think I can make it faster. Should I spend more time on it? I ask, how long does it take? If it's "blink of an eye", then 1/2 a blink doesn't matter.
I think your assesment that connection pooling is for the big guys is probably right. It also benefits the little sloppy guy.
Hope this helps.