加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SQL Server2005导入文本数据详解

(2013-12-11 11:13:09)
标签:

mssql2005数据导入

导入文本数据

studio导入文本数据

ms导入文本数据

分类: 数据库学习

    在实际的需求中,我们需要将比较大的文本文件数据导入到数据中进行数据处理,那在SQL Server Management Studio 中如何实现导入文本数据到数据库中呢?下面来看下详细的处理过程。

 

一、创建需要处理的数据库
    选中“数据库”,右键菜单中选择“新建数据库”项,创建你的数据库,本例为Mytest库,同时在该库下创建对应的表,以便将文本数据导入到该表中。

SQL <wbr>Server2005导入文本数据详解

二、导入文本数据到表中
    选择你之前创建的数据库,右键菜单中,选择“任务----导入数据”,会出现如下图所示界面

SQL <wbr>Server2005导入文本数据详解

点击“下一步”出现如下图所示界面,在数据源中选择“平面文件源”,文件名中选择你需要导入的文本文件路径。

SQL <wbr>Server2005导入文本数据详解

点击“下一步”,出现如下图所示界面,此时你可以预览到你的文本数据。

SQL <wbr>Server2005导入文本数据详解

点击“下一步”,出现如下图所示,这里“目标”默认为“SQL Native Client”,“数据库”选择你之前创建的数据库,一般会默认选择。

SQL <wbr>Server2005导入文本数据详解



点击“下一步”,会出现如下图所示,在“目标”列中选择之前创建的表。

SQL <wbr>Server2005导入文本数据详解

点击“下一步”,会出现下图所示

SQL <wbr>Server2005导入文本数据详解

 

点击“下一步”,会出现下图所示

SQL <wbr>Server2005导入文本数据详解

点击“完成”,会出现下图所示界面

SQL <wbr>Server2005导入文本数据详解



表明数据导入成功,查询该表的数据检查下是否有问题。

 

 

三、导入错误解决

错误:

- 正在复制到 [Mytest].[dbo].[t_log_query] (错误)
消息
错误 0xc0202009: 数据流任务: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Native Client” Hresult: 0x80004005 说明:“对于造型说明无效的字符值”。
已获得 OLE DB 记录。源:“Microsoft SQL Native Client” Hresult: 0x80004005 说明:“对于造型说明无效的字符值”。
 (SQL Server 导入和导出向导)
 
错误 0xc020901c: 数据流任务: 输入“Destination Input”(91) 上的 输入列“列 0”(113) 出错。返回的列状态是:“由于可能丢失数据,所以无法转换该值。”。
 (SQL Server 导入和导出向导)
 
错误 0xc0209029: 数据流任务: SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“输入“Destination Input”(91)”失败,错误代码为 0xC0209077,而且针对“输入“Destination Input”(91)”的错误行处理设置指定一旦出错就失败。在指定组件的指定对象上出错。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)
 
错误 0xc0047022: 数据流任务: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。组件“目标 - t_log_tchat_chat”(78)的 ProcessInput 方法失败,错误代码为 0xC0209029。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)
 
错误 0xc0047021: 数据流任务: SSIS 错误代码 DTS_E_THREADFAILED。线程“WorkThread0”已退出,错误代码为 0xC0209029。可能在此之前已经发出错误消息,提供了有关线程退出原因的详细信息。
 (SQL Server 导入和导出向导)
 
错误 0xc02020c4: 数据流任务: 无法向数据流任务缓冲区添加行,错误代码为 0xC0047020。
 (SQL Server 导入和导出向导)
 
错误 0xc0047038: 数据流任务: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 - t_log_tchat_chat201304_txt”(1) 的 PrimeOutput 方法返回了错误代码 0xC02020C4。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)
 
错误 0xc0047021: 数据流任务: SSIS 错误代码 DTS_E_THREADFAILED。线程“SourceThread0”已退出,错误代码为 0xC0047038。可能在此之前已经发出错误消息,提供了有关线程退出原因的详细信息。
 (SQL Server 导入和导出向导)

 

 

原因分析及解决:

     这是由于你所创建的表中的字段数据类型引起的,一般Uniqueidentifier类型会引起该错误,因为SQL Server中Uniqueidentifier类型为数据库自动生成的GUID,而此时你的文本文件中已经存在生成好的GUID,导入时导致错误。此时你需要把你表中涉及到该字段的数据类型修改成varchar(36)类型,再次导入即可解决该错误问题。

 


 

 

 


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有