随着 SQL Server 2017 附带的 Python 功能的引入,我想知道是否有人能够使用 SSMS v17.x 并运行需要用户输入的 python 脚本。这是一个示例基本脚本:
execute sp_execute_external_script @language = N'Python',
@script =N' print ("This is a PYTHON test")
userinput = int(input ("Enter LBs to convert to KG"))
converted = userinput * 0.453592
print (converted) '
该脚本在 SSMS 中无休止地运行,而如果它只是一个打印语句;成功完成并产生打印结果。
我知道我可以使用像 Pycharm 这样的 Python IDE 控制台,但我想知道 SSMS 是否有这样的功能。我在互联网上的研究并没有那么富有成果。Python 的大部分使用都与建模和分析有关。
鉴于脚本是通过没有用户上下文(即显示等)的后端服务提交的,我看不到任何可能的方法。SSMS 未执行任何操作。它只是将这些语句提交给处理执行的 SQL Server(即使 SQL Server 然后将其传递给其他东西)。
解决这个问题的唯一潜在可能性,而且它
是本来是不可能的,即使它也不太可能成为实际的解决方法做确实有效,是针对 SQL Server Express LocalDB 运行此语句。因为 LocalDB 在用户模式下运行(不是 NT 服务),所以它确实可以访问控制台/显示。我知道这一点是因为我在使用 LocalDB 时能够通过 SQLCLR 弹出一个 Windows 对话框/确认框 :-D。但是,我只是尝试过,甚至无法
print
正常工作。因此,我检查了支持的功能列表(版本和 SQL Server 2017 的支持功能),Express Edition 中既不可用R
也不Python
可用,因此 LocalDB 中也不可用。:-(