1


我想从 .dat 文件批量插入数据。
但问题是该文件不包含任何我可以分隔不同值的字符。
实际上该文件包含由考勤机生成的代码,代码看起来像

31201201100915000100000043210001
31201205301806000200000043210011

以上两行是员工4321
1 天的考勤,第一行是 TimeIn 条目,第二行是 TimeOut 条目,
详细信息如下

31 - 机器代码
2012 - 年
01 - 月
10 - 天
09 - 小时
15 - 最小值
0001 - 输入或输出(0001 表示输入,0002 表示输出)
0000000061 - 员工代码
0001 - 终端编号(终端输入为 0001,终端输出为 0011)

我可以批量导入此文件吗?如果是,那怎么办?谁能告诉我如何解决这个问题?

谢谢

我正在使用 SQL Server 2000 :(

4

2 回答 2

0

您需要使用 BULK INSERT 或 BCP 将数据放入临时表,然后使用 SUBSTRING() 和 CAST()/CONVERT() 函数解析出列。

于 2012-12-12T13:19:56.560 回答
0

使用 Environment.Newline 操作符将 dat 文件读入字符串

string[] Lines = System.IO.ReadAllLines("dat.file");

然后为每一行做一些事情

Int MachineCode = Lines[0].SubString(0,2);
Int Year = Lines[0].SubString(2,4);
于 2012-12-12T13:26:00.050 回答