把数据从文本导入数据库!请求帮助....

lxtf214 2006-10-23 04:47:33
文本中的内容如下:
Log_ID Type Date_Time Tracking_ID
1 08 08/15/2006 9121805213907090852275
2 08 08/15/2006 9121805213907101338033

现在要在程序中实现把这些数据导入sql中,请问应该怎样做?
...全文
368 14 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
SeeSunSet 2006-10-24
  • 打赏
  • 举报
回复
用SQLSERVE建一个DTS传送.然后用代码调用DTS运行即可.
lxtf214 2006-10-24
  • 打赏
  • 举报
回复
好的,谢谢了!
lxtf214@163.com

QQ 181263209
C5662601 2006-10-24
  • 打赏
  • 举报
回复
xuexi
daishengs 2006-10-24
  • 打赏
  • 举报
回复
或者:
Dim reader As StreamReader
reader = File.OpenText("d:/test.txt")
Dim l As String = reader.ReadLine()
l = reader.ReadLine()
While (Not l Is Nothing)
'Dim s() As String = l.Split(",")
'这里存入数据库的SQL语句
........
l = reader.ReadLine()

End While
reader.Close()
daishengs 2006-10-24
  • 打赏
  • 举报
回复
** 导入文本文件
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'

/** 导出文本文件
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'

EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'

其中
-U后为登录名称
-P后为登录口令
-S后为服务名称
-c代表使用可见文本方式导出数据
out导出
in导入
classone 2006-10-24
  • 打赏
  • 举报
回复
用DTS比较简单,不过俺为了学点东西,还是在用.net写.
我去网上找了些源码,这帮放源码的人太不厚道了,大多数全是打了包的,根本看不到,等我的系统做好了,我肯定共享出来:)
classone 2006-10-23
  • 打赏
  • 举报
回复
找到知音了,我现在正做这个呢,咱们相互交流呀.
导入部分我做完了,打开文件对话框这个问题把我给难住了.郁闷中
你有邮件吗?我可以把我做的那一部分发给你.
lxtf214 2006-10-23
  • 打赏
  • 举报
回复
没办法啊,即使效率不高,也要做啊!
yan63 2006-10-23
  • 打赏
  • 举报
回复
单条导入适合程序实现,比较容易的错误处理,代码量较大,效率不高
用文本导入工具不需要什么编码,效率高一点,不过错误处理麻烦,和.net的交互比较差,不适合程序实现,适合dba作备份
lxtf214 2006-10-23
  • 打赏
  • 举报
回复
感谢上面三位,还可以说的更详细点的吗?
yan63 2006-10-23
  • 打赏
  • 举报
回复
对sql server使用bcp,用法参考sql server联机帮助
对oracle使用sqlldr,同样是文本导入工具
程序中实现:
生成bcp/sqlldr的命令行文件,
ProcessStartInfo procState = new ProcessStartInfo(fileName);
procState.WorkingDirectory = descPath;
Process proc = new Process();
proc.StartInfo = procState;
proc.Start();
proc.WaitForExit();
aafshzj 2006-10-23
  • 打赏
  • 举报
回复
简单点的(如果你没有很好的ORM机制,就别用对象了):
1)打开事务
2)一行一行(根据0d0a或者0d)读文本,然后在行内解析出各字段内容
3)直接拼Insert查询语句并执行
4)提交或回滚。
jimu8130 2006-10-23
  • 打赏
  • 举报
回复
1.直接在sql server中将文本导入到数据库表但是你要确定你的数据合法化和格式化。
2.用StreamReader来读文本,一条记录一条记录的构造对象,然后通过对象来写数据库表。
xingyaohua 2006-10-23
  • 打赏
  • 举报
回复
1.直接在sql server中将文本导入到数据库表。
2.或者,用StreamReader来读文本,一行一行的构造对象,然后通过对象来写数据库表。

发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-23 04:47
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。