CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

使用SSIS导入Excel表中数据问题解答

作者: Echo,  出处:IT专家网, 责任编辑: 李书琴, 
2007-12-18 17:30
  

  【IT专家网独家】问题:

  我想要跟数据库打交道的人大部分迟早都会遇到要从Excel表中把数据导入到SQL Server中去的情况。我们可以使用OPENROWSET、OPENQUERY、Link Servers等等完成这个任务。这些方法都很不错,但是使用它们来导入数据,你不一定能够很好地控制整个导入过程。另外一个方法就是使用SSIS,通过使用SSIS导入数据,你不仅可以导入不同类型的数据,而且可以在导入过程中运用其他逻辑。但是,我要从Excel表把数据导入到SQL Server表会遇到的一个问题是我需要把统一字符编码型的数据转化成非统一字符编码型的数据。SSIS在Excel表里的数据当作统一字符编码型的数据进行处理,但是我的数据库表定义数据为非统一编码型,因为我不需要存储别的编码集,所以不想要浪费太多的存储空间。使用SSIS导入的话有没有什么简单易行的方法?

  回答:

  如果你使用了SSIS来把Excel数据导入SQL Server中,你可以已经遇到过这样的问题,需要把统一字符编码型数据转化成为非统一字符编码型数据。默认设置里,Excel数据是作为统一字符编码型数据,同样的,在你创建新表的时候,SQL Server会默认地把你的字符类型设为统一字符编码型(nchar、nvarchar等等……)如果你不需要存储统一字符编码型数据,你很可能一直都是在创建表的时候都使用像char和varchar这样的非统一字符编码型数据,那么怎么做才可以最方便地把Excel数据导入到非统一字符编码型列中呢?

  下面是两个不同的从Excel表导入数据到SQL Server中的例子。第一个例子中使用了统一字符编码型数据类型,而第二个例子则没有使用统一字符编码型数据。

  Excel表中的数据显示如下:

  例子1 —— SQL Server中的统一字符编码型数据类型

  我们的表“统一字符编码”定义如下:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i