2012-11-13 81 views
5

Trong Java 8, JDBC-ODBC-Bridge will be removed. Các lỗi điển hình là:Thay thế cho cầu JDBC-ODBC

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Bạn có biết một sự thay thế có thể? Tôi tìm thấy Easysoft. Nhưng cây cầu này yêu cầu một máy chủ bổ sung không chạy bên trong máy ảo Java. Đây là trình điều khiển loại 3 và không phải là trình điều khiển loại 1. Có lựa chọn thay thế nào khác không?

+1

Máy chủ DB nào bạn truy cập với ODBC. Có lẽ bạn tìm thấy một trình điều khiển JDBC trực tiếp/nguyên gốc. –

+0

Nó dành cho một loạt các trình điều khiển ODBC không có tương đương JDBC. – Horcrux7

+1

IDS Software/IDS Server cũng là một giải pháp loại 3, nhưng tôi tin rằng nó đã không được tích cực phát triển trong 5 hoặc 6 năm qua. –

Trả lời

-1

Trong khi chờ đợi, chúng tôi đã viết JDBC-ODBC-Bridge của riêng mình dựa trên JNA cho phần mềm báo cáo của chúng tôi i-net Clear-Reports. Hiện tại người lái xe không phải là sản phẩm chính thức. Nhưng nếu bạn quan tâm thì bạn có thể liên hệ với chúng tôi.

2

Một giải pháp khác là lấy nội dung ODBC từ 1.7 JRE và gói nó vào tệp JAR của chính nó.

Để làm như vậy (điều này là dành cho Windows 64 nhưng quá trình sẽ giống nhau), bạn sẽ cần lấy JdbcOdbc.dll ra khỏi thùng 1.7 JRE và sao chép nó vào thùng 1.8 JRE.

Tiếp theo, trích xuất nội dung của 1.7 JRE's lib\rt.jar vào vị trí khác. Sau khi trích xuất, xóa mọi thứ ngoại trừ

sun\ 
    jdbc\ 
     odbc\ 
      * 
    security\ 
     action\ 
      LoadLibraryAction.class 

Sau đó tạo tệp JAR có nội dung còn lại (nội dung gốc của JAR phải là META-INF và mặt trời). Sao chép tệp JAR vào thư mục lib\ext của JRE JRE.

+0

Điều này có hợp lệ với giấy phép của máy ảo Java không? – Horcrux7

+0

tôi đã tìm thấy giải pháp tương tự :) - xem stackoverflow.com/a/34617075/2110961 –