文本文件导入的问题

panjf 2003-01-03 01:19:38
我有一个文本文件,需要导入到SQL SERVER中的几个表里面,用DTS向导只能导入到一个表,请问用什么方法可以快速的导入?
...全文
37 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
panjf 2003-01-09
  • 打赏
  • 举报
回复
这样怎么保证数据的关联呢?怎么知道插入表二的这条记录应该连接表一里的哪个记录呢?
alexwoowf 2003-01-09
  • 打赏
  • 举报
回复
TEXT--(DTS)-->TABTEMP
INSERT INTO TAB1 SELECT COL1 FROM TABTEMP
INSERT INTO TAB2 SELECT COL2,COL3 FROM TABTEMP
.......
panjf 2003-01-09
  • 打赏
  • 举报
回复
而且两个表是主从表。
panjf 2003-01-03
  • 打赏
  • 举报
回复
这样时可以导入,可我的文本文件是这样的

第一列要保存到表1,
第二、三列要保存到表2,
这样应该怎么做?
liuyxit 2003-01-03
  • 打赏
  • 举报
回复
刚又试了一下,导出成功!用导出的文件导入也通过了。应不是命令的问题。
原因是我的BOOK.txt是在excel里另存的文档,仍然打开着,所以出错。谢谢!
我再试试其它的!
liuyxit 2003-01-03
  • 打赏
  • 举报
回复
TO 大力:
我改你的语句为:
EXEC master..xp_cmdshell 'bcp test.dbo.sheet1 in d:\book.txt -c -q -S"liuyx" -U"sa" -P""'
--其中test为我的数据库,sheet1为我的表,liuyx为我的SQL服务名。SA为用户名,密码也为"".这没错吧!?
但运行后出现下面错误:
OUTPUT
1 SQLState = S1000, NativeError = 0
2 Error = [Microsoft][ODBC SQL Server Driver]无法打开 BCP 主数据文件
3 NULL

是何原因呢?我们都是初学者。很多不懂,请指点
pengdali 2003-01-03
  • 打赏
  • 举报
回复
如果你用 bcp 的话,在查询分析器中输入
EXEC master..xp_cmdshell 'bcp 库名.dbo.表1 in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
EXEC master..xp_cmdshell 'bcp 库名.dbo.表2 in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
EXEC master..xp_cmdshell 'bcp 库名.dbo.表3 in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
panjf 2003-01-03
  • 打赏
  • 举报
回复
先更新表一的,完后在更新表二的?
刚接触sql server,请多指教。
pengdali 2003-01-03
  • 打赏
  • 举报
回复
你不能一条语句一条语句写吗??
panjf 2003-01-03
  • 打赏
  • 举报
回复
谢谢大家,我是想知道同时更新多个表怎么做?
pengdali 2003-01-03
  • 打赏
  • 举报
回复
还可以:
用INSERT INTO table1(a,b,c,d) SELECT * FROM OPENROWSET('MSDASQL.1','Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=e:\','select * from a.txt')
pengdali 2003-01-03
  • 打赏
  • 举报
回复
ULK INSERT Northwind.dbo.[Order Details]
FROM 'f:\orders\lineitem.tbl'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = '|\n'
)

上海安哲投资咨询有限公司
地址:南汇区惠南镇城南路199号
邮编:201300
法人代表:郑智秀

上海拜昂投资咨询有限公司
地址:南汇区惠南镇城南路199号307室
邮编:201300
法人代表:马宵君

上海创园投资发展有限公司
地址:南汇区沪南公路9458号
邮编:201300 电话:58003821
法人代表:王超

上海创园投资咨询有限公司
地址:南汇区沪南公路9628号
邮编:201300
法人代表:瞿建龙

上海富成私营经济区投资发展有限公司
地址:南汇区惠南镇城南路
邮编:201300 电话:58003399
法人代表:徐金官

你的格式可以这么写
WITH
(
FIELDTERMINATOR = '\n',
ROWTERMINATOR = '\n\n'
)
pengdali 2003-01-03
  • 打赏
  • 举报
回复
bcp 可以实现数据的导入导出。
EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导入

EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect out c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导出
panjf 2003-01-03
  • 打赏
  • 举报
回复
可以说详细点吗?
CrazyFor 2003-01-03
  • 打赏
  • 举报
回复
BULK INSERT

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧