Câu hỏi
Xin chào ,
Trong khi nhập Excel [100 cột] vào bảng SQL Server:
Dữ liệu ô trống được phân tích cú pháp là null trong SQL, nhưng tôi cần giống như trống-> trống & nbsp; .., null-> null
Tôi không muốn sử dụng với isnull [exp] trong cột dẫn xuất trong luồng dữ liệu ??-[vì rất nhiều cột]
Có thể với thành phần tập lệnh ??
Vậy làm thế nào tôi có thể làm?
Cảm ơn
Tất cả các câu trả lời
Xin chào Dấu hiệu Shine,
Không có khái niệm về null trong excel, đó là trình điều khiển coi các giá trị trống là nulls.
Bạn có thể ghi đè hành vi này bằng cách sửa đổi chuỗi kết nối Excel với việc thêm Chỉ thị IMEX = 1 đặt nó vào chế độ Interop và sẽ tạo ra các giá trị trống cho bất kỳ cột nào.
Tôi đang sử dụng chuỗi kết nối: Jet 4.0 với imex = 1 và loại đoán hàng = 0
Vì vậy, tôi đang phải đối mặt với vấn đề này, & nbsp; Làm thế nào để ghi đè ??
Ý định của tôi là các bản ghi trống Excel [ô] không đổ như null in & nbsp; Máy chủ SQL
Tôi cần điều đó cũng trống.
Trống có nghĩa là vô hiệu hóa để xuất sắc
Xem bên dưới đầu vào & đầu ra:
:Hi,
Dựa trên nghiên cứu của tôi, nếu một ô không có giá trị, hoặc trống hoặc không xác định, null là đại diện chính xác & nbsp; cho điều đó. Đây là do thiết kế trong SSIS.
Giải pháp thay thế đang sử dụng cột dẫn xuất để chuyển đổi các giá trị cột hoặc sử dụng thành phần tập lệnh làm nguồn để đọc dữ liệu trang tính Excel trong SSIS. Chủ đề tương tự sau đây là để bạn tham khảo: //www.sqlservercentral.com/forums/topic943687-391-1.aspx
//www.sqlservercentral.com/Forums/Topic943687-391-1.aspxCảm ơn, Kinda Xiong
Katherine XiongHỗ trợ cộng đồng Kinda Xiong Technet
TechNet Community Support- Được đề xuất như câu trả lời Bythursday, ngày 8 tháng 10 năm 2015 3:57 sáng Thursday, October 8, 2015 3:57 AM
- Xóa khỏi các diễn đàn của tôi
Câu hỏi
Chào mọi người,
Tôi đang nhận được một giá trị null khi tôi đang nhập dữ liệu từ cột Excel có dữ liệu in & nbsp; loại dữ liệu khác nhau & nbsp; ex: nếu cột excel chứa loại dữ liệu & nbsp; " Giá trị giống như'xysddd ', khi tôi lấy dữ liệu từ & nbsp; Excel Nó đang hiển thị một giá trị null trong ô tương ứng.
Tôi đã thay đổi trình điều khiển Excel nhưng vẫn còn vấn đề tương tự.
Sau khi có R & D, chúng tôi thấy rằng, SSIS Engine đã đọc tám hàng đầu tiên và dựa trên động cơ SSIS kiểu dữ liệu quyết định loại dữ liệu cột vuông góc và nếu chúng tôi nhận được dữ liệu kiểu dữ liệu khác nhau trong cùng một cột trên hàng thứ 10, chúng tôi sẽ nhận được giá trị null trong Tế bào vuông góc.
Bất cứ ai có thể giải quyết các vấn đề này nếu anh ấy/cô ấy có trong quá khứ ... xin vui lòng cho tôi biết.
Cảm ơn
Rahul
Câu trả lời
- Được đề xuất như câu trả lời Bytuesday, ngày 14 tháng 2 năm 2012 7:28 sáng Tuesday, February 14, 2012 7:28 AM
- Được đánh dấu là câu trả lời Byeileen Zhaothursday, ngày 16 tháng 2 năm 2012 6:44 sáng Eileen Zhao Thursday, February 16, 2012 6:44 AM
Tôi đang nhập dữ liệu từ excel vào cơ sở dữ liệu. Sau đây là lược đồ của các cột Excel: Dưới đây là lược đồ của DB .... và chính xác khớp với dữ liệu bảng Excel ....................
ID integer
organizationId integer
categoryId integer
attribute text
Y1960 integer or null
Y1961 integer or null
Y1962 integer or null
Y1963 integer or null
Y1964 integer or null
Y1965 integer or null
Y1966 integer or null
Y1967 integer or null
Y1968 integer or null
Y1969 integer or null
Và tương tự là trong các cột cơ sở dữ liệu. Tôi đang sử dụng mã sau để truy xuất dữ liệu của tệp first 10 columns from excel
.
OleDbConnection excelConnection =
new OleDbConnection[excelConnectionString];
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand
["Select [ID],[organizationID],[categoryID],[parentID],[granularityLevel],[attribute],[Y1960],[Y1961],[Y1962],[Y1963],[Y1964],[Y1965] from [Details$]", excelConnection];
excelConnection.Open[];
OleDbDataReader dReader;
dReader = cmd.ExecuteReader[];
SqlBulkCopy sqlBulk = new SqlBulkCopy[connectionString];
sqlBulk.DestinationTableName = "Data";
sqlBulk.WriteToServer[dReader];
Vấn đề là dữ liệu của Y1960 column is not copied
vào bảng cơ sở dữ liệu từ tệp Excel. Các cột khác được sao chép, nhưng Y1960 không được sao chép. Chỉ có giá trị null có sẵn ở đó.