Hướng dẫn kết nối odbc từ sql sang visual studio năm 2024

Khi bạn cố gắng đặt thuộc tính kết nối một ODBC kết nối khi kết nối tổng hợp được kích hoạt bằng cách sử dụng API trình điều khiển ODBC trình điều khiển ODBC Microsoft SQL Server, bạn nhận được thông báo lỗi sau:

IM006 SQLSetConnectAttr [Microsoft] [quản lý trình điều khiển ODBC] điều khiển không thành công

Lưu ý Tài liệu trình điều khiển ODBC đề cập đến thông báo là thông báo thông tin. Tuy nhiên, bạn nhận được thông báo là thông báo lỗi.

Sự cố này có thể xảy ra khi tất cả các điều kiện sau là đúng:

  • Bạn thực hiện kết nối với tên nguồn dữ liệu (DSN) bằng cách sử dụng API trình điều khiển ODBC SQLConnect.
  • Một trong các thuộc tính mặc định của DSN (chẳng hạn như các tùy chọn nulls, Gioăng đệm và cảnh báo sử dụng ANSI ) bị vô hiệu hoá.
  • Kết nối tổng hợp được kích hoạt để xử lý môi trường.
  • Giao dịch tách biệt cấp thuộc tính của kết nối được thiết lập sau khi bạn mở kết nối bằng cách sử dụng SQLConnect.
  • Giao dịch cơ sở dữ liệu được thực hiện.

Giải pháp

Để khắc phục sự cố này, hãy làm theo các bước sau:

  1. Vô hiệu hoá kết nối tổng hợp các tùy chọn kết nối ODBC. Lưu ý Vô hiệu hoá kết nối tổng hợp có thể ảnh hưởng đến hiệu suất của ứng dụng của bạn.
  2. Sau khi bạn thực hiện giao dịch, không bật tuỳ chọn tự tự động.
  3. Đặt mức cô lập giao dịch trước khi mở kết nối ODBC.
  4. Sử dụng kết nối DSN ít thay vì lấy ODBC kết nối với một DSN.

Giải pháp

Cập nhật nóng được hỗ trợ do Microsoft cung cấp. Tuy nhiên, cập nhật nóng này chỉ được dùng để khắc phục sự cố được mô tả trong bài viết này. Chỉ áp dụng cập nhật nóng này cho hệ thống đang gặp sự cố cụ thể này.

Nếu cập nhật nóng này sẵn có để tải xuống thì sẽ có phần "Cập nhật nóng có sẵn để tải xuống" ở đầu bài viết Cơ sở Kiến thức này. Nếu phần này không xuất hiện, hãy gửi một yêu cầu tới bộ phận Hỗ trợ và Dịch vụ Khách hàng của Microsoft để nhận hotfix.

Lưu ý Nếu sự cố khác xảy ra hoặc nếu cần khắc phục sự cố, bạn có thể phải tạo một yêu cầu dịch vụ riêng. Chi phí hỗ trợ thông thường sẽ tính cho các câu hỏi hỗ trợ bổ sung và các sự cố không phù hợp với cập nhật nóng cụ thể này. Để có danh sách đầy đủ số điện thoại hỗ trợ và dịch vụ khách hàng của Microsoft hoặc để tạo yêu cầu dịch vụ riêng, hãy ghé thăm Web site sau của Microsoft:

http://support.microsoft.com/contactus/?ws=supportLưu ý Mẫu "Tải xuống cập nhật nóng sẵn có" hiển thị các ngôn ngữ mà cập nhật nóng này sẵn có. Nếu bạn không thấy ngôn ngữ của mình thì đó là do cập nhật nóng này hiện không có ngôn ngữ đó. Công Anh phiên bản vá này có các thuộc tính tệp (hoặc mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo giờ chuẩn quốc tế (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng các Tab múi giờ cụ ngày và giờ trong Pa-nen điều khiển.

MDAC 2.7 SP1

Date Time Version Size File name -------- 13-Oct-2002 19:24 90,112 Dahotfix.exe 03-Jul-2003 04:09 2000.81.9031.51 372,736 Sqlsrv32.dll

MDAC 2.8

Date Time Version Size File name -------- 31-Mar-2004 16:44 2000.85.1040.0 24,576 Odbcbcp.dll 31-Mar-2004 16:43 2000.85.1040.0 401,408 Sqlsrv32.dll

Lưu ý Để có danh sách tất cả các hotfix có sẵn để MDAC 2.8, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

Khắc phục sự cố 839801 : hotfix có sẵn để MDAC 2.8

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho". Vấn đề này được khắc phục trong Microsoft Access phần 2,7 Service Pack 1 làm mới dữ liệu và Microsoft dữ liệu truy cập phần 2.8.

Thông tin

Bạn sẽ thấy vấn đề được đề cập trong phần "Triệu chứng" của bài viết này chỉ khi bạn có Microsoft dữ liệu truy cập thành phần (MDAC) 2,7 Service Pack 1 cài đặt trên máy tính của bạn.

Bạn có thể liên kết tới hoặc nhập dữ liệu từ Cơ sở dữ liệu SQL, chính là cơ sở dữ liệu hiệu suất cao được quản lý sử dụng cho các ứng dụng then chốt. Để biết thêm thông tin, xem mục Cơ sở dữ liệu SQL – Cơ sở dữ liệu Đám mây dưới dạng một Dịch vụ.

  • Khi bạn liên kết tới dữ liệu, Access sẽ tạo ra một kết nối hai chiều giúp đồng bộ hóa các thay đổi cho dữ liệu trong Access và Cơ sở dữ liệu SQL.
  • Khi bạn nhập dữ liệu, Access sẽ tạo ra bản sao dữ liệu sử dụng một lần, do vậy, những thay đổi cho dữ liệu trong Access hoặc Cơ sở dữ liệu SQL sẽ không được đồng bộ hóa.

Hướng dẫn kết nối odbc từ sql sang visual studio năm 2024

Trước khi bạn bắt đầu

Thực hiện những chuẩn bị cơ bản

Bạn muốn mọi thứ trở nên suôn sẻ hơn? Vậy thì hãy thực hiện những chuẩn bị sau đây trước khi bạn liên kết hoặc nhập:

  • Định vị tên máy chủ cơ sở dữ liệu Azure SQL Server, xác định thông tin kết nối cần thiết và chọn phương thức xác thực (Windows hoặc SQL Server). Để biết thêm thông tin về bốn phương thức xác thực, xem mục Kết nối với Máy chủ (Công cụ Cơ sở dữ liệu) và mục Bảo mật cho cơ sở dữ liệu của bạn.
  • Xác định bảng hay dạng xem bạn muốn liên kết tới hoặc nhập, cùng những trường có giá trị duy nhất đối với bảng được liên kết. Bạn có thể liên kết hoặc nhập nhiều hơn một bảng hay dạng xem trong một thao tác duy nhất.
  • Hãy cân nhắc tới số cột trong từng bảng hoặc dạng xem. Access không hỗ trợ quá 255 trường cho một bảng, do vậy, Access sẽ chỉ liên kết hoặc nhập 255 cột đầu tiên. Bạn có thể tạo dạng xem trong Cơ sở dữ liệu Azure SQL Server để truy nhập những cột vượt quá giới hạn như một giải pháp thay thế.
  • Xác định tổng số dữ liệu hiện được nhập. Kích cỡ tối đa của một cơ sở dữ liệu Access là hai gigabyte, trừ đi dung lượng cần thiết cho các đối tượng hệ thống. Nếu cơ sở dữ liệu Azure SQL Server có chứa các bảng lớn, có thể bạn sẽ không thể nhập toàn bộ chúng vào một cơ sở dữ liệu Access duy nhất. Trong trường hợp này, hãy cân nhắc liên kết tới dữ liệu thay vì nhập.
  • Bảo mật cho cơ sở dữ liệu Access của bạn và thông tin kết nối mà cơ sở dữ liệu chứa bằng cách sử dụng một vị trí tin cậy, cùng một mật khẩu cơ sở dữ liệu Access. Điều này đặc biệt quan trọng nếu bạn chọn lưu mật khẩu SQL Server trong Access.
  • Lên kế hoạch tạo thêm các mối quan hệ. Access không tự động tạo các mối quan hệ giữa những bảng liên quan ở cuối thao tác nhập. Bạn có thể tạo mối quan hệ giữa các bảng mới và bảng hiện có bằng cách thủ công sử dụng cửa sổ Mối quan hệ. Để biết thêm thông tin, xem mục Cửa sổ Mối quan hệ là gì? và mục Tạo, chỉnh sửa hoặc xóa mối quan hệ.

Đặt cấu hình cho môi trường Azure SQL Server của bạn

Tổ chức của bạn có thể đã có một tài khoản Microsoft Azure và một cơ sở dữ liệu Azure SQL Server mà bạn có thể sử dụng. Nếu không phải như vậy, bạn có thể thực hiện như sau:

  1. Tạo tài khoản Azure. Để biết thêm thông tin, xem mục Tạo tài khoản Azure miễn phí cho bạn ngay hôm nay.
  2. Nếu bạn chưa có quyền truy nhập thuận tiện vào một cơ sở dữ liệu Azure SQL Server thì bạn có thể tạo một cơ sở dữ liệu của riêng mình. Để biết thêm thông tin, xem mục Tạo cơ sở dữ liệu Azure SQL trong cổng thông tin Azure.

Hãy đảm bảo giữ lại thông tin quan trọng để bạn không quên mất chúng, chẳng hạn như thông tin xác thực và tên tài khoản.

Tạo quy tắc tường lửa

Trước khi kết nối với máy chủ Cơ sở dữ liệu Microsoft Azure SQL, người quản trị cơ sở dữ liệu sẽ cần tạo các quy tắc tường lửa cấp máy chủ. Những quy tắc này sẽ chỉ định địa chỉ Giao thức Internet (IP) công khai hỗ trợ truy nhập máy khách cho từng thiết bị vào máy chủ thông qua tường lửa Azure. Trong tổ chức của bạn, hãy kiểm tra xem bạn đang sử dụng loại địa chỉ IP công khai nào, tĩnh hay động:

  • Nếu địa chỉ IP công khai của bạn là tĩnh thì địa chỉ đó sẽ không thay đổi. Bạn có thể chỉ định quy tắc tường lửa bằng một địa chỉ IP công khai duy nhất.
  • Nếu địa chỉ IP công khai của bạn là động thì địa chỉ đó có thể thay đổi theo thời gian. Bạn cần chỉ định quy tắc tường lửa với một dải địa chỉ IP công khai. Hãy nhớ rằng địa chỉ IP công khai được thiết bị của bạn dùng để kết nối với Cơ sở dữ liệu Azure SQL có thể sẽ khác với địa chỉ IP công khai được hiển thị trong cài đặt cấu hình IP công khai cho máy tính của bạn.

Để tránh nhầm lẫn, chúng tôi khuyên bạn nên sử dụng các thủ tục sau.

  1. Đăng nhập vào tài khoản Microsoft Azure của bạn, rồi dẫn hướng đến cổng thông tin Windows Azure.
  2. Trên trang Cơ sở dữ liệu Microsoft Azure SQL, bấm vào cơ sở dữ liệu của bạn.
  3. Ở ngăn xem nhanh, bấm vào Quản lý địa chỉ IP được cho phép, rồi thực hiện một trong những thao tác sau:

    Tạo quy tắc tường lửa cho một thiết bị duy nhất Sử dụng phương pháp tiếp cận này để thử nghiệm và phát triển hoặc trong một môi trường doanh nghiệp nhỏ, cũng như khi bạn biết rằng địa chỉ IP công khai của mình là tĩnh.

    • Trong mục Địa chỉ IP Được cho phép, chọn Thêm địa chỉ IP được cho phép để cho phép địa chỉ IP công khai của bạn truy nhập cơ sở dữ liệu thông qua tường lửa. Cổng thông tin Azure sẽ hiển thị địa chỉ IP công khai phù hợp với thiết bị máy khách của bạn trên mục tên quy tắc. Tạo một quy tắc tường lửa cho một phạm vi địa chỉ IP Sử dụng phương pháp tiếp cận này để hỗ trợ truy nhập cho nhiều người dùng trong một môi trường tại chỗ hoặc khi bạn biết địa chỉ IP công khai của mình là động. Liên hệ bộ phận CNTT hoặc Nhà cung cấp Internet của bạn để lấy khối địa chỉ IP công khai.
    • Bên dưới TÊN QUY TẮC, hãy nhập tên có ý nghĩa cho quy tắc.
    • Bên dưới IP BẮT ĐẦU, hãy nhập số địa chỉ IP công khai bắt đầu cho dải địa chỉ.
    • Bên dưới IP KẾT THÚC, hãy nhập số địa chỉ IP công khai kết thúc cho dải địa chỉ.

Có thể mất tới năm phút để quy tắc tường lửa có hiệu lực. Để biết thêm thông tin, xem mục Quy tắc tường lửa của Cơ sở dữ liệu Azure SQL.

Giai đoạn 1: Bắt đầu

  1. Chọn Dữ liệu Ngoài > Nguồn Dữ liệu Mới > Từ Cơ sở dữ liệu > Từ SQL Server.
  2. Trong hộp thoại Lấy Dữ liệu Ngoài – Cơ sở dữ liệu ODBC, thực hiện một trong những thao tác sau:
    • Để nhập dữ liệu, chọn Nhập dữ liệu nguồn vào một bảng mới trong cơ sở dữ liệu hiện tại.
    • Để liên kết tới dữ liệu, chọn Liên kết nguồn dữ liệu bằng cách tạo bảng được liên kết.
  3. Chọn OK.

Giai đoạn 2: Tạo hoặc tái sử dụng tệp DSN

Bạn có thể tạo tệp DSN hoặc tái sử dụng tệp hiện có. Sử dụng tệp DSN khi bạn muốn dựa vào cùng một thông tin kết nối cho các hoạt động liên kết và nhập khác hoặc để chia sẻ với một ứng dụng khác cũng sử dụng các tệp DSN. Bạn có thể tạo tệp DSN trực tiếp bằng Trình quản lý Kết nối Dữ liệu. Để biết thêm thông tin, xem mục .

Dù bạn vẫn có thể sử dụng các phiên bản trước của trình điều khiển ODBC SQL, chúng tôi khuyên bạn nên sử dụng phiên bản 13.1, phiên bản chứa nhiều cải tiến và hỗ trợ các tính năng mới của SQL Server 2016. Để biết thêm thông tin, xem mục Microsoft ODBC Driver cho SQL Server trên Windows.

  1. Thực hiện một trong những thao tác sau:
    • Nếu tệp DSN bạn muốn sử dụng đã tồn tại, hãy chọn tệp đó từ danh sách.
      Hướng dẫn kết nối odbc từ sql sang visual studio năm 2024
      Tùy theo phương thức xác thực bạn đã nhập trong thông tin kết nối, bạn có thể cần phải nhập lại mật khẩu.
    • Cách tạo tệp DSN mới:
      1. Chọn Mới.
             ![](https://https://i0.wp.com/support.content.office.net/vi-vn/media/39c51ed0-2ceb-4ace-a3f9-8e06a18472dc.png)  
      2. Chọn Trình điều khiển ODBC 13 cho SQL Server, rồi chọn Tiếp theo.
      3. Nhập tên cho tệp DSN hoặc bấm vào Duyệt để tạo tệp trong vị trí khác.
  2. Bấm vào Tiếp theo để xem lại thông tin tóm tắt, rồi bấm vào Kết thúc.

Giai đoạn 3: Sử dụng trình hướng dẫn Tạo Nguồn Dữ liệu Mới cho SQL Server

Trong trình hướng dẫn Tạo Nguồn Dữ liệu Mới cho SQL Server, hãy thực hiện như sau:

  1. Trên trang một, nhập thông tin định danh:
    • Trong hộp Mô tả, tùy ý nhập thông tin tài liệu về tệp DSN.
    • Trong hộp Máy chủ, nhập tên Cơ sở dữ liệu Azure SQL Server. Ví dụ: nhập "myAzureDB.database.windows.net". Không bấm vào mũi tên xuống.
  2. Ở trang hai, hãy chọn một trong các phương thức xác thực sau:
    • Với xác thực Windows Tích hợp Kết nối thông qua tài khoản người dùng Windows. Nhập tùy ý một Tên Chính của Dịch vụ (SPN). Để biết thêm thông tin, xem mục Tên Chính của Dịch vụ (SPN) trong Kết nối Máy khách (ODBC).
    • Với xác thực SQL Server… Kết nối với thông tin xác thực đã được thiết lập trong cơ sở dữ liệu bằng cách nhập ID đăng nhập và mật khẩu.
    • Với xác thực Tích hợp của Active Directory Kết nối với Cơ sở dữ liệu Azure SQL Server bằng Azure Active Directory. Khi bạn đã đặt cấu hình cho xác thực Azure Active Directory, bạn không cần phải đăng nhập và nhập mật khẩu nữa. Để biết thêm thông tin, xem mục Kết nối với Cơ sở dữ liệu SQL bằng cách Sử dụng Xác thực Azure Active Directory.
    • Với xác thực Mật khẩu Active Directory… Kết nối với thông tin xác thực đã được thiết lập trong Azure Active Directory bằng cách nhập tên đăng nhập và mật khẩu. Để biết thêm thông tin, xem mục Kết nối với Cơ sở dữ liệu SQL bằng cách Sử dụng Xác thực Azure Active Directory.
  3. Ở trang ba và bốn, chọn các tùy chọn khác nhau để tùy chỉnh kết nối của bạn. Để biết thêm thông tin về những tùy chọn này, xem mục Microsoft ODBC Driver cho SQL Server.
  4. Một màn hình xuất hiện để xác nhận cài đặt của bạn. Chọn Kiểm tra Nguồn Dữ liệu để xác nhận kết nối của bạn.
  5. Bạn có thể cần phải đăng nhập vào cơ sở dữ liệu. Trong hộp thoại Đăng nhập SQL Server , hãy nhập ID đăng nhập và mật khẩu. Để thay đổi các cài đặt bổ sung, chọn Tùy chọn.

Giai đoạn 4: chọn bảng và dạng xem để liên kết đến hoặc nhập

  1. Trong hộp thoại Liên kết Bảng hoặc Nhập Đối tượng, bên dưới Bảng, chọn từng bảng hay dạng xem bạn muốn liên kết hoặc nhập, rồi bấm vào OK.
    Hướng dẫn kết nối odbc từ sql sang visual studio năm 2024
  2. Trong một hoạt động liên kết, quyết định xem có chọn Lưu Mật khẩu hay không. Bảo mật Việc chọn tùy chọn này sẽ giúp bạn không cần phải nhập thông tin xác thực mỗi lần bạn mở Access và truy nhập dữ liệu. Tuy nhiên, hoạt động này sẽ lưu trữ mật khẩu chưa mã hóa trong cơ sở dữ liệu Access, nghĩa là những người có thể truy nhập vào nội dung nguồn đều có thể xem tên người dùng và mật khẩu. Nếu bạn chọn tùy chọn này, chúng tôi khuyên bạn nên lưu trữ cơ sở dữ liệu Access ở một vị trí đáng tin cậy và tạo mật khẩu cơ sở dữ liệu Access. Để biết thêm thông tin, xem mục Quyết định có tin cậy một cơ sở dữ liệu hay không và Mã hóa cơ sở dữ liệu bằng cách sử dụng mật khẩu cơ sở dữ liệu. Ghi chú Nếu bạn quyết định không lưu mật khẩu, nhưng sau đó đổi ý của bạn, bạn cần xóa bỏ và tạo lại bảng đã nối kết, rồi chọn lưu mật khẩu.

Giai đoạn 5: Tạo đặc tả và tác vụ (chỉ Nhập)

  • Trong hộp thoại Lấy Dữ liệu Ngoài - Cơ sở dữ liệu ODBC, bạn có thể thường xuyên lưu các bước nhập dưới dạng đặc tả và tạo một tác vụ Outlook để tự động hóa hoạt động nhập. Để biết thêm thông tin, xem mục Lưu chi tiết về hoạt động nhập hoặc xuất dưới dạng đặc tả.

Kết quả

Khi hoạt động liên kết hoặc nhập hoàn tất, bảng sẽ xuất hiện trong Ngăn Dẫn hướng kèm theo tên tương tự như bảng hoặc dạng xem SQL Server kết hợp với tên chủ sở hữu. Ví dụ: nếu tên SQL là dbo.Product, tên Access sẽ là dbo_Product. Nếu tên đó đã được sử dụng, Access sẽ gắn thêm "1" vào tên bảng mới — ví dụ: dbo_Product1. Nếu dbo_Product1 cũng đã được sử dụng, Access sẽ tạo dbo_Product2, v.v.. Tuy nhiên, bạn vẫn có thể đổi tên cho bảng thành một cái tên có ý nghĩa hơn.

Trong một hoạt động nhập, Access sẽ không bao giờ ghi đè bảng trong cơ sở dữ liệu. Mặc dù bạn không thể trực tiếp gắn thêm dữ liệu SQL Server cho bảng hiện có nhưng bạn vẫn có thể tạo truy vấn chắp thêm để gắn thêm dữ liệu sau khi đã nhập dữ liệu từ các bảng tương tự.

Trong một hoạt động liên kết, nếu các cột đang ở chế độ chỉ đọc trong bảng Azure SQL Server, chúng cũng sẽ ở chế độ chỉ đọc trong Access.

Mẹo Để xem chuỗi kết nối, hãy di chuột qua bảng trong ngăn dẫn hướng Access.

Cập nhật thiết kế bảng được liên kết

Bạn không thể thêm, xóa hoặc sửa đổi cột hay thay đổi kiểu dữ liệu trong bảng được liên kết. Nếu bạn muốn thực hiện thay đổi thiết kế, hãy thực hiện hoạt động này trong cơ sở dữ liệu Azure SQL Server. Để xem thay đổi thiết kế trong Access, hãy cập nhật các bảng được liên kết:

  1. Chọn Dữ liệu Ngoài > Trình quản lý Bảng được Liên kết.
  2. Tìm kiếm từng bảng được liên kết mà bạn muốn cập nhật, chọn OK, rồi chọn Đóng.

So sánh các kiểu dữ liệu

Các kiểu dữ liệu Access sẽ được đặt tên khác nhau từ các kiểu dữ liệu của azure SQL Server. Ví dụ: một cột Azure SQL Server chứa kiểu dữ liệu bit được nhập hoặc liên kết vào Access với kiểu dữ liệu Có/Không. Để biết thêm thông tin, hãy xem so sánh các kiểu dữ liệu Access và SQL Server.