I've posted this question at the Database forum but didn't get any feedbacks.

I'm writing a multiuser application with VB5 SP3 that connects to the PostgreSQL database via ODBC.

The application allows user to enquire and update database. The application also import/export data files periodically (fired by timer events) -- without user interventions.

Is it common practice to create a new workspace and/or connection whenever database access is required or to use a global variable for using throughout the application?

Say, if I'm using the global method, if the import is in progress (updating certain tables in database) while the user is updating certain information in the database as well, will the begin/commit/rollback transactions affects one another??