SqlServer2005存储过程执行BCP命令

来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 11:01 点击:

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

首先在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: <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
 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • sql常见面试题
    • SQL SERVER 2005性能之跟踪
    • SQL编程(一)
    • LINUX上RMAN自动备份脚本
    • sql server面试题
    • 如何将多个SQL查询统计结果一次显示出来
    • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
    • sql server 列转行
    • SQL小技巧系列 --- 行转列合并
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1