每次我尝试将Excel文件导入sql Server时都会遇到特定错误.当我尝试编辑映射时,所有数字字段的默认值都是float.我表中的所有字段都没有小数,而且它们不是货币数据类型.它们只有8位数字.但是,由于我不希望我的主键存储为浮点数时它是一个int,我该如何解决这个问题呢?它给了我某种截断错误,如果需要我会发布一个屏幕截图.这是个常见的问题吗?
应该注意的是,我无法导入Excel 2007文件(我想我已经找到了补救措施),但即使我尝试导入.xls文件,每个包含数字的值都会自动导入为浮点数,当我尝试改变它我得到一个错误.
解决方法
SSIS不会隐式转换数据类型,因此您需要明确地进行转换. Excel连接管理器只能处理一些数据类型,它会尝试根据文件的前几行进行最佳猜测.这在SSIS文档中完全是
documented.
你有几个选择:
>将目标数据类型更改为float
>使用导入向导加载到数据类型为float的’staging’表,然后使用CAST或CONVERT INSERT到真实目标表中以转换数据
>创建SSIS包并使用Data Conversion转换来转换数据
您可能还需要注意Import Wizard documentation中有关数据类型映射的注释.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。