设为首页 加入收藏

TOP

SqlServer2005存储过程执行BCP命令
2014-11-24 02:49:30 来源: 作者: 【 】 浏览:1
Tags:SqlServer2005 存储 过程 执行 BCP 命令

最近由于项目需要,加上自己之前所接触对存储过程的认识。所以整理一下,便于以后查看。

首先在SqlServer2005中建立mydb库,然后建立people表。

表结构如图所示:


需求:要求每天对固定盘符下的文件中的数据导入到库people表中。

需要采取存储过程:

首先新建了文件

内容如下:

[xhtml]
0001"|"cuiran"|"123456"|"0
0002"|"cuiran1"|"123456"|"0
0003"|"cuiran2"|"123456"|"0
0004"|"cuiran3"|"123456"|"0
0005"|"cuiran4"|"123456"|"0


存储过程代码如下(由于之前已经新建了,所以代码中显示的是修改请大家注意):

[java]
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go




-- Description:
-- =============================================
ALTER PROCEDURE [dbo].[BcpDataToPeople]
as
begin

declare @OpenDate varchar(8)
DECLARE @Sql VARCHAR(1000)
-- Add the parameters for the stored procedure here
SELECT @OpenDate=convert(varchar(8),dateadd(dd,-1,getdate()),112)

BEGIN
set @Sql='bcp mydb.dbo.people in D:/ftpdata/'+@OpenDate+'.txt -c -Usa -P111111 -t/"|/"'
EXEC MASTER..xp_cmdshell @Sql
END

end


执行存储过程就可以看到表中多了些数据。

弹出错误提示:

SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

可以通过使用外围应用配置器工具或运行 sp_configure 系统存储过程来启用它
1.1外围应用配置器工具

“Microsoft SQL Server 2005”、“配置工具”,再单击“SQL Server 外围应用配置器”。单击“配置外围应用”旁边的链接。默认值为 localhost。如果您以前选择的是一个命名服务器,则将会看到该服务器名称。选择“功能的外围应用配置器”,启用'xp_cmdshell'选项打勾即可。


作者 cuiran

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇堆表的在执行Select语句时的默认.. 下一篇SQL子句执行顺序和Join的一点总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: