在sql2005中使用bcp 导出1000万条数据到txt中出现错误!

Dingnifei123 2009-08-28 01:24:20
环境:Win2003Server + MSSQL Server2005
操作语句:
declare @sql nvarchar(500)
set @sql='bcp "Select LogData from TestDB..TableData" queryout "c:\DT.txt" -T -c'
--select @sql
EXEC master..xp_cmdshell @sql
Go


输出结果:
output
---------------------------------
'bcp' is not recognized as an internal or external command,
operable program or batch file.
NULL

为什么会提示“'bcp' is not recognized as an internal or external command,”呢?
...全文
241 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dingnifei123 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liangck 的回复:]
我的电脑->右击->属性->高级->环境变量
  ->系统环境变量->PATH->最后加一个分号->再加上C:\Program Files\Microsoft SQL Server\90\Tools\Binn
[/Quote]
谢谢,
原来您说的是这个环境变量,
Dingnifei123 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jinjazz 的回复:]
引用 4 楼 dingnifei123 的回复:
引用 2 楼 jinjazz 的回复:
把bcp.exe找到,然后把路径写全

这样吗?
SQL codedeclare@sqlnvarchar(500)set@sql='C:\Program Files\Microsoft SQL Server\90\Tools\Binn\bcp.exe "Select LogData from TestDB..TableData" queryout "c:\DT.txt" -T -c'--select @sqlEXEC master..xp_cmdshell@sqlGo
试了不行,


不行报什么错呢?
[/Quote]
'C:\Program' is not recognized as an internal or external command,
报这个错,
liangCK 2009-08-28
  • 打赏
  • 举报
回复
我的电脑->右击->属性->高级->环境变量
->系统环境变量->PATH->最后加一个分号->再加上C:\Program Files\Microsoft SQL Server\90\Tools\Binn
feixianxxx 2009-08-28
  • 打赏
  • 举报
回复
开启xp_cmdshell 

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
jinjazz 2009-08-28
  • 打赏
  • 举报
回复
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
jinjazz 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dingnifei123 的回复:]
引用 2 楼 jinjazz 的回复:
把bcp.exe找到,然后把路径写全

这样吗?
SQL codedeclare@sqlnvarchar(500)set@sql='C:\Program Files\Microsoft SQL Server\90\Tools\Binn\bcp.exe "Select LogData from TestDB..TableData" queryout "c:\DT.txt" -T -c'--select @sqlEXEC master..xp_cmdshell@sqlGo
试了不行,
[/Quote]

不行报什么错呢?
chuifengde 2009-08-28
  • 打赏
  • 举报
回复
declare @sql nvarchar(500)
set @sql='cd "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\"&bcp "Select LogData from TestDB..TableData" queryout "c:\DT.txt" -T -c'
EXEC master..xp_cmdshell @sql
Go
Dingnifei123 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangck 的回复:]
在环境变量的PATH中有mssqlserver的Bin路径吗?
[/Quote]
不好意思,在哪里看环境变量?
Dingnifei123 2009-08-28
  • 打赏
  • 举报
回复
我已经用Sql2005中的外部工具(External Tools)配置bcp把数据成功导出了,
不过,我还是想知道怎样用命令来导出!
Dingnifei123 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jinjazz 的回复:]
把bcp.exe找到,然后把路径写全
[/Quote]
这样吗?
declare @sql nvarchar(500)
set @sql='C:\Program Files\Microsoft SQL Server\90\Tools\Binn\bcp.exe "Select LogData from TestDB..TableData" queryout "c:\DT.txt" -T -c'
--select @sql
EXEC master..xp_cmdshell @sql
Go

试了不行,
--小F-- 2009-08-28
  • 打赏
  • 举报
回复

试一下这样
你在一个数据库里面吧你需要查询的sql 建立成一个视图(或者存储过程)

然后吧bcp 里面的sql 替换为 select *from 你的视图名称即可。
jinjazz 2009-08-28
  • 打赏
  • 举报
回复
把bcp.exe找到,然后把路径写全
liangCK 2009-08-28
  • 打赏
  • 举报
回复
在环境变量的PATH中有mssqlserver的Bin路径吗?

22,210

社区成员

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

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