Không thể nhập tệp Excel vào SQL Server

Trong bài viết này, tôi sẽ giải thích cho bạn cách nhập dữ liệu trang tính Excel vào bảng cơ sở dữ liệu máy chủ SQL với các ví dụ. Ở đây chúng tôi sẽ sử dụng SQL Server 2019 hoặc bạn có thể sử dụng SQL Server 2008 trở lên. Trong dự án hiện tại của tôi, tôi đang sử dụng khái niệm này để di chuyển dữ liệu

Show

Khái niệm này được sử dụng để truyền dữ liệu từ nguồn (Excel sheet) đến đích (SQL Server). Chúng tôi có thể nhập một lượng lớn dữ liệu excel vào cơ sở dữ liệu SQL mà không cần sử dụng bất kỳ mã hóa nào

Có hai cách để nhập dữ liệu từ excel vào cơ sở dữ liệu SQL Server. Đầu tiên, nếu bạn muốn nhập tất cả dữ liệu tệp excel có tên tiêu đề vào một bảng mới. Thứ hai, nếu bạn muốn nối thêm dữ liệu excel vào dữ liệu bảng hiện có mà không có tên tiêu đề

điều kiện tiên quyết

SQL Server 2019 hoặc bạn có thể sử dụng phiên bản SQL server 2008 trở lên

Đọc các bài viết trước của tôi, sử dụng các liên kết dưới đây,

Nhập tất cả dữ liệu Excel với tên tiêu đề trong một bảng mới

Bước 1

Ở đây, tôi đã tạo một dữ liệu Excel mẫu chứa dữ liệu chi tiết nhân viên với sáu cột.  

How To Import Excel Data Into SQL Server 2019

Bước 2

Kết nối với SQL Server Management Studio 2019 (SSMS) và tạo cơ sở dữ liệu

Mở Máy chủ SQL của bạn và sử dụng tập lệnh sau để tạo Cơ sở dữ liệu “chittadb”

Create database chittadb

How To Import Excel Data Into SQL Server 2019

Bây giờ, chọn truy vấn tập lệnh, sau đó nhấn F5 hoặc nhấp vào nút Thực thi để thực thi tập lệnh trên

Bạn sẽ thấy một thông báo, “(Các) lệnh đã hoàn tất thành công. ” Có nghĩa là cơ sở dữ liệu mới của bạn được tạo

How To Import Excel Data Into SQL Server 2019

Cơ sở dữ liệu “Chittadb” được tạo

How To Import Excel Data Into SQL Server 2019

Bước 3

Mở rộng cơ sở dữ liệu nơi bạn muốn nhập dữ liệu. Ở đây tôi muốn nhập dữ liệu vào cơ sở dữ liệu “Chittadb”. Cơ sở dữ liệu hiện không có bảng

How To Import Excel Data Into SQL Server 2019

Nhấp chuột phải vào cơ sở dữ liệu đích của bạn -> Chọn Tác vụ -> Nhập dữ liệu

How To Import Excel Data Into SQL Server 2019

Bước 4

Trình hướng dẫn nhập bật lên sẽ mở "Chào mừng bạn đến với Trình hướng dẫn nhập và xuất SQL Server” và nhấp vào Tiếp theo

How To Import Excel Data Into SQL Server 2019

Bước 5

  • Bây giờ, chọn Microsoft Excel làm nguồn dữ liệu của bạn từ danh sách thả xuống
  • Bấm nút 'Duyệt' để chọn đường dẫn đến tệp dữ liệu Excel muốn nhập
  • Chọn phiên bản của file excel (2007-2010). Thường là tốt cho các tập tin với một. XLS hoặc sử dụng các tệp mới hơn có phần mở rộng. mở rộng XLSX)
  • Đánh dấu vào hộp kiểm 'Hàng đầu tiên có tên cột', nếu tệp excel của bạn chứa các tiêu đề
  • Bấm tiếp

How To Import Excel Data Into SQL Server 2019

Bước 6

Trên màn hình ‘Choose a Destination’, chọn cơ sở dữ liệu đích” SQL Server Native Client 11. 0” từ danh sách thả xuống, chọn cơ sở dữ liệu “chittadb”, bạn cũng có thể sử dụng Xác thực Windows hoặc Sử dụng Xác thực máy chủ SQL;

How To Import Excel Data Into SQL Server 2019

Bước 7

Chọn nút Radio “Sao chép dữ liệu từ một hoặc nhiều bảng hoặc dạng xem”

Bước này sẽ sao chép dữ liệu từ nguồn dữ liệu, nhấp vào tiếp theo và tiếp tục

How To Import Excel Data Into SQL Server 2019

Bước 8

Chúng ta có thể chỉ định tên bảng trong trình hướng dẫn sau. Vì vậy, hãy thay đổi tên phần đích "[dbo]. [Sheet1$]" là "[dbo]. [Tbl_Employee]" và nhấp vào Tiếp theo

How To Import Excel Data Into SQL Server 2019

How To Import Excel Data Into SQL Server 2019

Nếu bạn muốn xem trước dữ liệu của mình, hãy nhấp vào nút xem trước

How To Import Excel Data Into SQL Server 2019

Bước 9

Lưu và chạy gói. Kiểm tra Chạy ngay lập tức từ hộp kiểm và Nhấp vào nút Tiếp theo hoặc Kết thúc, bạn có thể nhận được trang Hoàn thành Trình hướng dẫn

How To Import Excel Data Into SQL Server 2019

Bước 10

bấm kết thúc

How To Import Excel Data Into SQL Server 2019

Bước 11

Việc thực hiện đã thành công và nhấp vào nút Đóng

How To Import Excel Data Into SQL Server 2019

Bước 12

Bây giờ, hãy kiểm tra cơ sở dữ liệu “Chittadb” và xác minh

Đầu ra sau chứa Id, EmpId, Tên, Vị trí, Giới tính và Chỉ định làm tên cột và bảng “Tbl_Employee” cũng được tạo trong cơ sở dữ liệu “Chittadb”. Bây giờ tất cả dữ liệu excel được nhập vào bảng “Tbl_Employee”

How To Import Excel Data Into SQL Server 2019

Phần kết luận

Trong bài viết này, chúng ta đã học cách Nhập dữ liệu Excel vào SQL Server 2019. Đăng phản hồi có giá trị của bạn trong phần bình luận. Tôi hy vọng bài viết này sẽ hữu ích

Bài viết này mô tả các phương pháp nhập dữ liệu từ Excel sang SQL Server hoặc Cơ sở dữ liệu Azure SQL. Một số sử dụng một bước duy nhất, một số khác yêu cầu tệp văn bản trung gian

rwestMSFT

randolphwest

12/12/2021

sql

di chuyển dữ liệu

khái niệm

sqlfreshmay19

FY22Q2Tươi

=azuresqldb-current. >=sql-server-2016. >=sql-server-linux-2017. =azuresqldb-mi-current

Nhập dữ liệu từ Excel sang SQL Server hoặc Azure SQL Database

[. BAO GỒM Cơ sở dữ liệu SQL Server Azure SQL]

Có một số cách để nhập dữ liệu từ tệp Excel sang SQL Server hoặc Azure SQL Database. Một số phương pháp cho phép bạn nhập dữ liệu trong một bước trực tiếp từ tệp Excel;

Bài viết này tóm tắt các phương pháp thường được sử dụng và cung cấp các liên kết để biết thêm thông tin chi tiết. Mô tả đầy đủ về các công cụ và dịch vụ phức tạp như SSIS hoặc Azure Data Factory nằm ngoài phạm vi của bài viết này. Để tìm hiểu thêm về giải pháp mà bạn quan tâm, hãy theo các liên kết được cung cấp

Danh sách các phương pháp

Có một số phương pháp để nhập dữ liệu từ Excel. Bạn có thể cần cài đặt SQL Server Management Studio (SSMS) để sử dụng một số công cụ này

Bạn có thể sử dụng các công cụ sau để nhập dữ liệu từ Excel

Xuất thành văn bản trước (SQL Server và Cơ sở dữ liệu SQL)Trực tiếp từ hàm câu lệnh Excel (chỉ dành cho SQL Server tại chỗ)

Nếu bạn muốn nhập nhiều trang tính từ sổ làm việc Excel, bạn thường phải chạy bất kỳ công cụ nào trong số này một lần cho mỗi trang tính

[. QUAN TRỌNG] Để tìm hiểu thêm, hãy xem đến hoặc từ các tệp Excel

Trình hướng dẫn nhập và xuất

Nhập dữ liệu trực tiếp từ các tệp Excel bằng cách sử dụng Trình hướng dẫn Nhập và Xuất SQL Server. Bạn cũng có tùy chọn lưu cài đặt dưới dạng gói Dịch vụ tích hợp máy chủ SQL (SSIS) mà bạn có thể tùy chỉnh và sử dụng lại sau này

  1. Trong [. INCLUDEssManStudioFull], hãy kết nối với phiên bản của [. BAO GỒMKhông có Phiên bản] [. BAO GỒM]

  2. Mở rộng cơ sở dữ liệu

  3. Nhấp chuột phải vào cơ sở dữ liệu

  4. Trỏ tới Nhiệm vụ

  5. Chọn Nhập dữ liệu hoặc Xuất dữ liệu

    loại hình ảnh = "nội dung" nguồn = ". /. /tích hợp-dịch vụ/nhập-xuất-dữ liệu/phương tiện/bắt đầu-wizard-ssms. jpg" alt-text="Bắt đầu thuật sĩ SSMS"

Thao tác này sẽ khởi chạy trình hướng dẫn

loại hình ảnh = "nội dung" nguồn = "kết nối phương tiện/excel". png" alt-text="Kết nối với nguồn dữ liệu Excel"

Để tìm hiểu thêm, xem lại

  • Bắt đầu Trình hướng dẫn Nhập và Xuất SQL Server
  • Bắt đầu với ví dụ đơn giản này về Trình hướng dẫn Nhập và Xuất

Dịch vụ tích hợp (SSIS)

Nếu bạn đã quen thuộc với Dịch vụ tích hợp máy chủ SQL (SSIS) và không muốn chạy Trình hướng dẫn nhập và xuất máy chủ SQL, hãy tạo một gói SSIS sử dụng Nguồn Excel và Đích máy chủ SQL trong luồng dữ liệu

Để tìm hiểu thêm, xem lại

  • Nguồn Excel
  • Máy chủ SQL đích

Để bắt đầu tìm hiểu cách xây dựng gói SSIS, hãy xem hướng dẫn Cách tạo gói ETL

loại hình ảnh = "nội dung" nguồn = "media/excel-to-sql-data-flow. png" alt-text="Các thành phần trong luồng dữ liệu"

OPENROWSET và các máy chủ được liên kết

[. QUAN TRỌNG] Trong Cơ sở dữ liệu Azure SQL, bạn không thể nhập trực tiếp từ Excel. Trước tiên, bạn phải xuất dữ liệu sang tệp văn bản (CSV)

[. LƯU Ý] Nhà cung cấp ACE (trước đây là nhà cung cấp Jet) kết nối với các nguồn dữ liệu Excel nhằm mục đích sử dụng tương tác phía máy khách. Nếu bạn sử dụng nhà cung cấp ACE trên SQL Server, đặc biệt là trong quy trình tự động hoặc quy trình chạy song song, bạn có thể thấy kết quả không mong muốn

Truy vấn phân tán

Nhập dữ liệu trực tiếp vào SQL Server từ các tệp Excel bằng cách sử dụng chức năng Transact-SQL

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
3 hoặc
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
4. Cách sử dụng này được gọi là truy vấn phân tán

[. QUAN TRỌNG] Trong Cơ sở dữ liệu Azure SQL, bạn không thể nhập trực tiếp từ Excel. Trước tiên, bạn phải xuất dữ liệu sang tệp văn bản (CSV)

Trước khi bạn có thể chạy truy vấn phân tán, bạn phải bật tùy chọn cấu hình máy chủ

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
5, như minh họa trong ví dụ sau. Để biết thêm thông tin, hãy xem truy vấn phân tán đặc biệt Tùy chọn cấu hình máy chủ

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

Mẫu mã sau đây sử dụng

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
3 để nhập dữ liệu từ trang tính Excel
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
7 vào một bảng cơ sở dữ liệu mới

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO

Đây là ví dụ tương tự với

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
4

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO

Để chắp thêm dữ liệu đã nhập vào một bảng hiện có thay vì tạo một bảng mới, hãy sử dụng cú pháp

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
9 thay vì cú pháp
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
0 được sử dụng trong các ví dụ trước

Để truy vấn dữ liệu Excel mà không cần nhập dữ liệu, chỉ cần sử dụng cú pháp tiêu chuẩn

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
1

Để biết thêm thông tin về các truy vấn được phân phối, hãy xem các chủ đề sau

  • Truy vấn phân tán (Truy vấn phân tán vẫn được hỗ trợ trong SQL Server 2019 nhưng tài liệu về tính năng này chưa được cập nhật. )
  • MỞROWSET
  • NGUỒN DỮ LIỆU MỞ

Máy chủ được liên kết

Bạn cũng có thể định cấu hình kết nối liên tục từ SQL Server tới tệp Excel dưới dạng máy chủ được liên kết. Ví dụ sau nhập dữ liệu từ trang tính

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
2 trên máy chủ được liên kết Excel hiện có
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
3 vào một bảng cơ sở dữ liệu SQL Server mới có tên là
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
4

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
6

Bạn có thể tạo một máy chủ được liên kết từ SQL Server Management Studio hoặc bằng cách chạy thủ tục lưu trữ hệ thống

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
5, như minh họa trong ví dụ sau

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
8

Để biết thêm thông tin về các máy chủ được liên kết, hãy xem các chủ đề sau

  • Tạo máy chủ được liên kết
  • MỞ CỬA

Để biết thêm ví dụ và thông tin về cả máy chủ được liên kết và truy vấn phân tán, hãy xem chủ đề sau

  • Cách sử dụng Excel với máy chủ được liên kết SQL Server và truy vấn phân tán

Điều kiện tiên quyết - Lưu dữ liệu Excel dưới dạng văn bản

Để sử dụng các phương pháp còn lại được mô tả trên trang này - câu lệnh BULK INSERT, công cụ BCP hoặc Azure Data Factory - trước tiên, bạn phải xuất dữ liệu Excel của mình sang tệp văn bản

Trong Excel, chọn Tệp. Lưu dưới dạng rồi chọn Văn bản (được phân cách bằng tab) (*. txt) hoặc CSV (được phân cách bằng dấu phẩy) (*. csv) làm loại tệp đích

Nếu bạn muốn xuất nhiều trang tính từ sổ làm việc, hãy chọn từng trang tính rồi lặp lại quy trình này. Lệnh Lưu dưới dạng chỉ xuất trang tính đang hoạt động

[. MẸO] Để có kết quả tốt nhất với các công cụ nhập dữ liệu, hãy lưu các trang tính chỉ chứa tiêu đề cột và các hàng dữ liệu. Nếu dữ liệu đã lưu chứa tiêu đề trang, dòng trống, ghi chú, v.v., bạn có thể thấy các kết quả không mong muốn sau này khi nhập dữ liệu

Trình hướng dẫn nhập tệp phẳng

Nhập dữ liệu được lưu dưới dạng tệp văn bản bằng cách xem qua các trang của Trình hướng dẫn nhập tệp phẳng

Như đã mô tả trước đây trong phần này, bạn phải xuất dữ liệu Excel của mình dưới dạng văn bản trước khi có thể sử dụng Trình hướng dẫn nhập tệp phẳng để nhập dữ liệu đó

Để biết thêm thông tin về Trình hướng dẫn Nhập Tệp Phẳng, hãy xem Trình hướng dẫn Nhập Tệp Phẳng vào SQL

Lệnh CHÈN SỐ LƯỢNG LỚN

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
6 là lệnh Transact-SQL mà bạn có thể chạy từ SQL Server Management Studio. Ví dụ sau tải dữ liệu từ tệp
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
7 được phân cách bằng dấu phẩy vào bảng cơ sở dữ liệu hiện có

Như đã mô tả trước đây trong phần này, bạn phải xuất dữ liệu Excel của mình dưới dạng văn bản trước khi có thể sử dụng BULK INSERT để nhập dữ liệu đó. BULK INSERT không thể đọc tệp Excel trực tiếp. Với lệnh BULK INSERT, bạn có thể nhập tệp CSV được lưu trữ cục bộ hoặc trong bộ lưu trữ Azure Blob

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
1

Để biết thêm thông tin và ví dụ về SQL Server và Cơ sở dữ liệu SQL, hãy xem các chủ đề sau

  • Nhập dữ liệu hàng loạt bằng cách sử dụng BULK INSERT hoặc OPENROWSET(BULK. )
  • CHÈN SỐ LƯỢNG LỚN

công cụ BCP

BCP là một chương trình mà bạn chạy từ dấu nhắc lệnh. Ví dụ sau tải dữ liệu từ tệp

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
7 được phân cách bằng dấu phẩy vào bảng cơ sở dữ liệu
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
    'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
GO
9 hiện có

Như đã mô tả trước đây trong phần này, bạn phải xuất dữ liệu Excel của mình dưới dạng văn bản trước khi có thể sử dụng BCP để nhập dữ liệu đó. BCP không thể đọc tệp Excel trực tiếp. Sử dụng để nhập vào SQL Server hoặc Cơ sở dữ liệu SQL từ tệp thử nghiệm (CSV) được lưu vào bộ nhớ cục bộ

[. QUAN TRỌNG] Đối với tệp văn bản (CSV) được lưu trữ trong bộ nhớ Azure Blob, hãy sử dụng BULK INSERT hoặc OPENROWSET. Để biết ví dụ, xem Ví dụ

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
4

Để biết thêm thông tin về BCP, hãy xem các chủ đề sau

  • Nhập và xuất dữ liệu hàng loạt bằng cách sử dụng tiện ích bcp
  • tiện ích bcp
  • Chuẩn bị dữ liệu để xuất hoặc nhập hàng loạt

Trình hướng dẫn sao chép (ADF)

Nhập dữ liệu được lưu dưới dạng tệp văn bản bằng cách duyệt qua các trang của Trình hướng dẫn sao chép Azure Data Factory (ADF)

Như đã mô tả trước đây trong phần này, bạn phải xuất dữ liệu Excel của mình dưới dạng văn bản trước khi có thể sử dụng Azure Data Factory để nhập dữ liệu đó. Data Factory không đọc được file Excel trực tiếp

Để biết thêm thông tin về Trình hướng dẫn sao chép, hãy xem các chủ đề sau

  • Trình hướng dẫn Sao chép Dữ liệu Nhà máy
  • hướng dẫn. Tạo quy trình bán hàng với Hoạt động sao chép bằng Data Factory Copy Wizard

Nhà máy dữ liệu Azure

Nếu bạn đã quen thuộc với Azure Data Factory và không muốn chạy Trình hướng dẫn sao chép, hãy tạo một quy trình bán dẫn có hoạt động Sao chép để sao chép từ tệp văn bản sang SQL Server hoặc sang Cơ sở dữ liệu Azure SQL

Như đã mô tả trước đây trong phần này, bạn phải xuất dữ liệu Excel của mình dưới dạng văn bản trước khi có thể sử dụng Azure Data Factory để nhập dữ liệu đó. Data Factory không đọc được file Excel trực tiếp

Để biết thêm thông tin về cách sử dụng các nguồn và phần chìm của Data Factory này, hãy xem các chủ đề sau

  • Hệ thống tập tin
  • Máy chủ SQL
  • Cơ sở dữ liệu Azure SQL

Để bắt đầu tìm hiểu cách sao chép dữ liệu với Azure data factory, hãy xem các chủ đề sau

  • Di chuyển dữ liệu bằng cách sử dụng Hoạt động sao chép
  • hướng dẫn. Tạo một quy trình với Hoạt động sao chép bằng cổng Azure

Lỗi thông thường

Microsoft. ÁT CHỦ. OLEDB. 12. 0" chưa được đăng ký

Lỗi này xảy ra do nhà cung cấp OLEDB chưa được cài đặt. Cài đặt nó từ Microsoft Access Database Engine 2010 Redistributable. Đảm bảo cài đặt phiên bản 64-bit nếu Windows và SQL Server đều là 64-bit

Lỗi đầy đủ là

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
5

Không thể tạo phiên bản của nhà cung cấp OLE DB "Microsoft. ÁT CHỦ. OLEDB. 12. 0" cho máy chủ được liên kết "(null)"

Điều này chỉ ra rằng Microsoft OLEDB chưa được cấu hình đúng cách. Chạy mã Transact-SQL sau để giải quyết vấn đề này

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
6

Lỗi đầy đủ là

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
7

Nhà cung cấp OLE DB 32-bit "Microsoft. ÁT CHỦ. OLEDB. 12. 0" không thể được tải trong quá trình xử lý trên Máy chủ SQL 64 bit

Điều này xảy ra khi phiên bản 32 bit của nhà cung cấp DB OLD được cài đặt với Máy chủ SQL 64 bit. Để giải quyết vấn đề này, hãy gỡ cài đặt phiên bản 32 bit và thay vào đó cài đặt phiên bản 64 bit của nhà cung cấp OLE DB

Lỗi đầy đủ là

USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]);
GO
0

Nhà cung cấp OLE DB "Microsoft. ÁT CHỦ. OLEDB. 12. 0" cho máy chủ được liên kết "(null)" đã báo lỗi

Không thể khởi tạo đối tượng nguồn dữ liệu của nhà cung cấp OLE DB "Microsoft. ÁT CHỦ. OLEDB. 12. 0" cho máy chủ được liên kết "(null)"

Cả hai lỗi này thường chỉ ra sự cố về quyền giữa quy trình Máy chủ SQL và tệp. Đảm bảo rằng tài khoản đang chạy dịch vụ SQL Server có toàn quyền truy cập vào tệp. Chúng tôi khuyên bạn không nên thử nhập tệp từ máy tính để bàn

Tại sao tôi không thể nhập dữ liệu trên Excel?

Lỗi nhập Excel này có thể do giới hạn do chương trình đặt bằng cách sử dụng tệp hoặc dung lượng bộ nhớ khả dụng trên hệ thống . Nếu quá trình nhập của bạn không thành công do vấn đề về kích thước tệp, bạn cần quay lại và chia tệp thành các tệp nhỏ hơn, điều này sẽ cho phép tệp tránh lỗi tệp này và tải lên thành công.

Làm cách nào để nhập dữ liệu từ Excel sang SQL Server bằng thủ tục được lưu trữ?

BƯỚC 1 - Tạo nhiệm vụ mới. .
BƯỚC 2 - Kết nối với SQL Server. .
BƯỚC 3 - Chọn thủ tục lưu trữ đích
BƯỚC 4 Tạo nguồn dữ liệu ODBC. .
BƯỚC 6 - Ánh xạ cột. .
BƯỚC 10 - Kiểm tra tác vụ. .
BƯỚC 12 - Thêm quy tắc xác thực dữ liệu. .
BƯỚC 13 - Sử dụng nút Xác thực

Làm cách nào để nhập tệp Excel trong máy chủ MySQL?

Bước 1. Nhấp vào nút Duyệt qua và chọn tệp Excel bạn muốn nhập vào MySQL. Bước 2. Chọn MySQL làm cơ sở dữ liệu mong muốn của bạn. Theo tệp excel của bạn, hãy chọn hoặc bỏ chọn Tệp của tôi có Hàng tiêu đề. Bước 3. Dựa trên tệp Excel của bạn, hãy kiểm tra Sử dụng KIỂM TRA NẾU BẢNG EXISTS

Làm cách nào để nhập tệp CSV trong SQL Server?

Cách nhập dữ liệu từ CSV sang SQL Server .
Trong Object Explorer, bấm chuột phải vào cơ sở dữ liệu, trỏ tới Data Pump, rồi bấm Nhập dữ liệu
Trên trang Tệp nguồn, chọn định dạng nhập CSV. .
Trên trang Đích, chọn kết nối máy chủ, cơ sở dữ liệu và lược đồ của nó