2010-04-26 38 views
10

bất cứ ai có thể cho tôi biết jdbc hoạt động như thế nào? Làm thế nào nó quản lý để giao tiếp với một DBMS? vì DBMS có thể được viết bằng một số ngôn ngữ lập trình khác.Làm thế nào để jdbc làm việc

Trả lời

1

Từ wikipedia page:

loại

There are commercial and free drivers available for most relational database servers. These drivers fall into one of the following types: 
Type 1 that calls native code of the locally available ODBC driver. 
Type 2 that calls database vendor native library on a client side. This code then talks to database over network. 
Type 3, the pure-java driver that talks with the server-side middleware that then talks to database 
Type 4, the pure-java driver that uses database native protocol 
2

Hầu hết các hệ cơ sở dữ liệu hỗ trợ ODBC (Open Database Connectivity hoặc bất cứ điều gì). Điều này có nghĩa là cho phép các ứng dụng (ví dụ: Access) làm việc với nhiều triển khai RDBMS với chi phí của một số lần thực hiện. Khi JDBC được phát hành lần đầu, có một trình điều khiển cho phép bạn kết nối với một nhà cung cấp ODBC. Sau đó, một số nhà cung cấp cung cấp các trình điều khiển JDBC cụ thể cho RDMS của họ.

Từ góc nhìn của nhà phát triển, JDBC được sử dụng làm bộ giao diện. Tất cả các chi tiết thực tế được ẩn trong tải trình điều khiển. Trình điều khiển là một lớp Java có thể sử dụng bất kỳ mẹo nào của cuốn sách, bao gồm cả mã gốc hoặc chỉ gửi lưu lượng mạng đến RDBMS.

5

Từ Wikipedia:

trình điều khiển JDBC là adapter client-side (được cài đặt trên máy client , không phải trên máy chủ) để chuyển đổi các yêu cầu từ các chương trình Java đến một giao thức mà các DBMS có thể hiểu được. [sửa] Các loại

Có các trình điều khiển thương mại và miễn phí dành cho hầu hết các máy chủ cơ sở dữ liệu quan hệ . Các trình điều khiển này thuộc một trong các loại sau:

  • Loại 1 gọi mã gốc của trình điều khiển ODBC có sẵn cục bộ.
  • Loại 2 gọi thư viện gốc của nhà cung cấp cơ sở dữ liệu ở phía máy khách. Mã này sau đó nói chuyện với cơ sở dữ liệu qua mạng.
  • Loại 3, người lái xe thuần java rằng cuộc đàm phán với các middleware server-side mà sau đó nói chuyện với cơ sở dữ liệu
  • Loại 4, người lái xe thuần java sử dụng cơ sở dữ liệu bản địa giao thức
+1

Theo câu trả lời ở trên, các trình điều khiển JDBC đối thoại các cuộc gọi API JDBC thành giao thức mà DBMS có thể hiểu; giao thức đó là gì? Đó là định nghĩa giao thức có sẵn để chúng ta có thể có một cái nhìn? – CuriousMind

1

Từ Wikipedia :

JDBC là một API cho ngôn ngữ lập trình Java xác định cách khách hàng có thể truy cập cơ sở dữ liệu. Nó cung cấp các phương thức để truy vấn và cập nhật dữ liệu trong cơ sở dữ liệu. JDBC hướng tới các cơ sở dữ liệu quan hệ.

JDBC lần đầu tiên được giới thiệu trong Nền tảng Java 2, Standard Edition, phiên bản 1.1 (J2SE), cùng với thực thi tham chiếu JDBC-to-ODBC bridge, cho phép kết nối với bất kỳ nguồn dữ liệu ODBC nào có thể truy cập được trong môi trường máy chủ JVM.

Nếu không đi sâu vào chi tiết quá nhiều, bạn có thể nghĩ JDBC là lớp trừu tượng cho phép bạn nói chuyện với các cơ sở dữ liệu khác nhau. Các chi tiết thực hiện cụ thể được ẩn khỏi bạn, nhưng giao diện để truy vấn một cơ sở dữ liệu (có thể là MySQL hay Oracle hay bất kỳ thứ gì) đều giống nhau.

Điều này có nghĩa là trong tương lai, nếu có cơ sở dữ liệu mới, ai đó chỉ cần sử dụng giao diện hiện có. Tên phương thức sẽ giống nhau, nhưng các phương thức sẽ chứa mã thực hiện cụ thể cho cơ sở dữ liệu cụ thể đó. Đây là một mô hình kỹ thuật phần mềm phổ biến.

Pháp nhân chứa mã thực hiện cụ thể được gọi là JDBC driver. Trình điều khiển JDBC cung cấp kết nối tới cơ sở dữ liệu và nó cũng thực hiện giao thức cụ thể để gửi truy vấn tới cơ sở dữ liệu và tập kết quả trở lại máy khách.

7

Giao tiếp với cơ sở dữ liệu được xử lý bởi trình điều khiển JDBC có thể sử dụng các chiến lược khác nhau để "nói chuyện" với cơ sở dữ liệu (từ "dịch" sang sử dụng ngôn ngữ "gốc"). Tùy thuộc vào chiến lược được sử dụng, trình điều khiển được phân loại thành 4 loại. Types of JDBC technology drivers cung cấp một mô tả tốt của mỗi trong số họ:

  1. cầu Một JDBC-ODBC cung cấp JDBC API truy cập thông qua một hoặc nhiều ODBC driver . Lưu ý rằng một số mã nguồn gốc ODBC và trong nhiều trường hợp, cơ sở dữ liệu gốc mã máy khách phải được tải trên mỗi máy khách sử dụng loại trình điều khiển này. Do đó, loại trình điều khiển này là thường thích hợp nhất khi cài đặt tự động và tải xuống của ứng dụng công nghệ Java là không quan trọng. Để biết thông tin về trình điều khiển cầu JDBC-ODBC được cung cấp bởi Mặt trời, xem Trình điều khiển cầu JDBC-ODBC.

  2. Là người gốc-API phần Java lái xe công nghệ cho phép chuyển đổi JDBC gọi vào các cuộc gọi trên máy khách API cho Oracle, Sybase, Informix, DB2, hoặc DBMS khác. Lưu ý rằng, giống như trình điều khiển cầu , kiểu trình điều khiển này yêu cầu một số mã nhị phân phải là được tải trên mỗi máy khách.

  3. Một mạng lưới giao thức đầy đủ Java lái xe công nghệ cho phép chuyển JDBC API cuộc gọi vào một giao thức mạng DBMS độc lập sau đó được dịch đến một giao thức DBMS bởi một máy chủ. Phần mềm trung gian máy chủ mạng có thể kết nối tất cả các máy khách Java công nghệ dựa trên nhiều cơ sở dữ liệu khác nhau của . Giao thức cụ thể được sử dụng tùy thuộc vào nhà cung cấp. Nói chung, đây là giải pháp thay thế JDBC API linh hoạt nhất . Có thể là rằng tất cả các nhà cung cấp giải pháp này sẽ cung cấp các sản phẩm phù hợp cho việc sử dụng Intranet . Để các sản phẩm này đến số cũng hỗ trợ truy cập Internet, chúng phải xử lý các yêu cầu bổ sung cho bảo mật , truy cập qua tường lửa, v.v., mà Web áp đặt. Một số nhà cung cấp đang thêm các trình điều khiển dựa trên công nghệ JDBC vào các sản phẩm phần mềm trung gian cơ sở dữ liệu hiện có của họ.

  4. Là người gốc giao thức đầy đủ Java lái xe công nghệ cho phép chuyển đổi công nghệ JDBC gọi vào giao thức mạng sử dụng bởi DBMS trực tiếp. Điều này cho phép cuộc gọi trực tiếp từ máy khách tới máy chủ DBMS và là một giải pháp thực tế cho việc truy cập Intranet . Vì nhiều giao thức này là là độc quyền của các nhà cung cấp cơ sở dữ liệu , chúng sẽ là nguồn chính cho kiểu trình điều khiển này. Một số nhà cung cấp cơ sở dữ liệu có các bước này trong tiến trình .

Như chúng ta có thể thấy, có chiến lược khác nhau để làm cho khả năng tương tác có thể, bao gồm cả việc thực hiện các giao thức mạng sử dụng bởi một cơ sở dữ liệu được đưa ra trong Java (loại 4). Và vì tính dễ sử dụng của họ (không cần thêm thứ gì để cài đặt, không có JNI) và màn trình diễn tốt của họ (chúng cũng như trình điều khiển loại 2), loại 4 thực sự được sử dụng thường xuyên nhất hiện nay.

0

Không thể nói tôi biết câu trả lời chính xác cho câu hỏi của bạn, nhưng dưới đây là một số thông tin cần trợ giúp.

Dưới đây là một nơi tuyệt vời để bắt đầu:

http://java.sun.com/products/jdbc/overview.html

Các JDBC API chứa hai bộ chính của giao diện: đầu tiên là API JDBC cho những tác giả ứng dụng, và thứ hai là cấp dưới API trình điều khiển JDBC dành cho người viết trình điều khiển.

Thông tin cho nhà phát triển trình điều khiển JDBC. Về cơ bản có một bộ các giao diện mà một nhà phát triển thực hiện để tạo một trình điều khiển JDBC cho một DBMS cụ thể.

http://java.sun.com/products/jdbc/driverdevs.html

Theo như một DBMS được viết bằng một ngôn ngữ khác nhau. DBMS đó có khả năng hiển thị một số API (bằng nhiều ngôn ngữ và/hoặc định dạng khác nhau) cho phép các trình điều khiển, chẳng hạn như JDBC, giao tiếp với DBMS.

Các vấn đề liên quan