VIết ứng dụng cho nhiều người dùng cùng lúc thì code phải thêm mắm muối, khác chút ở công đoạn truy cập, chèn, sửa xoá dữ liệu chứ không viết như ứng dụng cho một người dùng.
Một ví dụ đơn giản là: tạo khoá không trùng khi thêm mới dữ liệu. Nếu hy hữu có 2 người cùng thao tác thêm mới dữ liệu 1 thời điểm thì cái khoá mới tạo sẽ bị trùng khi lưu xuống database. Client 1 duyệt database hiện tại tạo một khoá mới, khi đó Client 2 cũng cùng lúc duyệt database và toạ khoá mới => trùng khoá.
Nếu cái App chia sẻ file để nhiều người kết nối vô (giống SQL Server) thì nếu code được thì code để quản lý số Connection thôi. Còn việc đóng/mở kết nối là tuỳ theo quan điểm, nhu cầu của người lập trình ứng dụng Client họ viết.
Khi có nhiều kết nối tới máy chứa Database chia sẻ thì tất nhiên máy phải mở cổng, socket, name pipe... các kiểu để nhận kết nối. Khi đó tài nguyên máy phải bị ảnh hưởng rồi. Lúc này thì em mới xem xét nên cho kết nối cùng lúc 10, 20, 100, 200... connection cùng lúc thì máy chạy có ì ạch không từ đó mới không chế chỉ cho duy trì 10 kết nối đồng thời thôi, kết nối nào tới sau thì xếp hàng chờ.
Nếu có thời gian em ngâm cứu cái công nghệ Connection Pooling của ADO xem. Khi Client đóng kết nối thì nó không hẳn là đóng kết nối hoàn toàn tới Database mà đưa vào cái tạm gọi là hồ chứa (Pool) các kết nối để đó, khi một connection có cùng tham số như vậy yêu cầu mở lại, thì nó tìm trong cái hồ chứa lấy ra dùng lại, khỏi tạo kết nối mới.