I am curious as to why you want to keep the ODBC connection open permanently.  Most systems are designed to open and close the connections as rapidly as possible.  The monthly charges for some databases are based on the number of active threads.  So if you have 10 users with permanent connections you have a minimum of 10 active threads (usually more).  Whereas, you might never have more than 5 people concurrently accessing tables so if you closed threads when they were finished, you would never have 10 active threads.