|
|
여러 사용자 동시 접속 지원
VB.NET에서 연결 가능
❌ 문제점
3명 이상 동시 사용 시 파일 Lock 문제
파일 손상 위험 높음
트랜잭션 약함
서버 트래픽이 많으면 속도 매우 느림
그래서 실질적으로는 소규모(1~5명) 로컬 업무용에만 적합합니다.
✅ Access는 왜 IP 접속이 안 되는가?
Access에는 다음 기능이 없습니다.
서버 데몬
네트워크 리스너
포트 바인딩
클라이언트 인증
쿼리 처리 스레드
그래서 아래 형태가 절대 안 됩니다:
connectionString = "Server=192.168.0.10; Database=..." ❌
Access는 SQL Server처럼 네트워크 서비스가 아니라
그냥 “엑셀처럼 열리는 파일”이라고 생각하면 됩니다.
✅ VB.NET에서 제대로 된 웹/다중 사용자 개발을 하려면?
당신이 웹용, 게시판, 다중 사용자 프로그램을 만들고 싶다면
Access는 적합하지 않고 다음 DB를 사용해야 정답입니다.
✅ 추천
SQL Server Express (무료) → ASP.NET, VB.NET 완벽 호환
MariaDB → 가능
MySQL → 가능
PostgreSQL → 강력
특히 ASP.NET + Access 조합은 거의 사용하지 않습니다.
✅ 결론
Access는 서버 DB가 아니므로 IP로 접속하는 방식은 원천적으로 불가능
네트워크 공유를 이용한 다중 접속은 있으나 비추천
웹, ASP.NET, 다중 사용자 환경에서는 반드시 SQL Server나 MariaDB 같은 서버형 DB를 써야 함
원하시면
• Access → SQL Server로 마이그레이션 하는 방법
• VB.NET에서 SQL Server 연결 코드
• Access 병렬 사용 한계
이런 내용도 바로 설명해 드릴게요.
네. C#도 완전히 똑같습니다.
언어가 VB.NET이든 C#이든 Access를 쓰면 구조적 한계는 동일합니다.
Access는 DB 자체에 서버 기능이 없어서 어떤 언어로 접근하든 원리가 같습니다.
✅ C#에서 Access를 쓸 때도 다음이 그대로 적용됩니다 ✅ 1. 로컬 파일 기반 DB
C#에서도 Access는 파일(ACCDB, MDB)을 직접 여는 방식입니다.
따라서:
IP로 DB 접속 → ❌
포트 접속 → ❌
서버 엔진 → ❌
언어가 달라도 Access 자체의 구조가 바뀌지 않습니다.
✅ 2. 네트워크 공유로만 다중 사용 가능
C#에서도 위와 같은 방식으로만 연결할 수 있습니다:
\\192.168.0.10\Share\DB.accdb
이건 진짜 서버가 아니라
파일 공유에 불과합니다.
문제점도 그대로입니다.
파일 Lock 문제
속도 느림
5명 이상이면 오류 자주 발생
파일 손상 위험
✅ 3. 웹 개발(ASP.NET)에서는 Access 비추천
C# + ASP.NET + Access 조합은 실제 실무에서는 거의 사용하지 않습니다.
왜냐하면:
동시 접속이 많을 때 장애·파일 손상 발생
트랜잭션 불안정
웹 서버가 DB 파일을 독점하면 다른 클라이언트 접근 불가
스케일 확장이 전혀 안 됨
C#에서 웹 개발을 한다면
SQL Server Express나 MariaDB, PostgreSQL을 쓰는 것이 맞습니다.
✅ 결론
언어(VB.NET, C#)가 달라도 Access는 동일한 한계를 가진 파일 기반 DB입니다.
C#에서도 Access는 서버 기능 ❌
IP 접속 ❌
네트워크 공유로 접속은 가능하나 비추천
웹 또는 다중 사용자 환경에서는 반드시 서버형 DB 사용해야 함
C#에서 어떤 형태의 프로그램(윈도우폼, 웹, 모바일)을 만들 계획인지 말해 주면
그 목적에 맞는 최적 DB 조합을 바로 추천해 드릴게요.