Excel導入數據庫時湧現的文本截斷成績處理計劃。本站提示廣大學習愛好者:(Excel導入數據庫時湧現的文本截斷成績處理計劃)文章只能為提供參考,不一定能成為您想要的結果。以下是Excel導入數據庫時湧現的文本截斷成績處理計劃正文
成績
在把Excel導入到數據庫中時,產生文本截斷成績:即導入的數據每行只要一部門,原始的Excel數據為:
疏忽毛病
導入SQLServer2008進程中,假如源數據和目的數據類型不婚配會導入掉敗,所以導入數據時會疏忽毛病,此次導入題庫也是,成果湧現了如許的成績:
細心不雅察你會發明,標題不完全,最長為25個漢字,很顯著這是varchar(50)數據類型,然則源數據和目標數據明明都為文本類型。
不疏忽毛病
假如不疏忽毛病,導入數據最初一步會發生如許的成績:
-正在履行(毛病)
新聞
毛病0xc02020c5:數據流義務1:在將列“questionContent”(33)轉換為列“questionContent”(119)時數據轉換掉敗。轉換操作前往狀況值4和狀況文本“文本被截斷,或許一個或多個字符在目的代碼頁中沒有婚配項。”。
(SQLServer導入和導出領導)
毛病0xc020902a:數據流義務1:“輸入列“questionContent”(119)”因為產生截斷而掉敗,並且針對“輸入列“questionContent”(119)”的截斷行處置設置指定截斷時失足。在指定組件的指定對象上湧現截斷毛病。
(SQLServer導入和導出領導)
毛病0xc0047022:數據流義務1:SSIS毛病代碼DTS_E_PROCESSINPUTFAILED。處置輸出“數據轉換輸出”(92)時,組件“數據轉換0-0”(91)的ProcessInput辦法掉敗,毛病代碼為0xC020902A。標識的這個組件從ProcessInput辦法前往了一個毛病。固然該毛病是此組件獨有的,但倒是致命的,將招致數據流義務停滯運轉。能夠在此之前曾經收回毛病新聞,供給了有關掉敗的具體信息。
(SQLServer導入和導出領導)
處理辦法
SQL語句
可以肯定這個成績不是由數據類型不婚配惹起,若何處理?既然經由過程界面辦法不克不及完全導入,可以采取SQL語句的方法再嘗嘗:
SELECT*INTO[MaKeSiExam].[dbo].[t_makesi_duoxuanti1]FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'DataSource=D:/測驗體系/題庫/2012年下半年馬克思慮試/馬克思_多選題.xls;
ExtendedProperties=Excel8.0')...[Sheet1$]
條件
應用SQL語句的辦法能夠會發生兩個毛病:
SQLServer阻攔了對組件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的拜訪,由於此組件已作為此辦事器平安設置裝備擺設的一部門而被封閉
新聞7399,級別16,狀況1,第1行
鏈接辦事器"(null)"的OLEDB拜訪接口"Microsoft.Jet.OLEDB.4.0"報錯。供給法式未給出有關毛病的任何信息。
新聞7303,級別16,狀況1,第1行
沒法初始化鏈接辦事器"(null)"的OLEDB拜訪接口"Microsoft.Jet.OLEDB.4.0"的數據源對象。
處理辦法
--啟用AdHocDistributedQueries
execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure
第二個成績,是由於Excel文件和SQLServer沒在統一台機械,把Excel放到數據庫地點機械上履行上述SQL語句便可,留意以上導入數據庫的語句須要自建表,表字段數據類型為Excel中的數據類型。
導入終了,可再封閉AdHocDistributedQueries
--封閉AdHocDistributedQueries
execsp_configure'AdHocDistributedQueries',0
reconfigure
execsp_configure'showadvancedoptions',0
reconfigure
導入成果