Microsoft 플랫폼에서 경량 데스크톱 DB 애플리케이션을 개발해야 할 필요성을 고려하십시오.
MS Access로 상당히 쉽게 할 수 있지만 다른 사람에게 배포 할 수 있기를 원하며 런타임 라이센스 비용을 지불하고 싶지 않습니다.
요구 사항 :
- 다른 사람에게 쉽게 배포
- 런타임 라이선스 문제 없음
고려 사항 및 후보 :
- OpenOffice 제품군 기반 . 내 우려는 안정성에 관한 것이 었습니다.
- MySQL + C ++ 또는 Python 또는 다소 무거운 솔루션처럼 보이는 사용자 지정 DB 코드 작성.
질문 : MS Access에 대한 저비용 또는 무료 데이터베이스 대안은 무엇입니까?
참조 : 오픈 소스보고 엔진
쫑끼리
Bruceatk는 내가 생각하는 것에 대해 일종의 히트를 쳤다. Access가 파티에 제공하는 다른 장점을 원하는만큼 DB 엔진이 아닙니다. 멋진 양식 디자이너, 멋진보고 엔진 등.하지만 설치 공간에 대해 매우 좋은 점을 지적합니다. 나는 그것을 고려했지만 어쨌든 내가 이것을 어떻게 할 것인지에 대한 확고한 결정을 내리지 않았습니다. 어쨌든 상당히 가볍고 작은 설치 공간이 확실히 플러스가 될 것입니다.
@Remou,
아니요 저는 MS Access 2007 런타임이 무료라는 사실을 몰랐습니다. 지적 해 주셔서 감사합니다. 마지막으로 조사하려고했을 때 (언제 기억 나지 않습니다.) 기업 IT 부서에 판매하려고했기 때문에 런타임에 상당히 비싼 라이선스라고 생각합니다.
그리고 응답 해 주신 모든 분들께도 감사드립니다. 나는 당신이 모두 지적한 다른 옵션을 완전히 알지 못했습니다.
답변
여기서 명심해야 할 한 가지는 MS Access 제품이 단순한 원시 데이터베이스 엔진 그 이상이라는 것입니다. 양식 및 메뉴 디자이너, 클라이언트 응용 프로그램 언어 및 환경 (VBA), 보고서 디자이너를 포함한 전체 응용 프로그램 개발 플랫폼을 제공합니다. 이러한 모든 것을 통합하면 MS Access에는 실제로 피어가 없습니다.
그러나이 질문의 범위는 원시 데이터베이스 엔진과 관련이 있습니다. 이를 염두에두고 :
SQLlite ,
Firebird ,
VistaDB (무료 아님),
SQL Server Compact Edition (Express 아님)
및 이제 SQL Server LocalDB가
모두 떠 오릅니다.
또 다른 생각 : 원래의 질문은 데스크톱 데이터베이스에 대해 묻지 만 일부 사람들은 웹 사이트에서 사용할 데이터베이스를 찾고 여기에 도착할 것입니다. 이러한 데이터베이스 는 모두 처리중인 데이터베이스이므로 웹에서 사용하기에 적합한 경우는 드물다 는 점을 기억하는 것이 중요합니다 . 상당한 동시 액세스를 지원해야하는 일반적인 웹 사이트를 구축하려는 경우 일반적으로 MS SQL, Postgresql, MySQL, Oracle 또는 그 형제와 같은 데이터베이스 서버 엔진이 필요합니다 . 동시에 이러한 서버 엔진은 단일 사용자 데스크톱 응용 프로그램에 적합하지 않습니다.
답변
사람들이 Access의 대체품에 대해 물을 때 많은 사람들은 데이터베이스에 대해서만 생각하지만 실제로 요청하는 것은 Access의 다른 모든 기능입니다. 일반적으로 Access가 어떤 데이터베이스를 사용하는지는 상관하지 않습니다.
Access에서 제공하는 기능 중 일부는 다음과 같습니다. 양식, 쿼리 작성, 보고서, 매크로, 데이터베이스 관리 및 마법사가 제공하는 것 이상으로 나아가 야 할 때 필요한 언어.
SQLite , MySQL 및 FireBird는 무료 데이터베이스 백엔드입니다. 추가 액세스 기능이 내장되어 있지 않습니다. Access에 대한 무료 대안은 SQLite 와 개발 언어와 같은 것을 결합해야합니다 .
아마도 최고의 무료 옵션은 SQLite 및 Visual Basic 2008 또는 C # 2008 Express Edition 일 것 입니다. 이는 런타임 종속성이 높으므로 베어 클라이언트에 설치하면 설치 프로그램이 상당히 필요할 수 있습니다.
최소 런타임 요구 사항이있는 무료 비 액세스 옵션은 없습니다. 있었으면 좋겠다.
좋은 대안을 아는 사람이 있으면 듣고 싶습니다.
답변
답변
Schnapple이 묻습니다.
응용 프로그램과 함께 배포 할 무료 데이터베이스의 개념을 언급하고 있습니까? 아니면 Access와 같은 “단일 파일, 설치 없음”데이터베이스를 언급하고 있습니까?
어, Access 응용 프로그램 개발에 능숙한 사람은 응용 프로그램 / 데이터 저장소로 단일 MDB / ACCDB를 배포하지 않습니다. 중요하지 않은 Access 응용 프로그램은 양식 / 쿼리 / 보고서 (예 : UI 개체)와 백 엔드 (데이터 테이블 만 해당)가있는 프런트 엔드로 분할되어야합니다.
여기에 필요한 것은 Access와 같은 데이터베이스 응용 프로그램 개발 도구라는 것이 분명합니다. 데이터베이스 전용 답변 중 어느 것도 그것에 반응하지 않습니다.
Access 질문에 답하기 전에 Access에 대해 알아보십시오.
-
Access는 Jet라는 기본 데이터베이스 엔진과 함께 제공되는 데이터베이스 응용 프로그램 개발 도구입니다.
-
그러나 Access 응용 프로그램은 해당 데이터베이스 엔진에 대한 ISAM 또는 ODBC 또는 OLEDB 드라이버가있는 한 거의 모든 백 엔드 데이터베이스의 데이터와 함께 작동하도록 구축 할 수 있습니다.
Microsoft 자체가 Access (개발 도구)와 Jet (데이터베이스 엔진)의 차이점을 잘 모호하게했기 때문에 많은 사람들이 그 차이를 인식하지 못하는 것은 놀라운 일이 아닙니다. 그러나 개발자는 정확한 언어를 사용해야합니다. 데이터베이스 엔진을 의미 할 때는 “Jet”을 사용하고 프런트 엔드 개발 플랫폼을 의미 할 때는 “Access”를 사용해야합니다.
답변
솔직히 말해서 MS Access에 대한 무료 대안은 없습니다. 최소한 데이터베이스 개발 도구 (양식, 보고서, 쿼리, VBA 지원 등)를 의미하는 경우. MS Access를 데이터베이스 엔진 (실제로는 MS Jet 또는 ACE를 의미 함)으로 생각한다면 예-많은 가능성이 있습니다. 많은 무료 데이터베이스 엔진이 있습니다. 가장 인기있는 것은 MySQL과 PostgreSQL입니다. 두 가지를 모두 추천 할 수 있습니다. 원하는 작업에 따라 다릅니다.
데이터베이스 프런트 엔드 작성을 위해 C ++는 최악의 선택 중 하나입니다. MS Visual C #, MS Visual Basic .NET 또는 … Java / Swing (데스크톱 응용 프로그램에 대해 이야기하는 경우)을 고려해야합니다. 웹 지원 프런트 엔드에 대해 생각한다면 PHP (백엔드에 MySQL 또는 PostgreSQL 포함) 또는 ASP.NET (백엔드에 MSSQL Server 포함)을 고려하십시오.
이러한 작업에는 C ++를 사용하지 않는 것이 좋습니다. 이 언어는 매우 효율적이고 유연하지만 C ++를 사용한 고급 데이터베이스 프런트 엔드 개발은 최선의 방법이 아닙니다. C ++는 시스템 프로그래밍, 게임 개발, 수학 및 물리 시뮬레이션에서 유용합니다. 실시간 애플리케이션 등 효율성이 핵심 인 모든 곳에서 사용할 수 있습니다. 프론트 엔드는 속도의 데몬 일 필요는 없습니다. 멋지게 보이고 고급 최종 사용자가 있어야합니다. 기능 (정렬, 채색 등). 무료 도구를 찾고 있다면 C # Express 또는 Visual Basic.NET Express 2008이 적절한 선택일까요? 아니면 Java / Swing (NetBeans IDE 확인)일까요? 아마도 SharpDevelop? 하지만 C ++는 아닙니다 … C ++는 가장 적합한 것을 남겨 두십시오.
답변
수 네도를 확인하세요 .
몇 년 전에 실험으로 상당히 복잡한 GIS 앱을 만들었습니다 (데이터베이스, 복잡한 GUI, 보고서, 클라이언트 / 서버). (일부 문서 문제를 제외하고 …) 즐거운 경험이었고 매우 빠르게 생산적이되었습니다.
주로 다음과 같은 이유로 더 이상 사용하지 않습니다.
- 정말 일반적인 목적이 아닙니다
- 크로스 플랫폼이 아닙니다 (Windows 만 해당).
- 나는 이국적인 기술에 대한 탐구를 중단하고 더 주류를 전문으로하기로 결정했습니다.