当前位置:首页 > 审计之窗 > 审计信息化 > 内容

SQL Server导入Excel数据时 遇到无法恢复的解决方法
时间:2019-09-12 作者:来源:点击量:98



在日常的审计工作中,SQL Server数据库是常用的数据比对工具。除SQL Server数据库数据外,还经常需要把OracleMysqlAccess等数据库文件,ExcelTXT等非数据库文件放在一起比对。下面针对一种SQL Server数据库导入Excel数据时可能遇到的问题提供解决方法。

一、问题描述

在某次审计中,需要把被审计单位的Excel数据导入到SQL SERVER 2008 R2数据库中,采用直接导入的时候出现“无法恢复的错误”。错误提示如下图。

二、原因分析

该错误提示出现的原因一般为导入数据的格式不对,对该表的格式进行处理一般就可以解决问题。本例中有部分格式更改困难,反复修改都不能正常导入,最后采用“选择性粘贴”只粘贴“数值”的方式把它粘贴到新表中,导入时仍然出现上述错误提示。

此时就考虑将该文件导出成文本文件来排除格式对文档导入的影响。

三、解决方法

Excel导出的文本文件另存为TXT格式或CSV格式。下面介绍一下这两种格式。

(一)导出为TXT文件后导入

TXTTEXT,文本文件),微软操作系统上附带的一种文本格式,是最常见的一种文件格式。该格式只能支持纯文本。

(二)导出为CSV文件后导入

CSVComma-Separated-Values 逗号分隔值,还有写作Character Separated Values 字符分隔值),该格式中分隔符可以是逗号也可以是其他符号。在Excel导出时显示的是“逗号分隔符”,导出的数据使用逗号分隔,所以我们先将它理解为逗号分隔的不包含格式、公式、宏等的纯文本文件。该种文档中每个字段使用英文逗号做分隔,每条记录都存储为一行文本文件,每一条新行都表示一个新的数据行。

保存为这种格式时需要注意以下问题:

1.当Excel另存为CSV文件时会弹出对话框“XX.CSV可能含有与CSV(逗号分隔)不兼容的功能。是否保持工作簿的这种格式”。每次另存为的时候都会出现此提示,这个提示并不能表明导出有问题,这是因为Excel导出为CSV时所有格式、图像、公式等内容都会丢失,软件做出的提示性消息,选择“是”即可。

2.在实践中Excel另存为CSV时,可能会出现数据尾数为零或是显示乱码的情况,这就需要打开导出后的文件进行验证。

(三)二者的区别

1CSV以逗号做列分隔,以回车或者换行为行分割,TXTTAB或空格为列分隔符,以回车或换行为行分割。

2EXCELCSV文件可以相互直接生成,EXCEL软件可直接查看CSV文件。

(四)注意事项

不论使用哪种方法都要注意对导出后的文档进行查验,着重查看位数较多的数字(超过11位,如身份证号码)是否能正确导出。





(计算机审计管理中心)