c:\calc.exe问题是你这个东西是干嘛的?

解决方案 »

  1.   

    是个windows计算器的程序,我只是用实现sql server中调用执行exe文件。想做个计划!
      

  2.   

    Exec xp_cmdshell 'c:\windows\calc.exe' 
    吧?
      

  3.   

    如果有其他错误,先开启xp_cmdshell
          打开外围应用配置器—>
            功能的外围应用配置器—>
            实例名\Database Engine\xp_cmdshell—>
            启用难道你们按照上面的代码都能正常执行 exe 文件吗?
      

  4.   

    只要是exe文件就行。
    sql 2005 ,sql 2008都一样,其他的dos命令都行,就是执行exe文件,总一直显示“正在执行查询”
      

  5.   

    删除、改名都能执行,就是执行exe文件
      

  6.   

    Exec xp_cmdshell 'run  c:\calc.exe'
    试试.
      

  7.   

    'run' 不是内部或外部命令,也不是可运行的程序
      

  8.   

    c:\calc.exe 这个东西如果里面没有东西,直接只是改一下文件名,在我机子上的确是不停地执行下去
      

  9.   

    楼上的,现在不是【c:\calc.exe】这个文件的问题,是所有的EXE文件都不能执行,【c:\calc.exe】只是我举了一个例子而已!谢谢!
      

  10.   

    不是不能执行, 调了之后你查进程看看。cmdshell调的程序无法加载windows窗口ui.
      

  11.   

    进程中确实有,但他确实没有执行。我做了一个exe程序【jh.exe】。
    这个程序是自动执行一个往c盘写入一个txt文件后,再自动退出的程序,没有循环,没有提示,写完就退出。
    但虽然进程有,但没有看到执行结果,而且还是【正在执行查询....】的死循环。难道要实现这个功能真的很难吗?期待高手呀!!!!!
      

  12.   

    并且这个程序在CMD命令窗口执行没有问题!比如:在命令行输入:d:\jh.exe,没有问题,执行成功!
      

  13.   

    已经说过了,在执行,你没看到窗口不代表没执行。
    有空了去看下win32的知识,看完就结贴吧。
      

  14.   

    楼主是windows7上的SQL Server吗?
    SQL Service的启动帐号选loacl system试试.用windows验证方式连进SQL再执行xp_cmdshell,
    该windows用户最好是本机administratot群组的成员.
      

  15.   


    已经解决了,是我的路径错误了。程序确实只要执行没有交互的就【正在执行查询....】就出现错误,现在行了!谢谢!注意几点:  1.权限  
    xp_deletemail 的执行权限默认授予 sysadmin 固定服务器角色的成员,但可以授予其他用户  
    2.执行方式  
    xp_cmdshell 以同步方式操作。在命令行解释器命令执行完毕之前,不会返回控制。  
    3.不能执行用户交互的命令,比如,执行记事本这种需要用户录入,关闭等操作的程序,就会挂死程序  
    4.如果程序是要弹出用户界面的,用户界面不会弹出  详细操作步骤我已经更新到博客上了:http://blog.csdn.net/dxnn520?viewmode=list多谢,马上结贴!
      

  16.   

    再被充一点,  通过xp_cmdshell调用的外部程序是不会被绘制windows窗口的,
    对于你的程序,xp_cmdshee调用它,进程执行后,一直在等待交互输入,因为没有被绘制图形(windows窗口)所以有办法给他输入,他就一直在那等, 因此你看到 分析器窗口里显示 正在执行, 因为这个exe在等待输入,也即意味着他会一直接收不到关闭消息(这一点可以看win32消息循环这些内容).   在这个exe进程未结束前,xp_cmdshell后面的sql语句都无法执行,因为tsql是单步的。
    当你从任务管理器关掉这进程后,后面的sql语句才会执行。同时如果你看调用状态的话,那么你的exe并不是正常退出的.你希望从查询分析器里通过xp_cmdshell调用个exe弹出窗,根本就是不可能的。如果微软在设计xp_cmdshell时没考滤到这一点,一段网站服务器端脚本,或者一个财务管理软件里干这破事了, 数据库服务器弹出个exe窗口等待交互, dba不被搞死?
      

  17.   

    好像找到窗口的句柄也不能发消息,收不到消息.我是先运行目标程序,保存窗口句柄,然后EXE直接调用这个句柄,SENDMESSAGE,
      

  18.   

    不能FINDWINDOW,也不能POSTMESSAGE.