Nếu bạn chỉ nhìn vào các triển khai Unix, bạn sẽ nhận được một số ý tưởng thú vị về cách ODBC hoạt động. Không có cách triển khai nào trong số này có thể so sánh 100% với việc triển khai tham chiếu trên Windows, được sản xuất bởi người duy trì thông số ODBC, tức là Microsoft .
Có hai trình quản lý trình điều khiển ODBC thường được tìm thấy trên Unix. iODBC , có tài liệu liên quan đến câu hỏi này ở đây , được duy trì và hỗ trợ bởi chủ nhân của tôi. UnixODBC là cái khác, và đã được thảo luận trong các câu trả lời khác. Chúng có nghĩa là API tương đương với nhau và với việc triển khai Windows, vì cả hai đều là các triển khai không dựa trên nền tảng của tiêu chuẩn.
Nói một cách đơn giản, odbcinst.ini
là tệp đăng ký và cấu hình cho trình điều khiển ODBC trong môi trường, trong khi đó odbc.ini
là tệp đăng ký và cấu hình cho ODBC DSN (Tên nguồn dữ liệu), thường dựa trên các trình điều khiển được đăng ký trong các trình điều khiển khác.
Bạn đã có một vài câu hỏi cụ thể ...
1) Tôi có một dòng Driver = /path/to/file/.so
trong cả hai tệp và các giá trị đôi khi khác nhau. Điều này thậm chí có ý nghĩa? Nếu vậy, cái nào thắng thế?
Các Driver = /path/to/file.so
thường nên là như nhau trong cả hai tập tin khi cả hai đều thể hiện dưới dạng đường dẫn. Thay vào đó odbc.ini
, mục này có thể là Driver = {name of driver}
nơi tên được lập chỉ mục odbcinst.ini
. Nói chung, cài đặt odbc.ini
chiếm ưu thế so với cài đặt xung đột trong trường odbcinst.ini
hợp đó tồn tại.
2) Là odbcinst.ini
một "nguyên mẫu" giống như JavaScript cho odbc.ini
? Nói cách khác, nếu tôi đang tạo ra một số DSN với các thiết lập chung, tôi có thể thúc đẩy các thiết lập phổ biến từ odbc.ini
thành odbcinst.ini
?
Không, odbcinst.ini
không phải là "nguyên mẫu" theo cách này. odbcinst.ini
cài đặt có liên quan đến trình điều khiển , nhưng không liên quan đến DSN dựa trên trình điều khiển đó.
3) Sự khác biệt giữa Driver
và Setup
trong là odbcinst.ini
gì? Họ dường như có cùng các giá trị. Là những thiết lập cơ sở dữ liệu cụ thể hoặc chúng là phổ quát?
Trong odbcinst.ini
, Driver =
đề cập đến thư viện trình điều khiển và Setup =
thư viện thiết lập. Cái sau là hoàn toàn tùy chọn, và khi nó tồn tại, nó có thể nhưng không cần được sử dụng trong khi kết nối dữ liệu; nó chủ yếu được sử dụng bởi Quản trị viên ODBC khi "thiết lập" các kết nối đó, được lưu dưới dạng DSN. Đôi khi, các thư viện này được tìm thấy trong cùng một tệp vật lý, nhưng chúng không cần, và, ví dụ, thường không có trong môi trường OS X.