Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从SQL Server中调用Python文件_Python_Sql Server - Fatal编程技术网

从SQL Server中调用Python文件

从SQL Server中调用Python文件,python,sql-server,Python,Sql Server,我在文件名中有Python脚本“C:\Python\HL.py” 在这个Python脚本中,有预测模型和对SQL数据库中某些表的更新 我想将此文件称为SQL作业 我怎样才能做到这一点 这个问题是不同的 提供的解决方案是通过SQL中的代理命令和脚本编写的 我只想从SQL Server作业中调用Python.py文件使用此脚本创建作业步骤 DECLARE @CMDSQL VARCHAR(1000) SET @CMDSQL = 'cmd.exe py "C:\Python\HL.py" ' Ex

我在文件名中有Python脚本“C:\Python\HL.py”

在这个Python脚本中,有预测模型和对SQL数据库中某些表的更新

我想将此文件称为SQL作业

我怎样才能做到这一点

这个问题是不同的

提供的解决方案是通过SQL中的代理命令和脚本编写的


我只想从SQL Server作业中调用Python.py文件

使用此脚本创建作业步骤

DECLARE @CMDSQL VARCHAR(1000)


SET @CMDSQL = 'cmd.exe py "C:\Python\HL.py" '
Exec master..xp_cmdshell @CMDSQL

但请确保您的xp\u cmdshell已启用

sp_configure 'show advanced options', '1'
RECONFIGURE
-- this enables xp_cmdshell
sp_configure 'xp_cmdshell', '1' 
RECONFIGURE

创建SQL Server代理作业步骤时,应选择:
1.步骤类型:操作系统(CmdExec)
2.运行方式:在这里您可以使用代理服务帐户(不太安全),或者更好的选择是创建专用服务帐户并将其注册为代理帐户。如果您决定使用代理服务帐户,您将向python脚本授予服务器管理员权限。

3.在命令类型中:“C:\Windows\System32\cmd.exe”“python C:\python\HL.py”

请参阅SQL Agent@Squirrel上的文档,这里没有关于python的内容!将其作为子系统执行
操作系统
命令使用SQL代理步骤的可能重复项是正确的,但我不同意使用SQL Server服务帐户、步骤类型“TSQL”和xp_cmdshell。我这样做了,但我只得到了以下信息:Microsoft Windows[Version 6.3.9600](c)2013 Microsoft Corporation。版权所有。NULL C:\Windows\system32>是否设置了python路径?