TL;DR
Power Query không tìm thấy nguồn dữ liệu ODBC của bạn. Nguyên nhân có thể là DSN (Data Source Name) không tồn tại trên máy này, driver chưa được cài đặt, hoặc có sự không khớp giữa 32-bit và 64-bit. Mở ODBC Data Sources từ Control Panel, kiểm tra DSN theo đúng kiến trúc, và cài đặt driver phù hợp nếu còn thiếu.
Nguyên nhân gây ra lỗi này
Thông báo lỗi đầy đủ trong Power Query:
DataSource.Error: OLE DB or ODBC error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
Windows ODBC Driver Manager nhận được yêu cầu kết nối — nhưng không tìm thấy gì. Không có data source khớp, không có driver khớp. Ba nguyên nhân chính:
- DSN không tồn tại trên máy này — ai đó đã tạo nó trên máy của họ nhưng chưa bao giờ sao chép sang máy bạn.
- Driver còn thiếu — SQL Server, MySQL, Oracle — bất kỳ driver nào bạn cần đều chưa được cài đặt.
- Không khớp kiến trúc — Excel 64-bit đang tìm trong registry ODBC 64-bit, nhưng DSN lại được đăng ký trong registry 32-bit. Hoặc ngược lại.
Cách sửa 1: Kiểm tra và tạo DSN
Trước tiên, hãy mở đúng trình quản lý ODBC. Điều này phụ thuộc vào phiên bản Excel bạn đang dùng:
- Excel 64-bit: Chạy
%SystemRoot%\System32\odbcad32.exe, hoặc tìm kiếm ODBC Data Sources (64-bit) trong Start. - Excel 32-bit: Chạy
%SystemRoot%\SysWOW64\odbcad32.exethay thế.
Vào tab System DSN. Nếu DSN của bạn không có ở đó, nhấn Add và tạo mới — điền vào driver, địa chỉ server, và tên database.
Lưu ý quan trọng: Luôn dùng System DSN cho Power Query. User DSN sẽ bị lỗi ngay khi một service account hoặc người dùng Windows khác cố refresh query. Đây là lỗi rất khó tìm ra vào sáng thứ Hai.
Cách sửa 2: Cài đặt ODBC driver còn thiếu
Không thấy driver nào trong danh sách Create New Data Source? Đó chính là vấn đề — hãy cài driver trước.
- SQL Server: Microsoft ODBC Driver 17 hoặc 18 for SQL Server
- MySQL: MySQL Connector/ODBC 8.0
- PostgreSQL: psqlODBC
- Oracle: Oracle Instant Client + ODBC driver
Cài driver cùng bitness với Excel của bạn — Excel 64-bit cần driver 64-bit. Sau khi cài xong, mở lại ODBC Data Sources và xác nhận driver đã xuất hiện trong danh sách trước khi tạo DSN.
Cách sửa 3: Giải quyết sự không khớp 32-bit / 64-bit
Vấn đề này khiến nhiều người bối rối. DSN có tồn tại — chỉ là ở sai chỗ thôi.
Windows lưu DSN ở hai vị trí registry riêng biệt:
- Ứng dụng 64-bit:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI - Ứng dụng 32-bit:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI
Để kiểm tra phiên bản Excel: File → Account → About Excel. Nếu là 32-bit, thanh tiêu đề sẽ hiển thị (32-bit). 64-bit thì không hiển thị thêm gì.
Khi biết mình đang dùng phiên bản nào, hãy mở đúng trình quản lý ODBC và kiểm tra DSN có ở đó không. Nếu DSN chỉ được đăng ký trong trình quản lý sai, hãy tạo lại trong trình quản lý đúng. Chỉ mất khoảng hai phút.
Cách sửa 4: Chuyển sang chuỗi kết nối không dùng DSN
Đây là giải pháp lâu dài gọn gàng hơn: bỏ qua DSN hoàn toàn. Nhúng trực tiếp chuỗi kết nối vào code M của Power Query. Workbook sẽ trở nên portable — không cần thiết lập DSN trên từng máy.
// In Power Query Advanced Editor:
let
Source = Odbc.DataSource(
"Driver={ODBC Driver 17 for SQL Server};Server=myserver;Database=mydb;Trusted_Connection=yes;",
[HierarchicalNavigation = true]
)
in
Source
Với MySQL trên một IP cụ thể:
Odbc.DataSource(
"Driver={MySQL ODBC 8.0 Unicode Driver};Server=192.168.1.10;Database=mydb;UID=user;PWD=password;"
)
Với OLE DB (Access, file Excel, hoặc SQL Server qua OLE DB):
OleDb.DataSource(
"Provider=SQLOLEDB;Data Source=myserver;Initial Catalog=mydb;Integrated Security=SSPI;"
)
Miễn là driver đã được cài trên máy, cách này hoạt động ngay. Không cần duy trì các mục registry DSN, không lo nhầm lẫn kiến trúc.
Cách sửa 5: Kiểm tra formula firewall của Power Query
Đôi khi lỗi này hoàn toàn không liên quan đến DSN — mà là do formula firewall của Power Query chặn một truy vấn cross-source. Vào File → Options and Settings → Query Options → Privacy và đặt mức thành Ignore Privacy Levels. Chỉ làm điều này trong môi trường nội bộ đáng tin cậy. Sau đó refresh query và kiểm tra xem lỗi có hết không.
Xác nhận đã sửa xong
- Mở ODBC Data Sources (đúng bitness) → xác nhận DSN tồn tại dưới System DSN.
- Chọn DSN → nhấn Configure → Test. Kết quả phải hiện Connection successful.
- Quay lại Excel: Data → Queries & Connections, nhấn chuột phải vào query → Refresh.
- Dùng chuỗi kết nối không DSN? Dán code M vào Advanced Editor, nhấn Done — khung preview phải tải được dữ liệu mà không có lỗi.
Checklist chẩn đoán nhanh
- Bitness của Excel khớp với bitness của ODBC driver? ✓
- DSN tồn tại dưới System DSN (không chỉ User DSN)? ✓
- Driver xuất hiện trong danh sách ODBC drivers? ✓
- Test DSN từ trình quản lý ODBC thành công? ✓
- Firewall/mạng cho phép kết nối đến host và port của DB (ví dụ: 1433 cho SQL Server, 3306 cho MySQL)? ✓
Đọc thêm
- Microsoft Docs: Tài liệu tham khảo hàm M Odbc.DataSource
- Microsoft ODBC Driver for SQL Server — trang tải xuống
- Giải thích về privacy levels và formula firewall trong Power Query

