国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

Excel導(dǎo)入數(shù)據(jù)庫時出現(xiàn)的文本截斷問題解決方案

2024-08-31 01:00:40
字體:
供稿:網(wǎng)友
問題
在把Excel導(dǎo)入到數(shù)據(jù)庫中時,發(fā)生文本截斷問題:即導(dǎo)入的數(shù)據(jù)每行只有一部分,原始的Excel數(shù)據(jù)為:

Excel導(dǎo)入數(shù)據(jù)庫時出現(xiàn)的文本截斷問題解決方案

   
忽略錯誤
導(dǎo)入SQLServer2008過程中,如果源數(shù)據(jù)和目標(biāo)數(shù)據(jù)類型不匹配會導(dǎo)入失敗,所以導(dǎo)入數(shù)據(jù)時會忽略錯誤,這次導(dǎo)入題庫也是,結(jié)果出現(xiàn)了這樣的問題:

Excel導(dǎo)入數(shù)據(jù)庫時出現(xiàn)的文本截斷問題解決方案

 
仔細(xì)觀察你會發(fā)現(xiàn),題目不完整,最長為25個漢字,很明顯這是varchar(50)數(shù)據(jù)類型,但是源數(shù)據(jù)和目的數(shù)據(jù)明明都為文本類型。
不忽略錯誤
如果不忽略錯誤,導(dǎo)入數(shù)據(jù)最后一步會產(chǎn)生這樣的問題:

復(fù)制代碼 代碼如下:


-正在執(zhí)行(錯誤)
消息
錯誤0xc02020c5:數(shù)據(jù)流任務(wù)1:在將列“questionContent”(33)轉(zhuǎn)換為列“questionContent”(119)時數(shù)據(jù)轉(zhuǎn)換失敗。轉(zhuǎn)換操作返回狀態(tài)值4和狀態(tài)文本“文本被截斷,或者一個或多個字符在目標(biāo)代碼頁中沒有匹配項。”。
(SQLServer導(dǎo)入和導(dǎo)出向?qū)?
錯誤0xc020902a:數(shù)據(jù)流任務(wù)1:“輸出列“questionContent”(119)”由于發(fā)生截斷而失敗,而且針對“輸出列“questionContent”(119)”的截斷行處理設(shè)置指定截斷時出錯。在指定組件的指定對象上出現(xiàn)截斷錯誤。
(SQLServer導(dǎo)入和導(dǎo)出向?qū)?
錯誤0xc0047022:數(shù)據(jù)流任務(wù)1:SSIS錯誤代碼DTS_E_PROCESSINPUTFAILED。處理輸入“數(shù)據(jù)轉(zhuǎn)換輸入”(92)時,組件“數(shù)據(jù)轉(zhuǎn)換0-0”(91)的ProcessInput方法失敗,錯誤代碼為0xC020902A。標(biāo)識的這個組件從ProcessInput方法返回了一個錯誤。雖然該錯誤是此組件特有的,但卻是致命的,將導(dǎo)致數(shù)據(jù)流任務(wù)停止運行。可能在此之前已經(jīng)發(fā)出錯誤消息,提供了有關(guān)失敗的詳細(xì)信息。
(SQLServer導(dǎo)入和導(dǎo)出向?qū)?


解決方法
SQL語句
可以確定這個問題不是由數(shù)據(jù)類型不匹配引起,如何解決?既然通過界面方法不能完整導(dǎo)入,可以采用SQL語句的方式再試試:

復(fù)制代碼 代碼如下:


SELECT*INTO[MaKeSiExam].[dbo].[t_makesi_duoxuanti1]FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'DataSource=D:/考試系統(tǒng)/題庫/2012年下半年馬克思考試/馬克思_多選題.xls;
ExtendedProperties=Excel8.0')...[Sheet1$]


前提
使用SQL語句的方法可能會產(chǎn)生兩個錯誤:

復(fù)制代碼 代碼如下:


SQLServer阻止了對組件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的訪問,因為此組件已作為此服務(wù)器安全配置的一部分而被關(guān)閉
消息7399,級別16,狀態(tài)1,第1行
鏈接服務(wù)器"(null)"的OLEDB訪問接口"Microsoft.Jet.OLEDB.4.0"報錯。提供程序未給出有關(guān)錯誤的任何信息。
消息7303,級別16,狀態(tài)1,第1行
無法初始化鏈接服務(wù)器"(null)"的OLEDB訪問接口"Microsoft.Jet.OLEDB.4.0"的數(shù)據(jù)源對象。


解決方法

復(fù)制代碼 代碼如下:


--啟用AdHocDistributedQueries
execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure


第二個問題,是因為Excel文件和SQLServer沒在同一臺機器,把Excel放到數(shù)據(jù)庫所在機器上執(zhí)行上述SQL語句即可,注意以上導(dǎo)入數(shù)據(jù)庫的語句需要自建表,表字段數(shù)據(jù)類型為Excel中的數(shù)據(jù)類型。
導(dǎo)入完畢,可再關(guān)閉AdHocDistributedQueries

復(fù)制代碼 代碼如下:


--關(guān)閉AdHocDistributedQueries
execsp_configure'AdHocDistributedQueries',0
reconfigure
execsp_configure'showadvancedoptions',0
reconfigure


導(dǎo)入結(jié)果

Excel導(dǎo)入數(shù)據(jù)庫時出現(xiàn)的文本截斷問題解決方案

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 土默特右旗| 贡嘎县| 陈巴尔虎旗| 通山县| 寿光市| 汶上县| 湘乡市| 安西县| 将乐县| 南丹县| 称多县| 丰镇市| 溧水县| 从化市| 古蔺县| 宜良县| 若尔盖县| 龙岩市| 靖江市| 汪清县| 张掖市| 随州市| 汉阴县| 庆安县| 华蓥市| 克东县| 莱西市| 千阳县| 乐亭县| 余江县| 阳山县| 吴忠市| 三都| 玉龙| 潮安县| 泰宁县| 象州县| 北辰区| 岱山县| 姚安县| 方正县|