天天看点

sql server2008导入文本文件

用sql server导入文本文件到数据库,我印象中是很麻烦的。多年不用sql server之后,今日再试试,果不其然,真TM麻烦啊。

导入的文件是IIS FTP的日志,很规范的一个文本文件了。但就是找不到一个日志分析工具,所谓的log parser 2.2并不支持FTP的日志。最后只能先导到SQL SERVER里。如果能导进去,也方便统计。

折腾。记录如下:

1、乱码问题

1)出现乱码,需要变换代码页,如图所示

sql server2008导入文本文件

2)注意导到目标表的相关含中文字段,应为nvarchar,而不是默认的varchar

sql server2008导入文本文件

设置为nvarchar,可能会有警告,选择忽略

sql server2008导入文本文件

2、字段不够长内容截断问题

有两方面

1)读取文件时,字段要足够长

sql server2008导入文本文件

2)目标表字段也要足够长3、字段命名问题

从文本文件导入数据,系统可以自动创建表,但字段名如何命名是个问题。应该采取的办法是,将字段名按照数据行的格式,按顺序写在第一行,让系统自动识别。

sql server2008导入文本文件
date time c-ip cs-method cs-uri-stem sc-status sc-win32-status sc-substatus sc-bytes cs-bytes time-taken x-session x-fullpath
2018-10-11 03:58:06 30.3.4.105 ControlChannelOpened - - 0 0 0 0 0 17034547-ee1d-44f5-b27c-ed72f4ef2898 -
2018-10-11 03:58:06 30.3.4.105 USER administrator 331 0 0 42 20 0 17034547-ee1d-44f5-b27c-ed72f4ef2898 -
2018-10-11 03:58:06 30.3.4.105 PASS *** 230 0 0 21 19 0 17034547-ee1d-44f5-b27c-ed72f4ef2898 /