BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据
开启cmdshell的SQL语句
EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
判断存储扩展是否存在
Select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
返回结果为1就OK
恢复xp_cmdshell
Exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
返回结果为1就OK
否则上传xplog7.0.dll
Exec master.dbo.addextendedproc 'xp_cmdshell','C:\WinNt\System32\xplog70.dll'
-------------------------------------------------------------------------------
1)cmd命令行执行
bcp "库名.dbo.表明" out 目标路径 -c -T 回车
就开始复制,目标路径生成文件
OK
2)
通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行BCP。
如:EXEC master..xp_cmdshell 'BCP NTS.dbo.T_User out c:\User.txt -c -U"sa" -P"password"'
上面的sql语句用在c#代码中,
string sql = "EXEC master..xp_cmdshell 'BCP CITDatabase.dbo.PersonSurname out e:\abc.xls -c -T'";
SqlCommand cmdFrom = new SqlCommand(sql, conn);
弹出错误提示: