gpt4 book ai didi

c# - 从 SQL Server 运行可执行文件

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:51 24 4
gpt4 key购买 nike

我一直在研究如何运行外部 exe 文件。我到目前为止发现的是可以使用这个:

EXEC master..xp_cmdshell '"C:\New Folder\test.exe"'

而且这不能直接在触发器中调用,因为它必须等到执行完成才能完成触发器。

因此,鼓励的方法是安排一个计划作业来轮询表并从那里调用 .exe 文件,而不会产生任何性能问题。到目前为止,我已经接受了它并正在努力。

所以,在尝试这个之前,我正在研究实现之前必须学习的每个部分。我正在测试上面的代码片段,将数据库作为主数据库。我又试了几次。

EXEC master..xp_cmdshell '"C:\New Folder\r.rar"'

EXEC master..xp_cmdshell '"C:\New Folder\text.text"'

所以,我认为这个 xp_cmdshell 是一个普通的命令提示符。我期望可以看到 exe 文件的打开以及 tet 文件和 rar 文件的打开。但它不起作用。

我已经给出了以上详细信息来告诉我我的方法,如果您在早期的经验中有更好的方法,请反馈给我。提前致谢。

最佳答案

试试触发器

以下是从触发器运行 .exe 文件的代码:

CREATE TRIGGER trgAfterInsert on dbo.table_Demo
DECLARE @CMDSQL VARCHAR(1000)

设置您的 exe 文件的路径,如果需要可以包含参数文件。

SET @CMDSQL = 'cmd.exe /C "D:\Phoenix restart\612 League\code\PhoenixMallTest\bin\Release\PhoenixMallTest.Console.exe" App.ini'
Exec master..xp_cmdshell @CMDSQL
PRINT 'AFTER INSERT trigger fired.'

如果 sql server 阻止 xp_cmdshell 或说要启用 xp_cmdshell,您可以执行以下操作。

Use Master
GO

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
GO

关于c# - 从 SQL Server 运行可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11469457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com