Kết nối Access tới máy chủ SQL

Kết nối Access tới máy chủ SQL

Nhớ lại những ngày thanh bình thời thơ ấu khi món mì Ý có những sợi mì hình chữ cái là bữa ăn vui nhộn của bạn. Hãy giữ những suy nghĩ vui vẻ đó sau khi chúng tôi nếm vài phiên bản cơ sở dữ liệu của món mì Ý chữ cái này. Những nội dung dưới đây giải thích rõ các thông tin cơ bản để truy nhập cơ sở dữ liệu bằng các chuỗi kết nối và sử dụng giao diện lập trình cơ sở dữ liệu trong mã Access VBA của bạn.

Các cấu phần truy nhập dữ liệu

Trong bài viết này

Sử dụng trình điều khiển ODBC hoặc trình cung cấp OLE DB

Giao diện theo chương trình sang SQL Server từ Access

Tóm tắt các phiên bản trình điều khiển ODBC

Tổng hợp các phiên bản của trình cung cấp OLE DB

Tổng hợp từ khóa ODBC

Tóm tắt từ khóa ODBC

Sử dụng trình điều khiển ODBC hoặc trình cung cấp OLE DB

Chuỗi kết nối đã có một khoảng thời gian dài. Bạn có thể xác định một chuỗi kết nối đã định dạng trong giao diện người dùng Access hoặc trong mã VBA. Chuỗi kết nối (có thể là ODBC hoặc DB OLE) truyền thông tin trực tiếp đến cơ sở dữ liệu, chẳng hạn như vị trí máy chủ, tên cơ sở dữ liệu, loại bảo mật và các tùy chọn hữu ích khác. Ví dụ:

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

Trước tiên, đã có SQL Server Native Client (SNAC). Đây là một thư viện độc lập có công nghệ ODBC và OLEDB và vẫn dùng được cho SQL Server phiên bản 2005 đến 2012. Nhiều ứng dụng lỗi thừa sử dụng SNAC và nó vẫn được hỗ trợ để tương thích ngược nhưng chúng tôi không khuyên bạn sử dụng tính năng này để phát triển ứng dụng mới. Bạn nên sử dụng các phiên bản có thể tải xuống sau và riêng biệt của trình điều khiển ODBC.

Trình điều khiển ODBC

Kết nối Cơ sở Dữ liệu Mở (ODBC) là một giao thức mà bạn sử dụng để kết nối cơ sở dữ liệu Access với nguồn dữ liệu ngoài, chẳng hạn như Microsoft SQL Server. Thông thường, bạn sử dụng nguồn dữ liệu tệp (còn gọi là tệp DSN) để thêm một chuỗi kết nối, trong trường hợp này, từ khóa FILEDSN được dùng trên chuỗi kết nối hoặc được lưu trữ trong sổ đăng ký và dùng từ khóa DSN. Ngoài ra, bạn có thể sử dụng VBA để đặt các thuộc tính này bằng cách sử dụng chuỗi kết nối "không chứa DSN".

Trong những năm qua, trình điều khiển ODBC đã trải qua ba giai đoạn:

  • Trước năm 2005, trình điều khiển ODBC đi kèm với các Cấu phần Truy nhập Dữ liệu của Windows (WDAC), với tên gọi ban đầu là các Cấu phần Truy nhập Dữ liệu của Microsoft (MDAC). Các cấu phần này vẫn đi kèm với Windows để đảm bảo tính tương thích ngược. Để biết thêm thông tin, vui lòng xem mục các Cấu phần Truy nhập Dữ liệu của Microsoft hoặc Windows.

  • Trình điều khiển ODBC đi kèm với SNAC dành cho SQL Server 2005 đến SQL Server 2012.

  • Sau SQL Server 2012, trình điều khiển ODBC đã được tách riêng và có hỗ trợ các tính năng mới của SQL Server.

Khi phát triển ứng dụng mới, tránh sử dụng các trình điều khiển ODBC từ hai giai đoạn đầu tiên và sử dụng các trình điều khiển ODBC từ giai đoạn thứ ba.

Trình cung cấp OLE DB

Nối kết và Nhúng Đối tượng, Cơ sở Dữ liệu (ODBC) là một giao thức mới hơn mà bạn sử dụng để kết nối cơ sở dữ liệu Access với nguồn dữ liệu ngoài, chẳng hạn như Microsoft SQL Server. OLE DB không yêu cầu DSN và cũng cấp quyền truy nhập đầy đủ vào nguồn dữ liệu ODBC và trình điều khiển ODBC.

Mẹo    Thông thường, bạn sử dụng hôp thoại Thuộc tính liên kết dữ liệu để thêm một chuỗi kết nối OLE DB. Mặc dù không thể mở hộp thoại Thuộc tính liên kết dữ liệu từ Access, nhưng trong Windows Explorer, bạn có thể tạo một tệp trống .txt, thay đổi loại tệp thành .udl, rồi bấm đúp vào tệp. Sau khi tạo một chuỗi kết nối, thay đổi loại tệp lại thành .txt.

Trong những năm qua, trình cung cấp OLE DB đã trải qua ba giai đoạn:

  • Trước năm 2005, trình cung cấp OLE DB đi kèm với các Cấu phần Truy nhập Dữ liệu của Windows (WDAC), với tên gọi ban đầu là các Cấu phần Truy nhập Dữ liệu của Microsoft (MDAC).

  • Trình cung cấp OLE DB đi kèm với SQL Server 2005 đến SQL Server 2017. Trình cung cấp này đã ngừng phát triển trong năm 2011.

  • Trong năm 2017, trình cung cấp SQL Server OLE DB được phát triển trở lại.

Phiên bản hiện đang được khuyên dùng để phát triển giải pháp mới là trình điều khiển OLE DB 18 cho SQL Server.

Cách tối ưu hóa hiệu suất với một chuỗi kết nối ODBC

Để tối ưu hóa hiệu suất, giảm thiểu lưu lượng mạng và giảm quyền truy nhập nhiều người dùng vào cơ sở dữ liệu SQL Server, hãy sử dụng càng ít chuỗi kết nối càng tốt bằng cách chia sẻ chuỗi kết nối qua nhiều tập dữ liệu. Mặc dù chỉ kiểm duyệt một chuỗi kết nối đến máy chủ, Ace sẽ hiểu và sử dụng các từ khóa sau: DSN, CƠ SỞ DỮ LIỆU, UID, PWD và TRÌNH ĐIỀU KHIỂN để trợ giúp giảm thiểu giao tiếp máy khách/máy chủ.

Lưu ý    Nếu bị mất kết nối ODBC đến một nguồn dữ liệu bên ngoài, Access sẽ tự động tìm cách kết nối lại với nguồn dữ liệu đó. Nếu lần thử lại thành công, bạn có thể tiếp tục làm việc. Nếu lần thử lại không thành công, bạn vẫn có thể làm việc với các đối tượng không phụ thuộc vào kết nối. Để kết nối lại, hãy đóng và mở lại Access.

Lời khuyên khi sử dụng cả ODBC và OLE DB

Tránh pha trộn các công nghệ chuỗi kết nối và truy nhập cơ sở dữ liệu. Sử dụng một chuỗi kết nối ODBC cho DAO. Sử dụng một chuỗi kết nối OLE DB cho DAO. Nếu ứng dụng của bạn chứa mã VBA sử dụng cả DAO và ADO, sau đó sử dụng trình điều khiển ODBC cho DAO và trình cung cấp OLE DB cho ADO. Cố gắng sử dụng những sự hỗ trợ và tính năng mới nhất cho cả ODBC và OLEDB.

ODBC sử dụng trình điều khiển thuật ngữ và OLE DB sử dụng trình cung cấp thuật ngữ. Các thuật ngữ mô tả cùng một loại cấu phần phần mềm nhưng không thể thay đổi cho nhau trong cú pháp chuỗi kết nối. Sử dụng giá trị chính xác đã lưu giữ.

Đầu Trang

Giao diện theo chương trình sang SQL Server từ Access

Có hai cách chính để giao diện theo chương trình sang cơ sở dữ liệu SQL Server từ Access.

DAO

Đối tượng truy nhập dữ liệu (DAO) cung cấp giao diện trừu tượng cho cơ sở dữ liệu. Đối tượng truy nhập dữ liệu của Microsoft (DAO) là mô hình đối tượng lập trình gốc cho phép bạn truy nhập trung tâm Access và SQL Server để tạo, xóa, sửa đổi và lên danh sách đối tượng, bảng, trường, chỉ mục, mối quan hệ, truy vấn, thuộc tính và cơ sở dữ liệu bên ngoài.

Để biết thêm thông tin, vui lòng xem mục tham khảo Microsoft Data Access Objects.

ADO

Đối tượng dữ liệu ActiveX (ADO) cung cấp một mô hình lập trình cấp cao và có sẵn trong Access bằng một tham chiếu đến thư viện của bên thứ ba. Học cách sử dụng ADO rất đơn giản. ADO cho phép các ứng dụng máy khách truy nhập và thao tác dữ liệu từ nhiều nguồn khác nhau, bao gồm Access và SQL Server. Lợi ích chính của ADO là dễ sử dụng, tốc độ cao, chi phí quản lý bộ nhớ thấp, cũng như diện tích ổ đĩa nhỏ. ADO còn hỗ trợ những tính năng chính cho các ứng dụng thiết kế và trên nền web.

Để biết thêm thông tin, vui lòng xem mục tham khảo Microsoft Data Access ObjectsĐối tượng dữ liệu ActiveX (ADO).

Bạn nên dùng trang nào?

Trong giải pháp Access dùng mã VBA, bạn có thể sử dụng DAO, ADO hoặc cả hai làm công nghệ giao diện cơ sở dữ liệu của bạn. DAO tiếp tục là công nghệ giao diện cơ sở dữ liệu mặc định trong Access. Ví dụ: Tất cả các biểu mẫu, báo cáo và truy vấn Access sử dụng DAO. Nhưng khi di chuyển sang SQL Server, hãy cân nhắc đến việc sử dụng ADO để tăng tính hiệu quả cho giải pháp của bạn. Đây là các hướng dẫn chung để giúp bạn quyết định khi nào sử dụng DAO hoặc ADO.

Sử dụng DAO khi bạn muốn:

  • Tạo biểu mẫu đọc/viết, liên kết mà không cần sử dụng VBA.

  • Các bảng cục bộ truy vấn.

  • Tải dữ liệu xuống bảng tạm thời.

  • Sử dụng truy vấn chuyển qua làm nguồn dữ liệu cho các báo cáo hoặc biểu mẫu trong chế độ chỉ đọc.

  • Xác định và sử dụng đối tượng TableDef hoặc Querydef trong VBA.

Sử dụng ADO khi bạn muốn:

  • Tận dụng thêm các cách thức tối ưu hóa, chẳng hạn như thực hiện các thao tác không đồng bộ.

  • Chạy các truy vấn chuyển qua DDL và DML.

  • Truy nhập dữ liệu SQL Server trực tiếp thông qua recordsets trong VBA.

  • Viết mã đơn giản hơn cho một số tác vụ nhất định, chẳng hạn như truyền các đối tượng lớn dưới dạng nhị phân.

  • Gọi trực tiếp một thủ tục lưu sẵn bằng các tham số, sử dụng đối tượng lệnh trong VBA.

Đầu Trang

Tóm tắt các phiên bản trình điều khiển ODBC

Bảng sau đây tổng hợp thông tin quan trọng về các phiên bản trình điều khiển ODBC, vị trí tải xuống và hỗ trợ tính năng. Hãy đảm bảo rằng bạn sử dụng phiên bản bit chính xác (64 bit hoặc 32 bit) của trình điều khiển theo Windows chứ không phải theo Office. Nếu bạn đang chạy Access 32 bit trên Windows 64 bit, hãy cài đặt trình điều khiển phiên bản 64 bit, bao gồm các cấu phần của phiên bản 32 bit cần cho Access.

Để biết thêm thông tin, vui lòng xem mục Sử dụng Từ khóa Chuỗi kết nối với SQL Server Native Client, Ghi chú Phát hành của ODBC cho SQL Server trên Windows (Phiên bản 17)Các tính năng của Microsoft ODBC Driver cho SQL Server trên Windows (Phiên bản 13, 11).

Trình điều khiển ODBC

Phiên bản

Tải xuống

Tính năng mới

Trình điều khiển ODBC phiên bản 17.0 đến 17.3

SQL Server 2017

Tải xuống

Trình điều khiển ODBC 17.3

Sử dụng Azure Active Directory với trình điều khiển ODBC

Các hạn chế của trình điều khiển ODBC khi sử dụng tính năng Luôn được mã hóa

Sử dụng các giao dịch XA

Trình điều khiển ODBC 17.2

Sử dụng tính năng Luôn được mã hóa với trình điều khiển ODBC cho SQL Server

Phân loại Dữ liệu

Đối chiếu mã hóa máy chủ UTF-8 và Hỗ trợ Unicode

Trình điều khiển ODBC 17.1

Sử dụng tính năng Luôn được mã hóa với trình điều khiển ODBC cho SQL Server

Trình điều khiển ODBC 17.0

Luôn được mã hóa

UseFMTONLY    Để sử dụng siêu dữ liệu thừa tự trong trường hợp đặc biệt yêu cầu bảng tạm thời. Xem Ghi chú Phát hành của ODBC cho SQL Server trên Windows

Những khác biệt khi sử dụng Phiên bản được quản lý (ODBC phiên bản 17)

Trình điều khiển ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Tải xuống

Luôn được mã hóa

Azure Active Directory

Nhóm tính sẵn sàng của AlwaysOn

Hợp nhóm Kết nối theo lệnh của Trình điều khiển trong trình điều khiển ODBC cho SQL Server

Trình điều khiển ODBC 13.0

SQL Server 2016

Tải xuống

Tên miền quốc tế hóa (IDN)

Trình điều khiển ODBC 11.0

SQL Server phiên bản 2005 đến 2012

Tải xuống

Hợp nhóm Kết nối theo lệnh của Trình điều khiển

Phục hồi kết nối trong Windows ODBC Driver

Thực thi không đồng bộ

Tên Chính của Dịch vụ (SPN) trong Kết nối Máy khách (ODBC)

Các tính năng của Microsoft ODBC Driver cho SQL Server trên Windows

Đầu Trang

Tổng hợp các phiên bản của trình cung cấp OLE DB

Bảng sau đây tổng hợp thông tin quan trọng về các phiên bản trình điều khiển OLE DB, vị trí tải xuống và hỗ trợ tính năng. Hãy đảm bảo rằng bạn sử dụng phiên bản bit chính xác (64 bit hoặc 32 bit) của trình điều khiển theo Windows chứ không phải theo Office. Nếu bạn đang chạy Access 32 bit trên Windows 64 bit, hãy cài đặt trình điều khiển phiên bản 64 bit, bao gồm các cấu phần của phiên bản 32 bit cần cho Access.

Để biết thêm thông tin, vui lòng xem mục Sử dụng Từ khóa Chuỗi kết nối với SQL Server Native Client.

Trình cung cấp OLE DB

Phiên bản

Tải xuống

Tính năng mới

Trình điều khiển OLE DB 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Tải xuống

Xem tính năng của trình điều khiển OLE DB cho SQL ServerGhi chú Phát hành của trình điều khiển Microsoft OLE DB cho SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server phiên bản 2005 đến 2012

Đã ngừng phát triển, không sử dụng

Trình điều khiển OLE DB (SQLOLEDB)

Đã ngừng phát triển, không sử dụng

Đầu Trang

Tổng hợp từ khóa ODBC

Bảng sau đây tổng hợp các từ khóa ODBC được SQL Server nhận ra và mục đích của những từ khóa này. Access chỉ nhận ra một tập hợp con.

Từ khóa

Mô tả

Địa chỉ

Địa chỉ mạng của máy chủ đang chạy một phiên bản SQL Server.

AnsiNPW

Chỉ định việc sử dụng các hành vi được ANSI xác định để xử lý các so sánh NULL, chèn dữ liệu ký tự, cảnh báo và ghép NULL (Có hoặc Không).

ỨNG DỤNG

Tên của ứng dụng gọi SQLDriverConnect.

ApplicationIntent

Quyết định loại khối lượng công việc ứng dụng khi kết nối với một máy chủ (ReadOnly hoặc ReadWrite).

AttachDBFileName

Tên tệp chính của một cơ sở dữ liệu có thể kết nối.

AutoTranslate

Chỉ định liệu chuỗi ký tự ANSI có được gửi giữa máy khách hoặc máy chủ hoặc có được dịch sang Unicode hay không (Có hoặc Không).

Cơ sở dữ liệu

Tên cơ sở dữ liệu. Mô tả Mục đích kết nối. Trình điều khiển Tên của trình điều khiển khi được SQLDrivers trả về.

DSN

Tên của một người dùng ODBC hoặc nguồn dữ liệu hệ thống hiện tại. Mã hóa Chỉ định liệu có nên mã hóa dữ liệu trước khi gửi qua mạng hay không (Có hoặc Không).

Failover_Partner

Dùng tên của máy chủ đối tác chuyển đổi nếu không thể kết nối với máy chủ chính.

FailoverPartnerSPN

SPN cho đối tác chuyển đổi.

Fallback

Từ khóa không còn sử dụng.

FileDSN

Tên của một nguồn dữ liệu tệp ODBC hiện tại. Ngôn ngữ Ngôn ngữ SQL Server.

MARS_Connection

Chỉ định nhiều bộ kết quả hiện hoạt (MARS) trên kết nối cho SQL Server 2005 (9. x) hoặc đời cao hơn (Có hoặc Không).

MultiSubnetFailover

Chỉ định liệu kết nối với người nghe nhóm dự phòng của nhóm dự phòng SQL Server hay phiên bản cụm chuyển đổi (Có hoặc Không).

Net

dbnmpntw biểu thị ống dữ liệu đã được đặt tên và dbmssocn biểu thị TCP/IP.

PWD

Mật khẩu đăng nhập SQL Server.

QueryLog_On

Chỉ định nhật ký truy vấn trong thời gian dài (Có hoặc Không).

QueryLogFile

Đường dẫn và tên tệp đầy đủ của tệp dùng để ghi nhật ký dữ liệu truy vấn trong thời gian dài.

QueryLogTime

Chuỗi ký tự dạng chữ số chỉ định ngưỡng (theo phần nghìn giây) để ghi lại các truy vấn trong thời gian dài.

QuotedId

Chỉ định liệu SQL Server sử dụng các quy tắc ISO liên quan đến việc sử dụng dấu ngoặc kép trong câu lệnh SQL hay không (Có hoặc Không).

Regional

Chỉ định trình điều khiển ODBC cho SQL Server Native Client có sử dụng thiết đặt máy khách khi chuyển đổi dữ liệu tiền tệ, ngày tháng hoặc thời gian sang dữ liệu ký tự hay không (Có hoặc Không).

SaveFile

Tên của tệp nguồn dữ liệu ODBC lưu các thuộc tính của kết nối hiện tại nếu kết nối thành công.

Máy chủ

Tên của một phiên bản SQL Server: Máy chủ trên mạng, địa chỉ IP hoặc biệt danh Trình quản lý Cấu hình.

ServerSPN

SPN cho máy chủ.

StatsLog_On

Cho phép chụp dữ liệu hiệu suất của trình điều khiển ODBC cho SQL Server Native Client.

StatsLogFile

Đường dẫn và tên tệp đầy đủ của một tệp dùng để ghi lại số liệu thống kê hiệu suất của trình điều khiển ODBC cho SQL Server Native Client.

Trusted_Connection

Chỉ định có sử dụng chế độ xác thực Windows hay tên người dùng hoặc mật khẩu SQL Server để xác thực đăng nhập hay không (Có hoặc Không).

TrustServerCertificate

Khi dùng với tính năng Mã hóa, cho phép mã hóa bằng cách sử dụng chứng chỉ máy chủ tự ký.

UID

Tên đăng nhập SQL Server.

UseProcForPrepare

Từ khóa không còn sử dụng.

WSID

Mã định danh máy trạm, tên mạng máy tính sẽ đặt ứng dụng trên đó.

Đầu Trang

Tóm tắt từ khóa ODBC

Bảng sau đây tổng hợp các từ khóa OLE DB được SQL Server nhận ra và mục đích của những từ khóa này. Access chỉ nhận ra một tập hợp con.

Từ khóa

Mô tả

Địa chỉ

Địa chỉ mạng của máy chủ đang chạy một phiên bản SQL Server.

ỨNG DỤNG

Chuỗi định danh ứng dụng.

ApplicationIntent

Quyết định loại khối lượng công việc ứng dụng khi kết nối với một máy chủ (ReadOnly hoặc ReadWrite).

AttachDBFileName

Tên tệp chính của một cơ sở dữ liệu có thể kết nối.

AutoTranslate

Đặt cấu hình dịch ký tự OEM/ANSI (True hoặc False).

Thời gian chờ kết nối

Khoảng thời gian (tính bằng giây) phải chờ để hoàn tất quá trình khởi tạo nguồn dữ liệu.

Ngôn ngữ hiện tại

Tên ngôn ngữ SQL Server.

Nguồn dữ liệu

Tên phiên bản SQL Server trong tổ chức.

Cơ sở dữ liệu

Tên cơ sở dữ liệu.

DataTypeCompatibility

Con số định dạnh chế độ xử lý kiểu dữ liệu sẽ dùng.

Mã hóa

Chỉ định liệu có nên mã hóa dữ liệu trước khi gửi qua mạng hay không (Có hoặc Không).

FailoverPartner

Tên của máy chủ chuyển đổi dùng để phản chiếu cơ sở dữ liệu.

FailoverPartnerSPN

SPN cho đối tác chuyển đổi.

Danh mục ban đầu

Tên cơ sở dữ liệu.

Tên tệp ban đầu

Tên tệp chính (bao gồm toàn bộ tên đường dẫn) của một cơ sở dữ liệu có thể kết nối.

Bảo mật tích hợp

Dùng để xác thực Windows (SSPI).

Ngôn ngữ

Ngôn ngữ SQL Server.

MarsConn

Chỉ định nhiều bộ kết quả hiện hoạt (MARS) trên kết nối cho SQL Server 2005 (9. x) hoặc đời cao hơn (Có hoặc Không).

Net

Thư viện mạng dùng để thiết lập kết nối đến phiên bản SQL Server trong tổ chức.

Địa chỉ mạng

Địa chỉ mạng của phiên bản SQL Server trong tổ chức.

PacketSize

Dung lượng gói mạng. Mặc định là 4096.

Duy trì thông tin bảo mật

Chỉ định có tiếp tục bật chức năng bảo mật hay không (True hoặc False).

PersistSensitive

Chỉ định có tiếp tục bật chức năng PersistSensitive hay không (True hoặc False).

Trình cung cấp

Đối với SQL Server Native Client, trình cung cấp nên là SQLNCLI11.

PWD

Mật khẩu đăng nhập SQL Server.

Máy chủ

Tên của một phiên bản SQL Server: Máy chủ trên mạng, địa chỉ IP hoặc biệt danh Trình quản lý Cấu hình.

ServerSPN

SPN cho máy chủ.

Thời gian chờ

Khoảng thời gian (tính bằng giây) phải chờ để hoàn tất quá trình khởi tạo nguồn dữ liệu.

Trusted_Connection

Chỉ định có sử dụng chế độ xác thực Windows hay tên người dùng hoặc mật khẩu SQL Server để xác thực đăng nhập hay không (Có hoặc Không).

TrustServerCertificate

Chỉ định có xác thực chứng chỉ máy chủ hay không (True hoặc False).

UID

Tên đăng nhập SQL Server.

Sử dụng mã hóa cho dữ liệu

Chỉ định có Chỉ định liệu có nên mã hóa dữ liệu trước khi gửi qua mạng hay không (True hoặc False).

UseProcForPrepare

Từ khóa không còn sử dụng.

WSID

Mã định danh máy trạm, tên mạng máy tính sẽ đặt ứng dụng trên đó.

Đầu Trang

Xem Thêm

Quản trị nguồn dữ liệu ODBC

Quản lý bảng đã liên kết

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×