如何在sqlserver存储过程中调用交互式外部程序?

noblame 2004-05-05 12:46:19
因工作需要,我要在系统的存储过程中调用或启动一外部程序。
但Mssqlserver竟然不支持SQLJ,xp_cmdshell又不支持交互式的外部程序(如没有办法用xp_cmdshell启动windows的notepad或calc程序),另外就是那个在sql6.x就支持的sp_oaXXXXX系列过程也只能调用COM对象。我找了很多资料,都没办法解决,只有到这里请各位高手求救了,高分相谢!
...全文
156 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
noblame 2004-05-06
  • 打赏
  • 举报
回复
楼上的是说在exec.dll中调用外部程序,然后再把exec.dll中的函数定义为sqlserver的一个扩展procedure来调用吗?
我试了也不行。
我写了个这样调用是没什么问题,但关键调用后那个外部程序的图形界面不出来,看可以在任务管理器里面看到相应的进程。

请各位继续关注〉。。。。
zjbee 2004-05-05
  • 打赏
  • 举报
回复
使用扩展存储过程应该可以!用VC++写一个Exec.dll,然后再sql server中定义为xp_Exec,调用就可以了!
zjcxc 2004-05-05
  • 打赏
  • 举报
回复
扩展DLL不行,至少我用VB写过不行,在VB中调用没问题,一用存储过程调用就不行了.
zhaoloudy 2004-05-05
  • 打赏
  • 举报
回复
扩展DLL实现调用外部程序应该可以吧!用VC++写,先抓窗口句柄,再向窗口发消息,模拟按键盘,读控件信息。结果返回存储过程啦!
pan5 2004-05-05
  • 打赏
  • 举报
回复
我以前接触过呀!我是用VB定时调用储存过程做的呀!
noblame 2004-05-05
  • 打赏
  • 举报
回复
谢谢 zjcxc。

等待ing................
zjcxc 2004-05-05
  • 打赏
  • 举报
回复
一样不行,看来在SQL中没有什么好办法
zjcxc 2004-05-05
  • 打赏
  • 举报
回复
你自己写个扩展DLL实现调用外部程序嘛.

然后在SQL中用sp_oaxxx调用你的扩展DLL

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧