gpt4 book ai didi

python - 从 MSSQL 运行 Python 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:50 24 4
gpt4 key购买 nike

我想从 MSSQL 2008 运行或执行 Python 脚本。

我有一个带有 python 的服务器,我想要的是本地网络中的任何 PC 都可以使用一些输入来执行该脚本,这些输入存储在 MSSQL 2008 R2 中。python 脚本用 pandas (read_sql) 读取这些变量,然后进行一些分析,它返回一个图像和一个表格,它们都保存在服务器的一个文件夹中,任何人都可以看到。

我遇到的问题是:我如何执行另一台有 python 的计算机中的 python 脚本,但我没有,我只需要存储的输出,但这些输出随时间变化,所以我必须随时执行该脚本?

我一直在尝试将 MSSQL 20008 与 cmd 作业(操作系统 (CmdExec))一起使用,这是代码:

USE msdb ;  
GO
EXEC dbo.sp_add_job
@job_name = N'hola' ;
GO
EXEC sp_add_jobstep
@job_name = N'hola',
@step_name = N'hola1',
@subsystem = N'CMDEXEC',
@command = N'python \..\script.py',
@retry_attempts = 1,
@retry_interval = 1;
GO

我执行了它的每个部分,但我没有收到任何错误,但是当我查看图像是否已创建时,我找不到它。 (我将图像保存到已知文件夹:fig.savefig('C:\Images3\\Prueba3.png') )

我也尝试使用 xp_cmdshell

EXEC xp_cmdshell 'python \\server\script.py';  
GO

但它返回此错误:“"python"no se reconoce como un comando interno o externo",但 python 在系统路径中。当我使用 cmd 并输入 python 时,它会打开 python,当我输入“python\server\script.py”时,它会执行脚本

我还尝试使用 xp_cmdshell,并使用 powershell 和脚本执行 python,当我在 power shell 中执行该脚本时它可以工作,但是当我输入此代码时:

EXEC xp_cmdshell 'powershell.exe -ExecutionPolicy Unrestricted -file  C:\Images3\script.ps1';  
GO

它给了我与之前“EXEC xp_cmdshell 'python\server\script.py'”相同的错误。

我正在使用 anaconda python,当我在 CMD 中输入路径时,它就在那里:请参阅带有 PATH 的图像 enter image description here

但是我不知道怎么执行。

请有人帮忙,或者知道其他方法来做到这一点。

非常感谢您的时间和支持

祝你有美好的一天!

最佳答案

它使用

EXEC xp_cmdshell 'C:/.../python.exe C:\...\script.py';  
GO

一个问题是你需要在xp_cmdshell中使用一个.exe,所以只用python命令是行不通的,你必须使用python.exe。另一个问题是 python 脚本必须在执行脚本的计算机中,以前脚本在公共(public)服务器中,但它拒绝了权限,当脚本目录更改为该服务器时,它起作用了!。

关于python - 从 MSSQL 运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44464928/

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