sql server中NULL导入decimal字段时报错

在导入CSV文件时,如果decimal字段为null值,导致文本文件入库时失败。

错误现象

构造例子

新建一张表,包含decimal字段。

create table dbo.test (id smallint, subtotal decimal(20,3))
select * from dbo.test

新建一个文本文件,将部分subtotal字段值设置为NULL

id,subtotal
1,20.3
2,10.3
3,5.3
4,NULL
5,NULL

使用ssms图形工具导入

按照全局设置导入时就会报错

对decimal字段错误选择忽略

只要单独忽略decimal字段的错误,就可以实现对null值所在的导入

如此设置之后,导入就能够成功。

1> select * from test
2> go
id subtotal
------ ----------------------
1 20.300
2 10.300
3 5.300
4 NULL
5 NULL (5 行受影响)

使用命令进行导入

文本文件的导入方式可以参照这篇文章

不加格式文件导入

1>
2> bulk insert dbo.test
3> from 'C:\Users\camash\Desktop\test.csv'
4> with(
5> fieldterminator=',',
6> rowterminator='\r\n'
7> )
8> go
消息 4864,级别 16,状态 1,服务器 RJD08,第 2 行
第 1 行、第 1 列(id)出现大容量加载数据转换错误(类型不匹配或者字符对于指定的代码
页无效)。

指定格式文件导入

  • 创建格式文件
BCP dm01.dbo.test format nul -f d:\dump\test.fmt -t"," -c -r"\n" -T

Due to how Microsoft Windows treats text files (\n automatically gets replaced with \r\n).

结果依然报错。

按照搜索一大片网页,发现要处理这种问题只能把数据导入到临时表中,此表的decimal字段设置为字符型,导入后在进行转换。

参考此文处理http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=109242

sql server中NULL导入decimal字段时报错的更多相关文章

  1. SQL Server中NULL的一个测试

    我们都知道SQL Server中NULL是一个很特殊的存在,因为NULL不会等于任何值,且NULL也不会不等于任何值.对于NULL我们只能使用IS或IS NOT关键字来进行比较. 我们先来看看下面一个 ...

  2. 从TXT文本文档向Sql Server中批量导入数据

    下面我们通过以下的简单的SQL语句即可实现数据的批量导入,代码如下: Bulk insert id From 'G:\文档\test.txt' With ( fieldterminator=',', ...

  3. SQL Server management studio使用sa连接时报错与伺服器的连接已成功,但在登入程序是发生错误

    使用Sql Server management studio的sa用户连接数据库时,报如下错误 解决方法: 1.使用windows验证登录 2.右键点击连接,点击属性,点击安全性,选择混合验证 3.重 ...

  4. SQL Server 2014查看服务器数据库字段报错 (Microsoft.SqlServer.Management.Sdk.Sfc)

    报错信息 无法为该请求检索数据. (Microsoft.SqlServer.Management.Sdk.Sfc) 未知属性 IsMemoryOptimized (Microsoft.SqlServe ...

  5. mysql,sql server,oracle 唯一索引字段是否允许出现多个 null 值?

    最近一个项目,涉及到sql server 2008,因为业务需求,希望建立一个唯一索引,但是发现在sql server中,唯一索引字段不能出现多个null值,下面是报错信息: CREATE UNIQU ...

  6. 从SQL Server中导入/导出Excel的基本方法(转)

    从sql server中导入/导出 excel 的基本方法 /*=========== 导入/导出 excel 的基本方法 ===========*/ 从excel文档中,导入数据到sql数据库中,很 ...

  7. SQL Server中bcp命令的用法以及数据批量导入导出

    原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...

  8. [转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

    原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Ser ...

  9. VBS将本地的Excel数据导入到SQL Server中

    VBS将本地的Excel数据导入到SQL Server中 高文龙关注0人评论1170人阅读2017-05-14 12:54:44 VBS将本地的Excel数据导入到SQL Server中 最近有个测试 ...

随机推荐

  1. MVC HtmlHelper

    HTML扩展类的所有方法都有2个参数: 以textbox为例子 public static string TextBox( this HtmlHelper htmlHelper, string nam ...

  2. 套汇问题 Floyd

    问题:套汇. 思路:Floyd 代码: #include <cstdio> #include <cstdlib> #include <ctime> #define ...

  3. limit 百万级数据分页优化方法

    mysql教程 这个数据库教程绝对是适合dba级的高手去玩的,一般做一点1万 篇新闻的小型系统怎么写都可以,用xx框架可以实现快速开发.可是数据量到了10万,百万至千万,他的性能还能那么高吗? 一点小 ...

  4. 合理利用 vs2013的性能分析跟诊断

    选择对应的项目==> 我正常是选择采样 就包括里面的一些耗时.  挺好用的. 可以根据热路径 还有访问的占比.知道哪个环节占用的访问时间 还有性能耗能多. 可以点进去 跟踪跟修改

  5. android 原生dialog对话框

    http://www.cnblogs.com/xiaoluo501395377/p/3419398.html

  6. SharePoint开发 - 自定义页面(错误页、登出页)

    博客地址 http://blog.csdn.net/foxdave 本文叙述如何自定义SharePoint的固有页面,比较简单,用一句话说就是"做个页面,写一句代码." 创建Sha ...

  7. iOS7中计算UILabel中字符串的高度

    iOS7中计算UILabel中字符串的高度 iOS7中出现了新的方法计算UILabel中根据给定的Font以及str计算UILabel的frameSize的方法.本人提供category如下: UIL ...

  8. hdu1712 线性dp

    //Accepted 400 KB 109 ms //dp线性 //dp[i][j]=max(dp[i-1][k]+a[i][j-k]) //在前i门课上花j天得到的最大分数,等于max(在前i-1门 ...

  9. poj2392 多重背包

    //Accepted 868 KB 188 ms //多重背包 #include <cstdio> #include <cstring> #include <iostre ...

  10. Ogre中OctreeSceneManager

    转自:http://blog.csdn.net/yanonsoftware/article/details/1067265 既然前面分析Mesh(Entity,SceneNode)的渲染时已经看到了O ...