RE: Cơ Sở Dữ Liệu PDF
paulsteigel > 12-02-14, 03:13 PM
Câu trả lời của bạn NoName chưa hẳn chính xác. Ở đây không có khái niệm nhầm hay không nhầm đuôi mở rộng mà hãy xem lại câu lệnh thông báo
"the operation on the acrobat document object failed. The ole server may not be registered. To register the ole server reinstall it."
Có nghĩa đại loại là: Thao tác trên tài liệu Acrobat thất bại. Chủ thể OLE chứa đối tượng có thể không được đăng ký. Để đăng ký đối tượng OLE hãy cài đặt lại.
Thông thường cách các bạn lưu tập tin vào Access thường sử dụng ngay kiểu dữ liệu OLE của Access để nhúng file này vào CSDL. Khi bạn thao tác mở thì Access tự khởi tạo phiên làm việc để tải file đó ra và kích hoạt chương trình mở file pdf. Trong bộ nhớ sẽ lưu giữ lại tham chiếu đến đối tượng đó và toàn bộ cơ chế đó người ta gọi là OLE Server, phần mềm đọc pdf lúc đó sẽ có kết nối trực tiếp đến OLE server này. Song do thiếu cơ chế thông báo lại cho Access là đối tượng đó đã bị giải phóng (khi bạn đóng ứng dụng) vì thế Access vẫn tưởng là file vẫn đang được mở và nó cố gắng thiết lập lại cơ chế tương tác với đối tượng OLE đã bị đóng mất rồi, do đó lỗi trên xảy ra.
Để giúp bạn khắc phục được điều này, bạn có thể:
1. Gửi file lên, chúng tôi xem giúp
2. Thay vì sử dụng cơ chế tự tải ứng dụng mở file pdf, bạn hãy tạo một thủ tục đưa file pdf trong CSDL ra một file thật nằm trên ổ đĩa và dùng các ứng dụng xem pdf để mở dưới dạng các lệnh Shell hoặc docmd... của access.
Trên đây là một cách phân tích mang tính hơi củ chuối, dựa vào kinh nghiệm nghề nghiệp của tôi.
Tôi đã thử làm lại tình huống của bạn và có một võ này giúp bạn thực hiện được đó là: Tải lại Foxit reader và cài lại foxit. Khi thực hiện, bạn cần tuân thủ đúng thao tác, không đóng foxit một cách bắt buộc ví dụng: dùng taskmanager để xóa chẳng hạn. Thêm nữa, phần giải thích trên đây của tôi là đúng!
Xin chia sẻ!