Shoud a SQL 2005 database remain open in a Visual Basic program, or should
it be opened and closed in every subroutine?
You don't really open or close the database, but you connect and disconnect
from the server.
It's common to do as you say open and disconnect. It's not really cheap to
open a connection to SQL Server. However, the client API maintains a
connection pool, so behind the scenes the connection is open, and is reused
when you connect anew. (If there is no connection for a certain amount of
time, typically 60 seconds, the connection is closed for real.)
Then again, in a two-tier application it's not really any major flaw to
have a global connection that you keep open.
Comment