Công cụ quản trị ODBC Hiển thị cả hai 32-bit và 64-bit người sử dụng DSNs trong một phiên bản 64-bit của Windows

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 942976
Triệu chứng
Một phiên bản 64-bit của Microsoft Windows hệ điều hành bao gồm các phiên bản sau của công cụ quản trị nguồn dữ liệu kết nối bộ máy cơ sở dữ liệu mở Microsoft (ODBC) (Odbcad32.exe):
  • Phiên bản 32-bit của Odbcad32.exe tập tin nằm ở mục tin thư thoại %systemdrive%\Windows\SysWoW64.
  • Các phiên bản 64-bit của Odbcad32.exe tập tin nằm ở mục tin thư thoại %systemdrive%\Windows\System32.
Các tập tin Odbcad32.exe Hiển thị loại dữ liệu nguồn tên (DSNs), sau đây:
  • Hệ thống DSNs
  • DSNs người dùng

Triệu chứng 1

Các phiên bản 32-bit của công cụ quản trị ODBC Hiển thị hệ thống 32-bit DSNs, 32-bit người dùng DSNs và 64-bit người sử dụng DSNs. Các phiên bản 64-bit của công cụ quản trị ODBC Hiển thị 64-bit hệ thống DSNs, 32-bit người dùng DSNs và 64-bit người sử dụng DSNs.

Triệu chứng 2

Chức năng SQLDataSources trả về tất cả các phiên bản của người dùng DSNs, bất kể các kiến trúc của ứng dụng. Chức năng SQLDataSources trong một ứng dụng 32-bit được gọi là biên lợi nhuận chỉ hệ thống DSNs cho trình điều khiển 32-bit nhưng trở về người sử dụng DSNs cho trình điều khiển 32-bit lẫn 64-bit trình điều khiển. Tương tự như vậy, các chức năng SQLDataSources được gọi là trong một ứng dụng 64-bit biên lợi nhuận chỉ hệ thống DSNs cho trình điều khiển 64-bit nhưng trở về người sử dụng DSNs cho trình điều khiển 32-bit lẫn 64-bit trình điều khiển. Vì vậy, nếu các ứng dụng làm cho một kết nối bằng cách sử dụng một người dùng DSN đó được trả về từ chức năng SQLDataSources , bạn có thể nhận được thông báo lỗi sau:
nguồn dữ liệu tên không được tìm thấy và trình điều khiển mặc định không được chỉ định
Ví dụ, hãy xem xét kịch bản sau đây. Bạn tạo người dùng DSN cho trình điều khiển 32-bit "Microsoft Access Driver (*.mdb)." Trình điều khiển này không có một phiên bản 64-bit tương ứng. Chức năng SQLDataSources được gọi là trong một ứng dụng 64-bit trở về người dùng 32-bit này DSN. Tuy nhiên, nếu bạn thực hiện một kết nối thông qua này người dùng 32-bit DSN, bạn nhận được thông báo lỗi được đề cập trước đó trong phần này.
Nguyên nhân
Người dùng DSNs được lưu trữ theo các registry subkey sau đây:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
kiểm nhập chuyển hướng không được kích hoạt cho khoá con kiểm nhập này. Vì vậy, người dùng DSNs được hiển thị trong cả hai 32-bit và 64-bit phiên bản của công cụ ODBC quản trị.
Giải pháp
Để duy trì khả năng tương hợp về sau ngược, không có giải pháp cho vấn đề này là hiện đang có sẵn.
Cách giải quyết khác
Để làm việc xung quanh vấn đề này, sử dụng các phiên bản thích hợp của công cụ ODBC quản trị. Nếu bạn xây dựng và sau đó chạy một ứng dụng như một ứng dụng 32-bit trên 64-bit, hệ điều hành, bạn phải tạo các nguồn dữ liệu ODBC bằng cách sử dụng công cụ quản trị ODBC % windir%\SysWOW64\odbcad32.exe. Để chỉ ra loại DSN, bạn có thể thêm "_32" cho người dùng 32-bit DSNs và "_64" để sử dụng 64-bit DSNs.
Thông tin thêm
Công cụ quản trị ODBC 64-bit có thể được gọi từ Panel điều khiển quản lý người dùng DSNs và DSNs hệ thống được sử dụng bởi quá trình 64-bit. Trên một hệ điều hành 64-bit, công cụ quản trị ODBC 32-bit được sử dụng cho Windows Windows 64 (WOW64) quá trình. Trực tiếp, bạn phải gọi công cụ quản trị ODBC 32-bit từ SysWoW64 mục tin thư thoại. Bạn có thể sử dụng công cụ quản trị ODBC 32-bit để quản lý người dùng DSNs và DSNs hệ thống được sử dụng bởi quá trình WOW64.

Hệ thống DSNs được lưu trữ trong registry subkey sau đây:
HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI
kiểm nhập chuyển hướng được kích hoạt cho khoá con kiểm nhập này. Vì vậy, Hệ thống DSNs cho trình điều khiển 32-bit và 64-bit trình điều khiển được tách ra. Công cụ quản trị ODBC 64-bit không hiển thị các hệ thống DSNs đã được tạo ra bởi công cụ quản trị ODBC 32-bit. Tương tự như vậy, công cụ quản trị ODBC 32-bit không hiển thị các hệ thống DSNs đã được tạo ra bởi công cụ quản trị ODBC 64-bit. Ngoài ra, công cụ quản trị ODBC 64-bit không hiển thị các hệ thống DSNs sử dụng trình điều khiển 32-bit. Tương tự như vậy, công cụ quản trị ODBC 32-bit không hiển thị các hệ thống DSNs sử dụng trình điều khiển 64-bit.

Người dùng DSNs được lưu trữ trong registry subkey sau đây:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Chuyển hướng kiểm nhập không được kích hoạt cho khoá con kiểm nhập này. Vì vậy, cả hai công cụ quản trị ODBC Hiển thị tất cả người dùng DSNs.

Để biết thêm thông tin về kiểm nhập chuyển hướng, ghé thăm Web site sau của Microsoft Developer Network (MSDN):

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 942976 - Xem lại Lần cuối: 05/13/2013 03:21:00 - Bản sửa đổi: 1.0

Microsoft Open Database Connectivity 4.21

  • kbexpertiseadvanced kbtshoot kbprb kbmt KB942976 KbMtvi
Phản hồi