2010-08-13 71 views
41

Tôi muốn nhập dữ liệu từ một tập tinExcel - giả định Excel 2003/.xls - để Sql Server 2008.Làm thế nào để xuất dữ liệu từ bảng tính Excel to SQL Server 2008 bảng

đã thử thêm một liên kết máy chủ đến trình điều khiển truy cập OLE DB của JET, và tất nhiên nó không thành công trên máy 64 bit. Nhưng khi tôi cố gắng để thả các máy chủ liên kết trong khi thử nghiệm, có một lỗi khác nói rằng các máy chủ liên kết đã/vẫn tồn tại!

Tôi cũng đã thử thay đổi trình điều khiển Excel thành 32-bit (công cụ regedit) nhưng không chắc chắn nếu nó làm bất cứ điều gì, cùng một lỗi sẽ xuất hiện!

Một số chi tiết khác: Nói Table1 trong tệp Excel có 5 cột. Tôi muốn ánh xạ tới Database.dbo.Table1 với 5 cột một lần nữa, nhưng với các tên khác nhau trong bảng. Có cách nào để thực hiện việc nhập khẩu không?

Trả lời

84

Từ SQL Server Management Studio, bạn mở Object Explorer, chuyển đến cơ sở dữ liệu nơi bạn muốn tải dữ liệu vào, nhấp chuột phải, sau đó chọn Công việc> Nhập dữ liệu.

Thao tác này sẽ mở Trình hướng dẫn dữ liệu nhập, thường hoạt động khá tốt để nhập từ Excel. Bạn có thể chọn một tệp Excel, chọn trang tính nào cần nhập dữ liệu, bạn có thể chọn bảng nào để lưu nó vào và các cột sẽ là gì. Khá linh hoạt thực sự.

Bạn có thể chạy điều này dưới dạng một lần hoặc bạn có thể lưu nó dưới dạng gói dịch vụ tích hợp SQL Server (SSIS) vào hệ thống tệp của bạn hoặc vào SQL Server và thực hiện lặp đi lặp lại để chạy tại một thời điểm nhất định, sử dụng SQL Agent).

Cập nhật: có, có, có, bạn có thể làm tất cả những điều bạn tiếp tục hỏi - thậm chí bạn đã thử ít nhất một lần để chạy thuật sĩ đó chưa ??

OK, ở đây nói đến - từng bước:

Bước 1: chọn nguồn Excel của bạn

enter image description here

Bước 2: chọn SQL cơ sở dữ liệu máy chủ mục tiêu của bạn

enter image description here

Bước 3: chọn trang tính nguồn (từ Excel) và bảng mục tiêu trong cơ sở dữ liệu SQL Server của bạn; xem nút "Chỉnh sửa ánh xạ"!

enter image description here

Bước 4: kiểm tra (và thay đổi nếu cần thiết) ánh xạ lại cột Excel để cột SQL Server trong bảng:

enter image description here

Bước 5: nếu bạn muốn sử dụng sau này, lưu gói SSIS của bạn vào SQL Server:

enter image description here

Bước 6: - thành công! Đây là trên một máy 64-bit, hoạt động giống như một sự quyến rũ - chỉ cần làm điều đó !!

+0

làm thế nào tôi có thể làm điều này bằng cách thêm một kịch bản, tôi wan't để nhập dữ liệu vào 3 bảng theo định kỳ? Có cách nào để tạo tệp định dạng hay gì đó để viết trực tiếp truy vấn/tập lệnh để lấy dữ liệu không? Chúng ta có thể làm điều này trong SQL Server 2005 nhưng chúng ta có thể làm điều đó trực tiếp cho các máy 64-bit không? –

+0

@Amy: bạn sẽ phải thực hiện từng bước một cách thủ công để thiết lập mọi thứ. Sau khi thực hiện, bạn có thể lưu các bước như là một gói SSIS vào SQL Server và thực hiện tại bất kỳ thời điểm nào, bằng cách lập lịch trình nó trong SQL Agent. Hoạt động trên bất kỳ máy nào - 32 hoặc 64 bit - không sao cả. –

+1

Xin chào, trước hết cảm ơn sự giúp đỡ của bạn !! Tôi đang cố gắng tạo lập bản đồ cột cho dữ liệu Excel vào bảng SQL. Nói bảng Excel1 có col1, col2, col3. Và SQL table1 có col1, col2a, col3a. Bạn có thể nghĩ ra một cách để duy trì thông tin hiện tại và làm điều này không? –

2

Có một số công cụ có thể nhập Excel vào SQL Server.

Tôi đang sử dụng DbTransfer (http://www.dbtransfer.com/Products/DbTransfer) để thực hiện công việc. Chủ yếu tập trung vào việc chuyển dữ liệu giữa cơ sở dữ liệu và excel, xml, v.v ...

Tôi đã thử phương pháp openrowset và Trình nhập/xuất tài liệu SQL Server trước đó. Nhưng tôi thấy những phương pháp này là không cần thiết phức tạp và dễ bị lỗi trong việc sử dụng nó với một trong những công cụ chuyên dụng sẵn có.

1

Trong SQL Server 2016 thuật sĩ là một ứng dụng riêng biệt. (Quan trọng: Thuật sĩ Excel là chỉ có sẵn trong phiên bản 32 bit của trình hướng dẫn!). Sử dụng the MSDN page để được hướng dẫn:

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data. 
—or— 
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard. 
—or— 
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard. 
—or— 
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data. 
—or— 
In a command prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn. 

Sau đó nó nên được khá nhiều việc cùng (có thể với các biến thể nhỏ trong giao diện người dùng) như trong câu trả lời @ marc_s của.

1

Thay vào đó, có một số công cụ dựa trên web chuyển đổi tệp Excel thành tệp SQL.

https://sqlizer.io sẽ tạo tệp định nghĩa bảng, theo sau là tất cả dữ liệu dưới dạng câu lệnh chèn, sau đó nó có thể được nhập vào SQL Server Management Studio (Tệp> Mở> Tệp ... trong SQL SMS) - hoặc vào bất kỳ tệp nào khác Cơ sở dữ liệu SQL tương thích.

Dưới đây là một hình ảnh của nó:

SQLizer.io ready to convert xlsx to sql

+1

Chính sách bảo mật của họ cho biết họ có thể thu thập dữ liệu. Tôi sẽ không sử dụng điều này cho bất cứ điều gì quan trọng. – prospector

Các vấn đề liên quan