本文介紹了在SSIS EXCEL數(shù)據(jù)源中,不超過255個字符的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我開發(fā)了SSIS包,可以將多個EXCEL文件導入到SQL中?,F(xiàn)在的問題是”Excel數(shù)據(jù)源”檢查前幾行以確定數(shù)據(jù)類型,并將長度為255的文本數(shù)據(jù)類型作為我的備注列。
但在某些文件中,備注長度超過255個字符。
我查看了一些博客,他們說故意在第一行放置長文本作為備注,然后SSIS會確定數(shù)據(jù)類型為Unicode文本流。這解決了我的問題,但當其他文件再次導入數(shù)據(jù)類型時,更改為255個字符,并獲得截斷錯誤。
請建議如何解決此問題。
推薦答案
我已經(jīng)修復了在SSIS腳本任務中使用以下代碼導入特定列中超過255個字符的Excel的問題。
string path = Dts.Variables["User::FileName"].Value.ToString();
FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = null;
excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
DataSet result = excelReader.AsDataSet();
excelReader.Close();
var dt = result.Tables[0];
string CS = "Data Source=localhost;Initial Catalog=Demo;Persist Security Info=True;User ID=sa;Password=; Connect Timeout=200; pooling='true'; Max Pool Size=200";
// Bulk Copy to SQL Server
SqlBulkCopy bulkInsert = new SqlBulkCopy(CS);
bulkInsert.DestinationTableName = "test";
bulkInsert.WriteToServer(dt);
這篇關于在SSIS EXCEL數(shù)據(jù)源中,不超過255個字符的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,