The value supplied in the database parameter must be a valid database name. The database parameter cannot contain a null value, an empty string, or a string with only blank characters.
When you are using connection pooling against SQL Server 2000, and you close the connection, it is returned to the connection pool. The next time the connection is retrieved from the pool used, the reset connection request piggybacks on the first round trip to the server and executes before the user performs any operations. From the time that you return a connection to the connection pool after calling the ChangeDatabase method, until the time the connection is retrieved, the connection remains active on the database. This prevents you from dropping the database because the connection is still active.