-
Kết nối CSDL Access qua Internet - Database Hub Tool
thuyyeu99 > 14-04-20, 06:41 PM
[img=300x200][/img]
DATABASE HUB Tool v.1
Chia sẻ file dữ liệu (Excel, Access) qua mạng Internet, LAN
——————————————————————————————————————
Hiện nay có rất nhiều ứng dụng viết trên nền Ms Access nhưng có một điểm trở ngại là Access không thể chia sẻ cơ sở dữ liệu (CSDL) Back-end qua mạng Internet để các máy con có thể ngồi bất cứ đâu kết nối, nhập liệu, trực tiếp đồng bộ về CSDL trên máy chủ. Về mạng LAN, CSDL Access có thể chia sẻ để các máy con kết nối tới nhưng với điều kiện phải “Share folder full” quyền thì các máy con mới thao tác dữ liệu được. Điều này cũng gây nguy hiểm cho file CSDL nếu như có ai đó lỡ tay hay cố ý xoá mấy file CSDL back end. Hiện tại cũng có giải pháp là tận dụng các dịch vụ Cloud để đồng bộ dữ liệu qua internet như: Google Drive, One Drive…Đây cũng là cách hay nhưng có điểm hạn chế là file CSDL back-end cũng phải lưu một bản ở các máy con (chi nhánh) rồi sau đó mới định kỳ đồng bộ về file CSDL BE ở máy chính (Tổng Cty).
Công cụ nhỏ Database Hub Tool sẽ hỗ trợ các bạn, mở rộng thêm khả năng CSDL Access là có thể chia sẻ, kết nối trực tiếp CSDL qua mạng internet (WAN). Database Hub Tool dùng giao thức TCP/IP để chia sẻ file qua mạng, tốc độ truy xuất rất nhanh, các bạn có thể test ở file Demo đính kèm. Công cụ này có thể chia sẻ file Excel nhưng ở đây mình sẽ giới thiệu cách dùng riêng cho CSDL Access (.mdb, .accdb) thôi nhé.
Khi dùng Database Hub, máy tính nào cũng có thể dùng làm máy chủ để chia sẻ file CSDL, chỉ cần copy ứng dụng “Server.exe” vào máy (không cần cài đặt) là có thể tạo tài khoản đăng nhập, thao tác chia sẻ file database là xong.
Một số tính năng chính:
- Database Hub Tool có 2 lớp bảo mật cho CSDL của bạn đó là: 1. Tài khoản/mật khẩu đăng nhập Server; 2. Mật khẩu file Database Access.
- Bạn có thể thao tác trên dữ liệu dưới các hình thức như: Truy vấn (Select query), thao tác Thêm, Xoá, Sửa dữ liệu (các Action query: Insert, Update, Delete).
- Bạn có thể gọi chạy các Query cơ bản đã thiết kế sẵn (Saved Query) trên CSDL back-end trả về Recordset cho ứng dụng Front-end.
- Hiện tại Database Hub Tool chưa hỗ trợ dạng Linked Table (kể cả qua ODBC), các bạn chỉ có thể lập trình kết nối, xử lý qua thư viện ADODB thôi nhé.
[img]
[/img]
Các bạn xem video hướng dẫn để nắm rõ hơn.
Link Dowload Database Hub Tool -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
ongke0711 > 14-04-20, 06:55 PM
Cuối cùng sản phẩm cũng ra lò... -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
thuyyeu99 > 14-04-20, 07:06 PM
Cảm ơn các anh trong diễn đàn đã góp ý, hỗ trợ.
Đặc biệt là @ongke0711 đã hỗ trợ giúp em hoàn thiện chương trình này.
Cảm ơn các anh rất nhiều -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
ongke0711 > 27-04-20, 12:57 PM
(14-04-20, 06:41 PM)thuyyeu99 Đã viết: DATABASE HUB Tool v.1
Chia sẻ file dữ liệu (Excel, Access) qua mạng Internet, LAN
——————————————————————————————————————
...
# CẤU HÌNH ROUTER ĐỂ KẾT NỐI QUA INTERNET - MIỄN PHÍ #
Để hỗ trợ các bạn thử nghiệm dùng cái Tool trên để kết nối Database Access qua internet, tôi có làm cái clip hướng dẫn cách cấu hình Modem Router để các máy tính bên ngoài có thể thấy và kết nối được với máy chứa CSDL Access back end.
Có 2 hoạt động cần thực hiện:
1. Có IP tĩnh hoặc tên miền động + địa chỉ IP trong mạng LAN của máy chủ.
2. Mở Port trên Router để máy bên ngoài kết nối tới.
Để máy tính bên ngoài internet biết được đâu là máy chủ chứa CSDL thì nó phải có 1 cái đĩa chỉ cố định như địa chỉ nhà vậy để biết đường mà đi tới, đó gọi là "IP tĩnh". Đối với máy tính cá nhân ở nhà, hoặc một số cty nhỏ thì không có thuê bao "IP Tĩnh" tốn kém mà chỉ dùng IP động mặc định do nhà mạng cung cấp tự động. IP động là khi bạn khởi động lại Router, cúp điện mở lại thì nhà mạng sẽ tự động gán cho bạn một cái IP mới, do đó bạn không có cái địa chỉ (IP) cố định nào cả. Để biết IP hiện tại của bạn là gì bạn vô trang: https://www.whatsmyip.org/
Để giả lập cái IP Tĩnh thì có nhiều trang web cung cấp địa chỉ này thông qua một tên miền gọi là tên miền động (Dynamic DNS). Trang web dịch vụ sẽ gán bất kỳ cái IP động nào phát sinh từ cái Router nhà bạn vào môt cái tên miền không đổi mà bạn đã đăng ký với trang web dịch vụ. Từ đó các máy bên ngoài sẽ kết nối tới nhà bạn thông qua tên miền, sau đó kết nối tiếp tới cái máy tính (máy chủ) trong nhà của bạn qua cái IP mạng LAN mà bạn cung cấp.
Việc cấu hình để kết nối internet này cũng rất đơn giản, các bạn làm quen rồi chỉ cần 5 phút là xong.
Có một lưu ý trong việc mở Port của Router là có khi nhà mạng chưa cho tính năng mở port nên nếu bạn mở Port theo hướng dẫn vẫn chưa được thì cứ gọi lên nhà mạng báo bạn muốn mở port họ sẽ mở phía hệ thống của họ.
(Đối với FPT thì tôi phải gọi điện báo họ, còn nhà mạng khác thì tôi không biết).
Trước đây ban maidinhdan cũng đã có hướng dẫn bằng hình ảnh rất chi tiết trong bài post này, các bạn có thể xem thêm:
https://thuthuataccess.com/forum/thread-10436.html
- Clip đăng ký tên miền No-ip.com:
- Clip mở Port (Port forwarding) cho Router:
-
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
Xuân Thanh > 28-04-20, 12:52 PM
@thuyyeu99, @ongke0711
Ngoài video hướng dẫn, các bạn có thể làm một file hướng dẫn bằng Word hoặc PDF được không vì nhiều khi theo dõi trên video khó nắm bắt hết được ý tưởng và thực hiện đôi khi bị sai, nhất là những người chưa rành về mạng và các file dll, ocx -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
maidinhdan > 28-04-20, 03:48 PM
Gửi : @thuyyeu99, @ongke0711
* Vấn đề 1:
Trước là cảm ơn, sau là nhờ bạn Test cái link Download phía trên.
2 bạn thử đăng xuất gmail của 2 bạn rồi vào tải cái link trên thử xem.
* Vấn đề 2:
- Nhờ bạn thuyyeu99 giới thiệu thêm về công cụ của mình, bao gồm:
1. Yêu cầu cài đặt:
- Trên máy chủ cần làm những gì?
- Trên máy con cần làm những gì? hay chỉ cần chạy ứng dụng của bạn là được hay cần cấu hình gì nửa? Thấy có nói nhưng cần sự khẳng định lần nửa.
- Môi trường tương tác của 2 phía: Window? bao nhiêu bit?
- NetFrame hỗ trợ: Tối thiểu Phiên bản bao nhiêu?
2. Hỏi riêng:
- Khi dùng tool của bạn đã bật kết nối thành công rồi: phía máy con liệu tôi có thể dùng 1 file Access từ bên ngoài tool của bạn để tương tác với file trên máy chủ không?
* Vấn đề 3: Đặt tên lại cho đứa con của bạn...góp ý thôi. @@@vì thấy nó chưa hay, chưa sát với ứng dụng, và dễ nhầm lẫn.
Xin cảm ơn. -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
thuyyeu99 > 28-04-20, 11:28 PM
(28-04-20, 03:48 PM)maidinhdan Đã viết: Gửi : @thuyyeu99, @ongke0711
* Vấn đề 1:
* Vấn đề 1:
Trước là cảm ơn, sau là nhờ bạn Test cái link Download phía trên.
2 bạn thử đăng xuất gmail của 2 bạn rồi vào tải cái link trên thử xem.
* Vấn đề 2:
- Nhờ bạn thuyyeu99 giới thiệu thêm về công cụ của mình, bao gồm:
1. Yêu cầu cài đặt:
- Trên máy chủ cần làm những gì?
- Trên máy con cần làm những gì? hay chỉ cần chạy ứng dụng của bạn là được hay cần cấu hình gì nửa? Thấy có nói nhưng cần sự khẳng định lần nửa.
- Môi trường tương tác của 2 phía: Window? bao nhiêu bit?
- NetFrame hỗ trợ: Tối thiểu Phiên bản bao nhiêu?
2. Hỏi riêng:
- Khi dùng tool của bạn đã bật kết nối thành công rồi: phía máy con liệu tôi có thể dùng 1 file Access từ bên ngoài tool của bạn để tương tác với file trên máy chủ không?
* Vấn đề 3: Đặt tên lại cho đứa con của bạn...góp ý thôi. @@@vì thấy nó chưa hay, chưa sát với ứng dụng, và dễ nhầm lẫn.
Xin cảm ơn.
em đang dis link để upadte mà chưa xong.
- Phân quyền.
- Chát
-....
* Vấn đề 2:
1. Yêu cầu cài đặt:
- Trên máy chủ cần làm những gì?
máy chủ chỉ cần chạy và chia sẽ dữ liệu không cần làm gì khác
- Trên máy con cần làm những gì? hay chỉ cần chạy ứng dụng của bạn là được hay cần cấu hình gì nửa? Thấy có nói nhưng cần sự khẳng định lần nửa.
máy con anh phải đang ký với win, nhúng cái ocx vào Access để sử dụng những hàm để giao tiếp với máy chủ
- Môi trường tương tác của 2 phía: Window? bao nhiêu bit?
win 32, 64 office 32
- NetFrame hỗ trợ: Tối thiểu Phiên bản bao nhiêu?
không cần
2. Hỏi riêng:
Cái này chắc chắn là không được rồi anh, bắt buộc anh phải nhúng cái ocx vào chương trình Access kia
cảm ơn anh góp ý,
tạm thời em ngưng phát triển một thời gian để tập trung vào cái chương trình khác đang gắp, nên chắc ít online -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
ongke0711 > 29-04-20, 01:35 PM
(28-04-20, 03:48 PM)maidinhdan Đã viết: Gửi : @thuyyeu99, @ongke0711
* Vấn đề 1:
Trước là cảm ơn, sau là nhờ bạn Test cái link Download phía trên.
2 bạn thử đăng xuất gmail của 2 bạn rồi vào tải cái link trên thử xem.
* Vấn đề 2:
- Nhờ bạn thuyyeu99 giới thiệu thêm về công cụ của mình, bao gồm:
1. Yêu cầu cài đặt:
- Trên máy chủ cần làm những gì?
- Trên máy con cần làm những gì? hay chỉ cần chạy ứng dụng của bạn là được hay cần cấu hình gì nửa? Thấy có nói nhưng cần sự khẳng định lần nửa.
- Môi trường tương tác của 2 phía: Window? bao nhiêu bit?
- NetFrame hỗ trợ: Tối thiểu Phiên bản bao nhiêu?
2. Hỏi riêng:
- Khi dùng tool của bạn đã bật kết nối thành công rồi: phía máy con liệu tôi có thể dùng 1 file Access từ bên ngoài tool của bạn để tương tác với file trên máy chủ không?
* Vấn đề 3: Đặt tên lại cho đứa con của bạn...góp ý thôi. @@@vì thấy nó chưa hay, chưa sát với ứng dụng, và dễ nhầm lẫn.
Xin cảm ơn.
Hỗ trợ, bổ sung thêm cho bạn thuyyeu99 về các vấn đề trên.
* VĐ2:
- Ứng dụng này như một công cụ biến cái máy tính của bạn thành một cái trạm (Hub) lưu và chia sẻ các file dữ liệu (database) qua Internet (WAN), LAN. Dữ liệu này là "Excel Workbook" và "Access Database", 2 loại dữ liệu này cho đến hiện tại vẫn chưa thể chia sẻ để kết nối qua internet. Không nói tới các dịch vụ đồng bộ Cloud như One drive, google drive v.v.., nó là dạng khác rồi. Nếu dùng Windows socket để kết nối vì vẫn được nhưng chăc chắn các bạn sẽ lập trình phức tạp hơn so với dùng tool này và theo tôi biết do tính bảo mật nên Office 2016 trở đi không hỗ trợ control này nữa.
- Tool được viết bằng Delphi nên không cần NET Framework.
- Tool hiện tại chạy tốt trên Office 32 bit (Window 32, 64 bit).
- Tool này dành cho người biết lập trình VBA trung cấp trở lên nhé.
# Về vấn đề cài đặt: rất đơn giản.
>> Trên máy chủ:
+ Tool này không cần cài đặt, chỉ copy và chạy thôi nhưng phải cài đặt cái thư viện OCX (T_DllClientServer.OCX). Đọc file hướng dẫn để cài đặt hoặc chạy cái file RegOCX.bat - 1/1000 giây.
+ Folder "Data" không được xoá vì có chứa file [Authority.mdb] dùng để lưu thông tin các tài khoản (User) mà bạn sẽ tạo trong đó.
+ Mở tool Server.exe - đăng nhập tài khoản (admin/123) - chọn Database cần chi sẻ -> bấm nút [Chia sẻ dữ liệu] -> Xong.
>>Máy con:
+ Phải cài đặt cái thư viện OCX (T_DllClientServer.OCX). Đọc file hướng dẫn để cài đặt hoặc chạy cái file RegOCX.bat.
+ Khi lập trình kết nối trong Access thì tham chiếu tới cái thư viện T_DllClientServer.OCX vừa cài đặt.
+ Gọi sử dụng thư viện:
Mã PHP:Public appClient As DllClientServer.u_UDF
Sau khi khai báo đối tượng appClient (tuỳ các bạn đặt tên), bạn có thể sử dụng các thuộc tính, phương thức của cái Class DllClientServer.u_UDF như:
- GetDataServer.
- GetQueryServer.
- ExecuteSQLServer
Lưu ý: Dữ liệu trả về là ADO Recordset. Các bạn nên biết lập trình với thư viện ADO để dễ khai thác.
Ví dụ: Set rsADO = appClient.GetDataServer (Địa chỉ Server, cổng Server, tên đăng nhập, mật khẩu, câu lệnh truy vấn dữ liệu SQL)
Các bạn có thể tham khảo cách thức tôi viết code trong file demo "Demo_KetNoiClientServer(TCPIP).accdb". Tôi viết có thể chưa tối ưu, các bạn tự viết tuỳ biến phù hợp theo yêu cầu của các bạn.
Tool này cũng mới ở giai đoạn đầu, cung cấp các tính năng cơ bản, nó sẽ được bạn thuyyeu99 cập nhật, nâng cấp để tiện dụng hơn sau này.
--- Các bạn nào cần ngâm cứu tool này thì để email lại nhé. --- -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
bang.hkc > 05-11-20, 10:54 PM
Chào Thuyyeu99!
Mail tôi: bang.hkc@gmail.com
Tôi rất cần tool này nên nhờ bạn hỗ trợ.
Cám ơn nhiều! -
RE: Kết nối CSDL Access qua Internet - Database Hub Tool
thuyyeu99 > 05-11-20, 11:57 PM
hihi hãy đợi
đợi tôi nhờ các anh trên đây test phiên bản mới đã. Mà cũng lạ thiệt hihihi