Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

PRB: DTS thuật sĩ có thể không phát hiện thấy Excel cột kiểu cho hỗn hợp dữ liệu trong SQL Server

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:236605
TRIỆU CHỨNG
Khi bạn sử dụng Microsoft SQL Server dữ liệu biến đổi Dịch vụ (DTS) nhập khẩu Wizard để nhập dữ liệu từ một Microsoft Excel bảng tính, Nếu một cột văn bản chứa dữ liệu có thể được hiểu như là dữ liệu hỗn hợp (cho Ví dụ, ký tự đại diện cho dữ liệu hệ thập lục phân), ban đầu vài hàng xác định loại dữ liệu thực tế được sử dụng và sau đó hàng có thể chuyển giao như NULLs. DTS không cung cấp một thông điệp cảnh báo để chỉ ra rằng một số hàng có thể không chuyển giao.

Chú ý Nếu bạn đang sử dụng SQL Server 2005, sử dụng thuật sĩ xuất khẩu và nhập khẩu máy chủ SQL để thực hiện phép biến đổi dữ liệu.
NGUYÊN NHÂN
Hành vi này là do thiết kế cho Excel ISAM. 8 Đầu tiên hàng xác định kiểu dữ liệu cột. Ví dụ, nếu hầu hết 8 đầu tiên hàng chứa số ký tự, datatype cột là một số. Tất cả các giá trị sau đó không phù hợp với datatype đó được trả về là NULL.
CÁCH GIẢI QUYẾT KHÁC
Một workaround là để tiết kiệm các trang tính Excel là một tập tin văn bản và sau đó bạn sử dụng thuật sĩ DTS để nhập khẩu các tập tin vào máy chủ SQL.
THÔNG TIN THÊM

Các bước để tạo lại hành vi

Ví dụ, tạo bảng tính sau đây trong Excel:
Thập phânHex
11
22
33
44
55
66
77
88
99
10Một
11B
12C
13D
14E
15F
Cột đầu tiên "Decimal" được định dạng như tướng và cột thứ hai "HEX" được định dạng dưới dạng văn bản.

Nếu bạn tải này bảng từ Excel thành SQL Server bằng cách sử dụng thuật sĩ DTS, hàng 10-15 (các giá trị A-F) là NULL khi nạp vào một bảng SQL (HEX cột được định dạng dưới dạng văn bản trong các bảng tính, nhưng DTS làm cho nó một kiểu phao kể từ khi nó phát hiện nguồn cột như DBTYPE_R8).
THAM KHẢO
Để biết thêm chi tiết, xem các "SQL Server Data Chuyển đổi dịch vụ"chủ đề trong SQL Server sách trực tuyến.
kbDSupport

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 236605 - Xem lại Lần cuối: 08/21/2011 11:28:00 - Bản sửa đổi: 2.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbdatabase kbprb kbmt KB236605 KbMtvi
Phản hồi
/javascript' src='" + (window.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");