Kết nối cơ sở dữ liệu !

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vanba68

Thành viên mới
Tham gia
6/12/23
Bài viết
22
Được thích
0
Em có phần mềm ghi dữ liệu vào database, dữ liệu không lớn nhưng ghi vào database liên tục,

Cho em hỏi Excel có thể kết nối lấy dữ liệu từ database ra mỗi khi có sự kiện ghi vào hoặc xóa đi trong database được không với điều kiện hạn chế tối đa độ trể, tốc độ mạng là mạng nội bộ 1 Gbps

Mong anh chị cho em xin ý kiến, em cám ơn
 
Em có phần mềm ghi dữ liệu vào database, dữ liệu không lớn nhưng ghi vào database liên tục,

Cho em hỏi Excel có thể kết nối lấy dữ liệu từ database ra mỗi khi có sự kiện ghi vào hoặc xóa đi trong database được không với điều kiện hạn chế tối đa độ trể, tốc độ mạng là mạng nội bộ 1 Gbps

Mong anh chị cho em xin ý kiến, em cám ơn
duy trì kết nối liên tục và không đóng mở file liên tục cũng góp phần tăng tốc truy xuất dữ liệu

VD:
có 1 Data.accdb để ở \\192.168.1.168\MyData\Data.accdb ...
nếu biết cách chỉ cần tạo 1 kết nối liên tục thì các máy trong hệ thống mạng LAN truy xuất lại càng nhanh hơn

Chi phí để sử dụng ADODB mở và đóng kết nối nó mất khoãng thời gian là xxx ...
vậy mở 1 lần duy nhất sử dụng cho nhiều kết nối các máy trong hệ thống mạng LAN vào 1 file sẻ nhanh lên đáng kể


sẻ có tay vào vặn vẹo 2 dòng trên ... hãy suy nghĩ trước khi hỏi ... kiểu chất vấn tào lao lại dính gạch đấy
còn hỏi tử tế sẻ giải thích cho he
 
Lần chỉnh sửa cuối:
Em có phần mềm ghi dữ liệu vào database, dữ liệu không lớn nhưng ghi vào database liên tục,

Cho em hỏi Excel có thể kết nối lấy dữ liệu từ database ra mỗi khi có sự kiện ghi vào hoặc xóa đi trong database được không với điều kiện hạn chế tối đa độ trể, tốc độ mạng là mạng nội bộ 1 Gbps

Mong anh chị cho em xin ý kiến, em cám ơn
Có vẻ bạn không tin những câu trả lời trong đề tài trước. Có mở thể bao nhiêu bài nữa thì cũng vậy thôi bạn à. Excel có giới hạn của nó chứ
 
Có vẻ bạn không tin những câu trả lời trong đề tài trước. Có mở thể bao nhiêu bài nữa thì cũng vậy thôi bạn à. Excel có giới hạn của nó chứ
Không phải ko tin anh, mà là chưa có giải pháp nào cụ thể e hiểu rõ ràng anh, a có thể cho e xin thông tin liên hệ riêng của a, e cám ơn
 
duy trì kết nối liên tục và không đóng mở file liên tục cũng góp phần tăng tốc truy xuất dữ liệu

VD:
có 1 Data.accdb để ở \\192.168.1.168\MyData\Data.accdb ...
nếu biết cách chỉ cần tạo 1 kết nối liên tục thì các máy trong hệ thống mạng LAN truy xuất lại càng nhanh hơn

Chi phí để sử dụng ADODB mở và đóng kết nối nó mất khoãng thời gian là xxx ...
vậy mở 1 lần duy nhất sử dụng cho nhiều kết nối các máy trong hệ thống mạng LAN vào 1 file sẻ nhanh lên đáng kể


sẻ có tay vào vặn vẹo 2 dòng trên ... hãy suy nghĩ trước khi hỏi ... kiểu chất vấn tào lao lại dính gạch đấy
còn hỏi tử tế sẻ giải thích cho he
Không dùng kết nối liên tục vì sẽ làm excel bị đơ, có cách nào kiểm tra biến đổi trên database, nếu có thay đổi trên database thì sẽ cập nhật phần thay đổi đó về ko anh,

ví dụ: trên Database có ghi thêm 1 dữ liệu A, thì ngay lập tức excel kết nối tới Database đó lấy đúng A về, chứ ko phải lấy về kể cả những dữ liệu trứic đó
 
Không dùng kết nối liên tục vì sẽ làm excel bị đơ, có cách nào kiểm tra biến đổi trên database, nếu có thay đổi trên database thì sẽ cập nhật phần thay đổi đó về ko anh,

ví dụ: trên Database có ghi thêm 1 dữ liệu A, thì ngay lập tức excel kết nối tới Database đó lấy đúng A về, chứ ko phải lấy về kể cả những dữ liệu trứic đó
Theo theo dõi vài thớt và cách hỏi nhỏ giọt thông tin + mờ mờ ....

Tôi gọi ý kiểu nhỏ giọt và mờ mờ vậy

1/ Viết cho Nó 1 Services.Exe hay Exe tray gì đó là tuỳ thích trong đó bao gồm:

- Tạo 1 Timer cho nó cứ vài giây chi đó kiểm tra File Database 1 lần nếu File đó có thay đổi thì lập tức kết nối lấy dữ liệu

- Tiện là nó chạy mặc định khi windows khởi động và dừng khi ta rút điện ra :p

- bằng cách gì đó nhanh nhất có thể ... kiểm tra file đó xem có gì thay đổi nếu thay đổi lập tức kết nối lấy dữ liệu

2/ Cách kiểm tra File có thay đổi hay không trên VBA đầy cách nhưng nó chạy không nhanh lắm

còn kết nối xem dữ liệu có thay đổi hay không thì đó là hết cách mới dùng tới nó

3/ trên Delphi dùng cách check GetStreamToHashSHA256Hex hay CalculateFileHash của file là nhanh nhất xong xem nó thay đổi với mã gốc trước đó lập tức tự động chạy kết nối

... dò đi xong tính tiếp
 
Lần chỉnh sửa cuối:
Không dùng kết nối liên tục vì sẽ làm excel bị đơ, có cách nào kiểm tra biến đổi trên database, nếu có thay đổi trên database thì sẽ cập nhật phần thay đổi đó về ko anh,

ví dụ: trên Database có ghi thêm 1 dữ liệu A, thì ngay lập tức excel kết nối tới Database đó lấy đúng A về, chứ ko phải lấy về kể cả những dữ liệu trứic đó
Hôm nay đọc lại Tôi nghi ngờ dòng Tôi phóng to ra là File Database để trong mạng LAN có nhiều máy kết nối liên tục .... tức là có nhiều kết nối từ nhiều máy trong LAN tới 1 file chứ không phải 1 kết nối duy nhất cho nhiều máy cùng sử dụng ... Vì trên VBA chưa ai viết được 1 kết nối duy nhất sử dụng chung cho nhiều máy cùng truy xuất dữ liệu cả

nếu làm tốt duy trì 1 kết nối duy nhất cho nhiều máy thì loại bỏ VBA ra làm nhẹ như cái kim ... Nên bài số 2 tôi nói rất rõ và phóng to ra màu đỏ

kẻo não cá vàng chưa suy nghĩ hết nhảy vào cà kịa dính gạch à --=0--=0--=0
 
Lần chỉnh sửa cuối:
Database ở đây là cái gì?
Mỗi loại cấu trúc có cách kết nối khác. Và nếu Database nằm trong Server riêng của nó thì 90% là nó có phần mềm quản lý nó.
Người quản lý đặt cho Database số kết nối, và giới hạn sử dụng cũng như thời gian cho mỗi kết nối.
Loại Database này, mỗi kết nối tự động biết cập nhật dữ liệu. Nếu người dùng sợ rằng dữ liệu thay đổi vào giữa lúc mình đang tính toán thì có thể dùng cách khóa record/bảng trong lúc đang tính toán.

Loại Database lẻ tẻ thì người dùng tự lo lấy.
 
đang Rảnh và vui chơi 1 tý Tôi thiết kế 1 trình giám sát sự thay đổi của File xx gì đó khi truyền vào hàm

1/ nó sẻ chạy ở System tray hay gì đó do sở thích của ai đó ... còn Tôi cho nó Mini ở tray hệ thống

2/ khi mở lên chọn File bất kỳ ... xong chạy mã nó sẻ mini xuống tray hệ thống

3/ cho thời gian là 1 giây hay nhiều giây kiểm tra file 1 lần do người dùng tuỳ chỉnh nhập vào trên Form ( Timer tự động chạy )

4/ khi 3 mục trên xong thì chạy cứ 2 giây hay nhiều giây nó thông báo 1 lần ( tuỳ thích ) như hình sau

1703146551699.png

5/ vậy áp dụng vào thực tế... nếu file thay đổi thì sử dụng ADODB kết nối tới file Data.accdb truy xuất dữ liệu ... còn không thì bỏ qua

6/ Mở rộng phát triển nó làm trình nhắc nhở công việc vvv .... tuỳ người thiết kế nó

7/ Mọi cái chạy hoàn toàn tự động và không ảnh hưởng tới các tác vụ hay tiến trình khác của Windows hay ta đang làm việc trên Excel vvv....

8/ mở rộng thêm tí nữa cho nó kết nối qua Web Server giám sát file qua Internet cũng OK luôn ... = tuỳ thích

tạm vậy ..................... rảnh và nổi gió chơi tiếp :p
 
Lần chỉnh sửa cuối:
Nếu là Mysql thì khi table trong mysql được ghi thì có cách nào thông báo về máy chỉ định, máy dc chỉ định sẽ kết nối lên mysql lấy về và CHỈ cập nhật đúng dữ liệu thay đổi, và ghi vào excel dữ liệu mới ( ko ghi đè tất cả dữ liệu 1 lần nửa )
 
Nếu là Mysql thì khi table trong mysql được ghi thì có cách nào thông báo về máy chỉ định, máy dc chỉ định sẽ kết nối lên mysql lấy về và CHỈ cập nhật đúng dữ liệu thay đổi, và ghi vào excel dữ liệu mới ( ko ghi đè tất cả dữ liệu 1 lần nửa )
Hình như sai sai cái chi đó ... tạm hiểu là Ms Server hay Server tự hiểu xong báo cho máy khách ... kiểu ngược hay sao ấy

hay báo qua SMS google qua điện thoại, PC ????

trên cơ sở bài số 9 thì viết cho nó 1 hàm kết nối tới Ms Server cứ khoãng 2 giây hay vài giây chi đó = tuỳ thích !!??

nó kết nối tới TableName của Server 1 lần xem số dòng của nó nếu tăng hơn dòng lần trước kết nối ...........xong làm chi tiếp thì tuỳ
 
Nếu là Mysql thì khi table trong mysql được ghi thì có cách nào thông báo về máy chỉ định, máy dc chỉ định sẽ kết nối lên mysql lấy về và CHỈ cập nhật đúng dữ liệu thay đổi, và ghi vào excel dữ liệu mới ( ko ghi đè tất cả dữ liệu 1 lần nửa )
Bạn có thể dùng các công nghệ WebSocket hoặc Message Queue để lưu trữ event (sự kiện) insert/update của database.
Sau đó tại UI, lắng nghe các sự kiện ở trên.
--------
Mình không dùng excel nhiều lắm, không biết có hỗ trợ các công nghệ WebSocket hay Message Queue chưa. Nếu không thì phải viết thêm plugin cho nó.
 
Tò mò dò 1 buổi chiều xem nó là cái gì ... thì nó cũng là mô hình Server và Client thôi ... nhưng nó có khả năng cập nhật thời gian thực và duy trì kết nối 2 chiều liên tục theo như nó mô tả ... còn ta có khả năng làm tốt như nó mô tả hay không thì là chuyện xxx

WebSocket

để triển khai code Insert/update của database. .... hack não khá dài đấy

PHƯƠNG thức và cách thức thực hiện nó gần như WebServer .................. thong thả dò xem

wikipedia

Thì ra lâu nay nói real-time ... có lẻ là nó

1703772098817.png
 
Lần chỉnh sửa cuối:
thong thả dò xem... hỏi ChatGPT xong dò tiếp

Mã:
using System;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        Uri uri = new Uri("wss://example.com/socket");

        using (ClientWebSocket clientWebSocket = new ClientWebSocket())
        {
            await clientWebSocket.ConnectAsync(uri, CancellationToken.None);

            // Gửi dữ liệu
            string message = "Hello, WebSocket!";
            byte[] messageBytes = Encoding.UTF8.GetBytes(message);
            await clientWebSocket.SendAsync(new ArraySegment<byte>(messageBytes), WebSocketMessageType.Text, true, CancellationToken.None);

            // Nhận dữ liệu
            byte[] buffer = new byte[1024];
            WebSocketReceiveResult result = await clientWebSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
            string receivedMessage = Encoding.UTF8.GetString(buffer, 0, result.Count);
            Console.WriteLine($"Received: {receivedMessage}");
        }
    }
}
 
Lần chỉnh sửa cuối:
Bạn có thể dùng các công nghệ WebSocket hoặc Message Queue để lưu trữ event (sự kiện) insert/update của database.
Sau đó tại UI, lắng nghe các sự kiện ở trên.
--------
Mình không dùng excel nhiều lắm, không biết có hỗ trợ các công nghệ WebSocket hay Message Queue chưa. Nếu không thì phải viết thêm plugin cho nó.
E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
Bài đã được tự động gộp:

Bạn có thể dùng các công nghệ WebSocket hoặc Message Queue để lưu trữ event (sự kiện) insert/update của database.
Sau đó tại UI, lắng nghe các sự kiện ở trên.
--------
Mình không dùng excel nhiều lắm, không biết có hỗ trợ các công nghệ WebSocket hay Message Queue chưa. Nếu không thì phải viết thêm plugin cho nó.
E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
Bài đã được tự động gộp:

Bạn có thể dùng các công nghệ WebSocket hoặc Message Queue để lưu trữ event (sự kiện) insert/update của database.
Sau đó tại UI, lắng nghe các sự kiện ở trên.
--------
Mình không dùng excel nhiều lắm, không biết có hỗ trợ các công nghệ WebSocket hay Message Queue chưa. Nếu không thì phải viết thêm plugin cho nó.
E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
Bài đã được tự động gộp:

Bạn có thể dùng các công nghệ WebSocket hoặc Message Queue để lưu trữ event (sự kiện) insert/update của database.
Sau đó tại UI, lắng nghe các sự kiện ở trên.
--------
Mình không dùng excel nhiều lắm, không biết có hỗ trợ các công nghệ WebSocket hay Message Queue chưa. Nếu không thì phải viết thêm plugin cho nó.
E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
thong thả dò xem... hỏi ChatGPT xong dò tiếp

Mã:
using System;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        Uri uri = new Uri("wss://example.com/socket");

        using (ClientWebSocket clientWebSocket = new ClientWebSocket())
        {
            await clientWebSocket.ConnectAsync(uri, CancellationToken.None);

            // Gửi dữ liệu
            string message = "Hello, WebSocket!";
            byte[] messageBytes = Encoding.UTF8.GetBytes(message);
            await clientWebSocket.SendAsync(new ArraySegment<byte>(messageBytes), WebSocketMessageType.Text, true, CancellationToken.None);

            // Nhận dữ liệu
            byte[] buffer = new byte[1024];
            WebSocketReceiveResult result = await clientWebSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
            string receivedMessage = Encoding.UTF8.GetString(buffer, 0, result.Count);
            Console.WriteLine($"Received: {receivedMessage}");
        }
    }
}
Dạ em cám ơn a
 
E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
Bài đã được tự động gộp:


E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
Bài đã được tự động gộp:


E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn
Bài đã được tự động gộp:


E ko biết code, a cho e hỏi có thể nhờ a hổ trợ e gởi chi phí a, e cám ơn,

Dữ liệu ko đc trể, và ko cố định thời gian,

E chỉ cần khi có phát sinh trên mysql ghi thêm hoặc xóa thì cập nhật về excel, chỉ cập nhật cái mới, KO copy tất cả ghi đè lên excel,

Excel file .xlsx ở trạng thái MỞ
A cho xin thông tin liên lạc qua mail e cám ơn

Dạ em cám ơn a
ồ sao nhiều nội dung giống nhau vậy ... lỗi Web hay thao tác sai ??!!

1/ là thong thả dò xong tự tay viết lấy

2/ là Thong thả ôm cây chờ thỏ xem....

3/ khuyên thật ... nên chủ động dò viết đi cho dù = 1/10 của ai đó thì cũng thấy tự tin do mình tự viết và từng bước mới làm chủ được

thay vì hênh hoang nhưng cuối cuộc đời mãi mãi vẫn bị ai đó gõ đầu :p
 
lướt qua các tài liệu Web Socket 1 chút thì nó mô tả có khả năng thời gian thực khắc phục thời gian trễ của HTTP không có

và nó duy trì kết nối 2 chiều liên tục nhưng lại có nhược điểm nếu nhiều máy kết nối qua WebSocket thì chiếm nhiều tài nguyên băng thông dẫn tới chậm hoặc đơ vvv...

thấy đa số sử dụng WebServer (HTTP) hơn là WebSocket... còn tại sao thì không biết

nguyên lý hoạt động và tuần tự hoá của HTTP và WebSocket có nhiều cái gần giống nhau vì nó cũng là mô hình máy chủ và máy khách kết nối thông qua giao diện Web

Cái WebServer.dll là một cách thực hiện truy xuất dữ liệu qua Internet WebServer ( HTTP ) ... thay vì có giao diện Web ( HTML ) thì loại bỏ không sử dụng nó thôi --=0--=0--=0

Mấy năm trước anh Tây phán chính xác là ẩn chứa đàng sau cái xx của Ms là 1 WebServer .....
 
Lần chỉnh sửa cuối:
1704547029777.png

Rảnh thay vì chơi game thì dò chơi thôi ....

được cái này lại thua cái khác .... chơi các kiểu xong xem xét tìm ra 1 giải pháp có thể áp dụng chung nhất
 
Web KT
Back
Top Bottom