Tôi đang sử dụng Trình kết nối MySQL/C++ để liên lạc với máy chủ MySQL từ chương trình C++. Đối với một số lý do (xem dưới đây cho nền), tôi cần tại một số điểm cấu trúc kết nối C API gốc. Làm cách nào để lấy nó từ các lớp Connector/C++?Làm cách nào để có cấu trúc kết nối C API gốc từ Trình kết nối MySQL/C++?
Bối cảnh:
Tôi muốn tải một lượng lớn dữ liệu (lên đến 2-3 tỷ tuples) từ bộ nhớ chính của khách hàng vào máy chủ. Vì vậy, tôi muốn thử câu lệnh LOAD DATA INFILE. Để tránh ghi toàn bộ dữ liệu vào một tệp văn bản trước, tôi muốn định nghĩa trình xử lý infile cục bộ của riêng tôi, nó đọc dữ liệu trực tiếp từ bộ nhớ chính.
Tuy nhiên, Trình kết nối/C++ không có phương pháp để đặt trình xử lý tệp nội bộ do người dùng xác định, nhưng API C gốc có. Hàm C tương ứng mysql_set_local_infile_handler() cần một trình xử lý kết nối nguyên gốc (cấu trúc MYSQL) làm tham số đầu vào. Vậy làm thế nào để có được trình xử lý này từ Connector/C++? Hoặc là có cách nào tốt hơn để thiết lập xử lý infile địa phương trong một môi trường Connector/C++?
Nó chắc chắn được xây dựng trên Connector/C. Connector/C++ chỉ là một trình bao bọc bổ sung xung quanh C API gốc (Native C API và Connector/C là hai từ cho cùng một điều, nhân tiện). Nó được đề cập nhiều lần trong sách hướng dẫn, ví dụ ở đây: "Trình kết nối MySQL/C++ dựa trên Thư viện Máy khách MySQL (API MySQL C)." (http://dev.mysql.com/doc/refman/5.5/en/connector-cpp-installation-source.html) (Nhận xét ở đâu tôi trả lời !?) – user1494080