我有一堆本地Python脚本需要从本地MS SQL Server执行。如果尝试导入标准的Python库(例如pandas),则没有问题。当我尝试导入一个名为Simulator.py的Python文件时,该文件位于C:/Users/amusaeva/PyCharmProjects/ARW/WorkforceModel文件夹中,就会出现错误。
EXEC sp_execute_external_script @language =N'Python',
@script=N'
import sys
sys.path.insert(0, "C:/Users/amusaeva/PyCharmProjects/ARW/WorkforceModel")
import Simulator
'
运行此SQL脚本时出现以下错误信息:
Msg 39004,级别16,状态20,行0
执行'sp_execute_external_script'时发生“Python”脚本错误,HRESULT为0x80004004。Msg 39019,级别16,状态2,行0
发生外部脚本错误:执行错误。查看输出获取更多信息。 Traceback(最近的调用):
文件 "",第5行,在
文件“C:\ ProgramData \ MSSQLSERVER \ Temp-PY \ Appcontainer1 \ D4294516-2993-475D-9F61-DF7C5AF4FE69 \ sqlindb_0.py”,第35行,在transform中导入Simulator
ModuleNotFoundError:没有名为'Simulator'的模块SqlSatelliteCall错误:执行错误。请查看输出以获取更多信息。
来自外部脚本的STDOUT消息:
SqlSatelliteCall函数失败。有关详细信息,请参阅控制台输出。Traceback(最近的调用):
文件“C:\Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ PYTHON_SERVICES \ lib \ site-packages \ revoscalepy \ computecontext \ RxInSqlServer.py”,第605行,在rx_sql_satellite_call中
rx_native_call("SqlSatelliteCall", params)文件“C:\Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ PYTHON_SERVICES \ lib \ site-packages \ revoscalepy \ RxSerializable.py”,第375行,在rx_native_call中
ret = px_call(functionname,params)RuntimeError:revoscalepy函数失败。
我知道在WorkforceModel目录中肯定有一个名为Simulator.py的Python脚本,并且我认为没有语法错误,因为当我通过PS窗口运行完全相同的三行Python代码时,该模块可以顺利导入。但是为什么我的存储过程无法看到Python脚本?
sys.path.insert(0, "C:\\Users\\amusaeva\\PyCharmProjects\\ARW\\WorkforceModel")
吗? - AlwaysLearning