Excel導(dǎo)入數(shù)據(jù)庫(kù)時(shí)出現(xiàn)的文本截?cái)鄦?wèn)題解決方案
在把Excel導(dǎo)入到數(shù)據(jù)庫(kù)中時(shí),發(fā)生文本截?cái)鄦?wèn)題:即導(dǎo)入的數(shù)據(jù)每行只有一部分,原始的Excel數(shù)據(jù)為:
忽略錯(cuò)誤
導(dǎo)入SQLServer2008過(guò)程中,如果源數(shù)據(jù)和目標(biāo)數(shù)據(jù)類型不匹配會(huì)導(dǎo)入失敗,所以導(dǎo)入數(shù)據(jù)時(shí)會(huì)忽略錯(cuò)誤,這次導(dǎo)入題庫(kù)也是,結(jié)果出現(xiàn)了這樣的問(wèn)題:
仔細(xì)觀察你會(huì)發(fā)現(xiàn),題目不完整,最長(zhǎng)為25個(gè)漢字,很明顯這是varchar(50)數(shù)據(jù)類型,但是源數(shù)據(jù)和目的數(shù)據(jù)明明都為文本類型。
不忽略錯(cuò)誤
如果不忽略錯(cuò)誤,導(dǎo)入數(shù)據(jù)最后一步會(huì)產(chǎn)生這樣的問(wèn)題:
-正在執(zhí)行(錯(cuò)誤)
消息
錯(cuò)誤0xc02020c5:數(shù)據(jù)流任務(wù)1:在將列“questionContent”(33)轉(zhuǎn)換為列“questionContent”(119)時(shí)數(shù)據(jù)轉(zhuǎn)換失敗。轉(zhuǎn)換操作返回狀態(tài)值4和狀態(tài)文本“文本被截?cái)?,或者一個(gè)或多個(gè)字符在目標(biāo)代碼頁(yè)中沒(méi)有匹配項(xiàng)。”。
(SQLServer導(dǎo)入和導(dǎo)出向?qū)?
錯(cuò)誤0xc020902a:數(shù)據(jù)流任務(wù)1:“輸出列“questionContent”(119)”由于發(fā)生截?cái)喽。裔槍?duì)“輸出列“questionContent”(119)”的截?cái)嘈刑幚碓O(shè)置指定截?cái)鄷r(shí)出錯(cuò)。在指定組件的指定對(duì)象上出現(xiàn)截?cái)噱e(cuò)誤。
(SQLServer導(dǎo)入和導(dǎo)出向?qū)?
錯(cuò)誤0xc0047022:數(shù)據(jù)流任務(wù)1:SSIS錯(cuò)誤代碼DTS_E_PROCESSINPUTFAILED。處理輸入“數(shù)據(jù)轉(zhuǎn)換輸入”(92)時(shí),組件“數(shù)據(jù)轉(zhuǎn)換0-0”(91)的ProcessInput方法失敗,錯(cuò)誤代碼為0xC020902A。標(biāo)識(shí)的這個(gè)組件從ProcessInput方法返回了一個(gè)錯(cuò)誤。雖然該錯(cuò)誤是此組件特有的,但卻是致命的,將導(dǎo)致數(shù)據(jù)流任務(wù)停止運(yùn)行。可能在此之前已經(jīng)發(fā)出錯(cuò)誤消息,提供了有關(guān)失敗的詳細(xì)信息。
(SQLServer導(dǎo)入和導(dǎo)出向?qū)?
解決方法
SQL語(yǔ)句
可以確定這個(gè)問(wèn)題不是由數(shù)據(jù)類型不匹配引起,如何解決?既然通過(guò)界面方法不能完整導(dǎo)入,可以采用SQL語(yǔ)句的方式再試試:
SELECT*INTO[MaKeSiExam].[dbo].[t_makesi_duoxuanti1]FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'DataSource=D:/考試系統(tǒng)/題庫(kù)/2012年下半年馬克思考試/馬克思_多選題.xls;
ExtendedProperties=Excel8.0')...[Sheet1$]
前提
使用SQL語(yǔ)句的方法可能會(huì)產(chǎn)生兩個(gè)錯(cuò)誤:
SQLServer阻止了對(duì)組件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的訪問(wèn),因?yàn)榇私M件已作為此服務(wù)器安全配置的一部分而被關(guān)閉
消息7399,級(jí)別16,狀態(tài)1,第1行
鏈接服務(wù)器"(null)"的OLEDB訪問(wèn)接口"Microsoft.Jet.OLEDB.4.0"報(bào)錯(cuò)。提供程序未給出有關(guān)錯(cuò)誤的任何信息。
消息7303,級(jí)別16,狀態(tài)1,第1行
無(wú)法初始化鏈接服務(wù)器"(null)"的OLEDB訪問(wèn)接口"Microsoft.Jet.OLEDB.4.0"的數(shù)據(jù)源對(duì)象。
解決方法
--啟用AdHocDistributedQueries
execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure
第二個(gè)問(wèn)題,是因?yàn)镋xcel文件和SQLServer沒(méi)在同一臺(tái)機(jī)器,把Excel放到數(shù)據(jù)庫(kù)所在機(jī)器上執(zhí)行上述SQL語(yǔ)句即可,注意以上導(dǎo)入數(shù)據(jù)庫(kù)的語(yǔ)句需要自建表,表字段數(shù)據(jù)類型為Excel中的數(shù)據(jù)類型。
導(dǎo)入完畢,可再關(guān)閉AdHocDistributedQueries
--關(guān)閉AdHocDistributedQueries
execsp_configure'AdHocDistributedQueries',0
reconfigure
execsp_configure'showadvancedoptions',0
reconfigure
導(dǎo)入結(jié)果
- asp實(shí)現(xiàn)excel中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)
- PHP將Excel導(dǎo)入數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出至Excel的方法
- Drupal讀取Excel并導(dǎo)入數(shù)據(jù)庫(kù)實(shí)例
- 利用phpexcel把excel導(dǎo)入數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)導(dǎo)出excel實(shí)現(xiàn)
- PHP 如何利用phpexcel導(dǎo)入數(shù)據(jù)庫(kù)
- ASP.NET下將Excel表格中的數(shù)據(jù)規(guī)則的導(dǎo)入數(shù)據(jù)庫(kù)思路分析及實(shí)現(xiàn)
- C++ 中實(shí)現(xiàn)把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)(ACCESS、MSSQL等)實(shí)例代碼
相關(guān)文章
Win2003系統(tǒng)下SQL Server 2008安裝圖解教程(詳細(xì)圖解)
這篇文章主要介紹了Win2003系統(tǒng)下SQL Server 2008安裝圖解教程(詳細(xì)圖解),需要的朋友可以參考下2015-09-09
sqlserver2008首次登錄失敗問(wèn)題及解決方法
這篇文章主要介紹了sqlserver2008首次登錄失敗問(wèn)題及解決方法,需要的朋友可以參考下2018-11-11
sql server 2008中的apply運(yùn)算符使用方法
sql server 2008中的apply運(yùn)算符使用方法,需要的朋友可以參考一下2013-05-05
使用Sqlserver事務(wù)發(fā)布實(shí)現(xiàn)數(shù)據(jù)同步(sql2008)
事務(wù)的功能在sqlserver中由來(lái)已久,因?yàn)樽罱谧鲆粋€(gè)數(shù)據(jù)同步方案,所以有機(jī)會(huì)再次研究一下它以及快照等,發(fā)現(xiàn)還是有很多不錯(cuò)的功能和改進(jìn)的。這里以sqlserver2008的事務(wù)發(fā)布功能為例,對(duì)發(fā)布訂閱的方式簡(jiǎn)要介紹一下操作流程,一方面做個(gè)總結(jié)備份,一方面與大家進(jìn)行一下分享和交流2013-03-03
sql server 2008 r2 express 精簡(jiǎn)版與企業(yè)版的區(qū)別
今天群里發(fā)現(xiàn)有網(wǎng)站問(wèn)sql server 2008 r2 express是什么版本,其實(shí)express表示此版本是精簡(jiǎn)版的,方便學(xué)習(xí)使用,主要是免費(fèi)的2015-09-09
sql server2008數(shù)據(jù)庫(kù)遷移的兩種方法
這篇文章主要為大家詳細(xì)介紹了sql server2008數(shù)據(jù)庫(kù)遷移的兩種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
SQL Server2008r2 數(shù)據(jù)庫(kù)服務(wù)各種無(wú)法啟動(dòng)問(wèn)題的解決辦法(詳解)
這篇文章主要介紹了SQL Server2008r2 數(shù)據(jù)庫(kù)服務(wù)各種無(wú)法啟動(dòng)問(wèn)題的解決辦法(詳解)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
SqlServer2008 數(shù)據(jù)庫(kù)同步的兩種方式(發(fā)布、訂閱使用方法)
這篇文章主要介紹了通過(guò)發(fā)布訂閱的方式實(shí)現(xiàn)數(shù)據(jù)庫(kù)之間的同步操作,需要的朋友可以參考下2014-08-08
SQL Server 2008 數(shù)據(jù)庫(kù)鏡像部署實(shí)例之一 數(shù)據(jù)庫(kù)準(zhǔn)備
利用Sql Server 2008 enterprise X64,建立異步(高性能)鏡像數(shù)據(jù)庫(kù),同時(shí)建立見(jiàn)證服務(wù)器實(shí)現(xiàn)自動(dòng)故障轉(zhuǎn)移2013-11-11

