SQL Server是一种主流数据库,它查询速度快、稳定性能高,在审计领域被广泛应用。然而在运用SQL Server采集数据时,导入文本(如txt、csv文件)文件的过程却极容易发生系统报错。
在某次数据采集中,为将txt文本文件准确导入SQL Server中,笔者根据数据库的报错信息,在反复调整操作步骤之后,找到了导入数据正确方法。
一是新建数据库表字段的数据类型要与文本文件的字符集相匹配。进入SQL Server Management Studio(SSMS)主界面,点击“新建查询”菜单新建SQL文件,根据数据表字段编写并执行Create建表语句新建数据表。实操过程应关注两点,一要根据文本字符集选择正确字段数据类型,对于含有中文的数据表字段,字符集为UTF-8的只能选择nvarchar类型;二要将字段的数据长度适当地设置较长一些,减少数据被截断报错的几率。
二是导入文本文件的重要参数应设置正确。进入“导入和导出向导”常规菜单页。设置“数据源”参数,点击下拉框选择“平面文件源”类型,在“文件名”输入框中输入将要导入的文本文件的路径和名称。“代码页”参数值设置为文本文件的字符集类型,例如“UTF-8”。如果文本文件的字段中含“文本限定符”,则需设置“文本限定符”参数,否则导入过程会将文本限定符连同字段内容一并导入数据库表。例如,若文本限定符为引号,那么导入的数据表内容会显示字段内容被引号包裹,这会影响后续的查询分析。进入“导入和导出向导”高级菜单页,对数据表的每个字段逐一设置参数值,具体为将“OutputColumnWidth”参数设置为新建表的该字段长度数值,如果该字段含中文,还应将“DataType”参数设置为“Unicode字符串”。完成重要参数设置之后,按照“导入和导出向导”提示点击“下一步”按钮直至“完成”按钮,即可完成将文本文件导入至SQL Server数据库。(杨宁夫)

图为设置数据表常规菜单页参数

图为设置数据表高级菜单页参数