关于txt文本导入数据库的问题

kane1021 2011-11-09 03:17:31
数据库的a表,有三个字段,现有一个txt格式的文本。
内容如下
aa|bb|cc
.
.
.
.
txt文本内的三个字段用“|”隔开的,
执行
EXEC master..xp_cmdshell 'bcp "temp0129..a" in D:\boss\d\d.txt -c -t , -S电脑名称 -Usa -Psa'
---------------------
NULL
开始复制...
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]在 BCP 数据文件中遇到的意外的 EOF
NULL
已复制了 0 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 1
NULL
------------------------------------
如果将文本的格式改为
aa,bb,cc
字段用“,”隔开就可以成功导入。


请教下如果字段用|隔开,如何导入?非常感谢!!
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kane1021 2011-11-09
  • 打赏
  • 举报
回复
1楼很快,正好我用上,非常感谢!!
也谢谢其他兄弟!!
-晴天 2011-11-09
  • 打赏
  • 举报
回复
declare @sql as varchar(2000)
set @sql = 'bulk insert temp0129..a from ''D:\boss\d\d.txt'' WITH(FIELDTERMINATOR =''|'',ROWTERMINATOR = '''+char(13)+char(10)+''',FIRE_TRIGGERS)'
exec( @sql)
中国风 2011-11-09
  • 打赏
  • 举报
回复
BULK INSERT 表名
FROM 'C:\name.txt'
WITH
(
FIELDTERMINATOR='|',
ROWTERMINATOR='/n'
);
--小F-- 2011-11-09
  • 打赏
  • 举报
回复
BULK INSERT temp0129..a 
FROM 'D:\boss\d\d.txt '
WITH (
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
--小F-- 2011-11-09
  • 打赏
  • 举报
回复
BULK INSERT 库名..表名 
FROM 'c:\test.txt'
WITH (
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
Mr_Nice 2011-11-09
  • 打赏
  • 举报
回复

EXEC master..xp_cmdshell 'bcp "temp0129..a" in D:\boss\d\d.txt -c -c -t"|" -r"\n" -S电脑名称 -Usa -Psa'

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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