2009-09-17 24 views
15

Ứng dụng của tôi hiện đang sử dụng Microsoft Access, nhưng hiện tại có thể được lưu trữ trên các hộp Linux. Ngoài ra trong khi được truy cập từ nhiều máy tính, một trong số này có thể cập nhật các bản ghi (khi nó được đọc bởi người dùng khác).Cơ sở dữ liệu nhúng nào có tuân thủ SQL tối đa và hỗ trợ đồng thời?

tôi cũng yêu cầu các cơ sở dữ liệu nhúng nên hỗ trợ các truy vấn SQL phức tạp - như SQL bên trong, tham gia vv

tôi đã cố gắng SQLite, nhưng nhiều người trong các truy vấn hiện có thất bại, hoặc cần phải được cố định (như trong một truy vấn đơn giản bằng cách sử dụng bên trong nối các dấu ngoặc sau khi FROM không được chấp nhận đối với SQLite, và phải được loại bỏ). Tham gia bên phải cũng không được hỗ trợ.

Tôi đã biết về Apache DerbyH2, nhưng trước hết sẽ thích ý kiến ​​quý giá của bạn.

Edit:

tôi quên đề cập đến ứng dụng của tôi là hoàn toàn viết bằng Java.

Edit:

Tại preset tôi sử dụng Microsoft Access mdb, chia sẻ trên ổ đĩa mạng, làm cho DSN-ít kết nối từ máy tính từ xa.

Cập nhật

tôi đã thử nghiệm với Firebird, và nó thực sự dường như rất tốt, không admin, và SQL tuân thủ. Nó nhanh và tôi không gặp vấn đề gì trong bất kỳ truy vấn điển hình nào mà tôi có thể thử. Tôi rất hài lòng với nó, và hy vọng sẽ sử dụng nó cho dự án mà tôi nêu ra câu hỏi này.

Hy vọng máy chủ Advantage cũng sẽ tốt, nhưng không thể có thời gian để xem lại. Sau khi xem xét/sử dụng Firebird không cảm thấy cần phải thử bất cứ điều gì khác.

+0

Theo [HSQLDB] (http://hsqldb.org/doc/guide/sqlgeneral-chapt.html#sgc_standards), họ hỗ trợ phạm vi rộng nhất của các tính năng tiêu chuẩn SQL trong số tất cả các RDBMS nguồn mở. – nawfal

Trả lời

13

Tôi nghĩ rằng đó là Firebird.

Thậm chí Cte's được hỗ trợ trong Firebird 2.1!

công trình Firebird trên Windows, Linux, Mac OS ...

Jaybird lái xe cho Java.

Có một số công cụ chuyển đổi tốt từ Access để Firebird:

  • IBDatapump
  • Microsoft Access để chuyển đổi cơ sở dữ liệu Firebird (MDB2FDB)
+0

Cảm ơn bạn đã nhắc nhở về Firebird. Có vẻ tốt. Tuy nhiên, nhiều đánh giá/so sánh đề cập đến việc truyền cảm hứng để trở thành cơ sở dữ liệu trưởng thành, hầu hết các công cụ phát triển Firebird là các sản phẩm thương mại của bên thứ ba. – vikramsjn

+2

- IBExpert (www.ibExpert.com) có ấn bản cá nhân - Cơ sở dữ liệu Workbench (www.upscene.com) có ấn bản cá nhân quá Bạn cũng có thể sử dụng FlameRobin (www.flamerobin.org) –

+0

Để truy cập/kết nối cơ sở dữ liệu từ nhiều máy tính và để cập nhật từ hệ thống được lưu trữ - có vẻ như nó sẽ yêu cầu thiết lập không được nhúng, đó là chế độ máy chủ. Điều này sẽ yêu cầu khá một số quản lý? Thực ra tôi đang tìm kiếm các cơ sở dữ liệu nhúng vì sự đơn giản quản trị của chúng. – vikramsjn

1

Firebird là nhất "comptible to SQL" nhúng cơ sở dữ liệu. Công cụ của phiên bản được nhúng giống như phiên bản máy chủ.

Chú ý rằng với Firebird chỉ nhúng một máy khách tại một thời điểm có thể kết nối với cơ sở dữ liệu, vì vậy bạn có thể mở rộng nhiều kết nối từ cùng một quy trình nhưng không kết nối từ các quy trình khác nhau. Sự cố này được khắc phục trong Firebird 2.5 trở lên.

6

Tôi sẽ xem qua Máy chủ cơ sở dữ liệu Advantage (sybase.com). Nó chạy trên Windows, Linux và NetWare. Chúng tôi có một ứng dụng quản lý kế toán/dự án thương mại cho ngành xây dựng và chuyển sang Advantage 6 hoặc 7 năm trước. Chúng tôi đã cực kỳ hài lòng với hiệu suất và hỗ trợ. Khách hàng cũng rất hạnh phúc.

+0

Tôi sẽ thêm rằng Advantage có trình điều khiển JDBC loại 4 cung cấp hỗ trợ Java tuyệt vời. Ngoài ra Advantage còn có các công cụ tối ưu hóa truy vấn tuyệt vời và tiện ích cơ sở dữ liệu GUI có trình gỡ lỗi SQL! Các trình điều khiển khác bao gồm ODBC, PHP, .NET, Delphi và OLE DB. – Joshery

1

Công ty chúng tôi cũng đang sử dụng Advantage. Chúng tôi đã xem nó từ một nền tảng XBase, nhưng từ đó đã chấp nhận bản chất SQL của nó. Nó chạy trên rất nhiều nền tảng (Windows, Linux, NetWare) và có một loạt các trình điều khiển (PHP, ADO, JDBC, ODBC, Crystal) để nó hoạt động trong bất kỳ môi trường nào mà bạn có thể lập trình.

Các vấn đề liên quan