CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

关于"拒绝了对对象 'xp_cmdshell'(数据库 'master',所有者 'dbo')的 EXECUTE 权限"的问题??

楼主sinnly(永恒)2005-04-14 11:01:09 在 .NET技术 / ASP.NET 提问

我从网上下了一个批量导入的存储过程,但我在用asp.net调用时提示错误,见下面!  
  create   procedure   File2Table  
  @servername   varchar(200)                                 --服务器名  
  ,@username   varchar(200)                                                 --用户名,如果用NT验证方式,则为空''  
  ,@password   varchar(200)                                                 --密码  
  ,@tbname   varchar(500)                                                 --数据库.dbo.表名,如果不指定:.dbo.表名,则导出数据库的所有用户表  
  ,@filename   varchar(1000)                                 --导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt  
  ,@isout   bit                                                                                                 --1为导出,0为导入  
  as  
  declare   @sql   varchar(8000)  
   
  if   @tbname   like   '%.%.%'   --如果指定了表名,则直接导出单个表  
  begin  
                  set   @sql='bcp   '+@tbname  
                                  +case   when   @isout=1   then   '   out   '   else   '   in   '   end  
                                  +'   "'+@filename+'"   /w'  
                                  +'   /S   '+@servername  
                                  +case   when   isnull(@username,'')=''   then   ''   else   '   /U   '+@username   end  
                                  +'   /P   '+isnull(@password,'')  
                  exec   master..xp_cmdshell   @sql  
  end  
  else  
  begin                 --导出整个数据库,定义游标,取出所有的用户表  
                  declare   @m_tbname   varchar(250)  
                  if   right(@filename,1)<>'\'   set   @filename=@filename+'\'  
   
                  set   @m_tbname='declare   #tb   cursor   for   select   name   from   '+@tbname+'..sysobjects   where   xtype=''U'''  
                  exec(@m_tbname)  
                  open   #tb  
                  fetch   next   from   #tb   into   @m_tbname  
                  while   @@fetch_status=0  
                  begin  
                                  set   @sql='bcp   '+@tbname+'..'+@m_tbname  
                                                  +case   when   @isout=1   then   '   out   '   else   '   in   '   end  
                                                  +'   "'+@filename+@m_tbname+'.txt   "   /w'  
                                                  +'   /S   '+@servername  
                                                  +case   when   isnull(@username,'')=''   then   ''   else   '   /U   '+@username   end  
                                                  +'   /P   '+isnull(@password,'')  
                                  exec   master..xp_cmdshell   @sql  
                                  fetch   next   from   #tb   into   @m_tbname  
                  end  
                  close   #tb  
                  deallocate   #tb                  
  end  
  GO  
  再执行时,提示如下错误!  
  数据导入错误:拒绝了对对象   'xp_cmdshell'(数据库   'master',所有者   'dbo')的   EXECUTE   权限。    
  问题点数:20、回复次数:1Top

1 楼coolksj(Jason.NET(请看,问题的背后是什么))回复于 2005-04-14 11:13:49 得分 20

xp_cmdshell   需要有系统权限,如果使用sa一定没问题Top

相关问题

  • 无法更改对象 'tree' 或其所属的某个子对象的所有者,因为新所有者 'dbo' 已有同名的对象。
  • 1。一个SQL2000的存储过程是导入的,所有者不是dbo,如何把所有者改回来.2。一个程序用的sql2000数据库,如何在sql2000上看到这个程序执
  • 改变表的所有者
  • 改变表的所有者
  • 《ASP.NET数据库入门经典》书中例子调试出错:拒绝了对对象 'sp_CustomersByState'(数据库 'Northwind',所有者 'dbo')的 EXECUTE 权限
  • 求助:数据库链接时出错:拒绝了对对象 'notice'(数据库 'gyzxstu',所有者 'dbo')的 SELECT 权限
  • 如何更改table的所有者?
  • ◆ ---- 如何改变文件的所有者 ---- ◆
  • ◆ ---- 如何改变文件的所有者 ---- ◆
  • 数据表所有者问题

关键词

  • 数据库
  • xp
  • 用户
  • sql
  • tbname
  • 导出
  • 权限
  • cmdshell
  • 导入
  • dbo

得分解答快速导航

  • 帖主:sinnly
  • coolksj

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo