Tôi gặp phải một vấn đề lớn ngày hôm qua. Trong dự án hiện tại của tôi, tôi sử dụng triển khai thực hiện ojdbc6 của Oracle JDBC cho một kết nối, nhưng tôi cũng cần phải xử lý các cơ sở dữ liệu ví dụ 8 oracle, điều này hoàn toàn không thể với JAR này. Bạn có thể nói rằng tôi nên sử dụng ojdbc14 cho ví dụ là đúng cho một số thử nghiệm, nhưng giả sử rằng sau này tôi sẽ cần xử lý 2 loại cơ sở dữ liệu từ cùng một nhà cung cấp, nhưng chúng tôi biết rằng không có triển khai hiện tại cho BOTH và tôi cần có đồng thời được tải. Giao diện tương tự (và tốt, không chỉ cùng một giao diện, cùng một cấu trúc lớp, chỉ cần thực hiện khác nhau bên trong!), Cùng một tiền tố kết nối URL -> kết nối JDBC sẽ sử dụng một trình điều khiển, nhưng tôi không thể tải nhiều người trong số họ. Giờ thì sao?Xử lý nhiều trình điều khiển JDBC từ SEND VENDOR
Ý tưởng đầu tiên của tôi là tải các JAR với các trình nạp lớp khác nhau, có lẽ tôi có thể tải cùng một cấu trúc gói với cùng các lớp được phân tách với nhau? Tôi không thực sự nghĩ như vậy, có lẽ đó là một ý tưởng ngớ ngẩn của tôi. Đây cũng có thể là vấn đề chung sau đó không chỉ với các trình điều khiển JDBC, vì vậy ngay cả khi bạn không thể trả lời câu hỏi của tôi, nhưng bạn biết những gì thiếu ở đây, hãy cho tôi biết
Thậm chí nếu tôi có thể thực hiện tải riêng biệt các lớp cùng tên lớp, làm thế nào tôi có thể nói với DriverManager khi tạo kết nối để sử dụng trình điều khiển EXACT thay vì tìm một kết nối dựa trên tiền tố của kết nối? (tôi có nghĩa là jdbc: oracle: thin chẳng hạn).
tôi cảm thấy giống như một tổng câm bây giờ bởi vì tôi nghĩ rằng đây không phải là một ý tưởng hoàn toàn bất thường để xử lý trong thế giới Java, nhưng tôi hoàn toàn không biết làm thế nào để xử lý.
Cám ơn y'all trước
I dunno, sử dụng Oracle 8 * là * khá bất thường. – skaffman