python - 访问在 SQL Server 2017 上执行的 Python 脚本的 JSON 结果
问题描述
我有一个 Python 脚本,它输出我希望能够在 SQL Server 中操作的 JSON。
Python 脚本在 VS Code 中按预期运行,我还能够使用sp_execute_external_script
下面的存储过程让脚本在 SQL 服务器上运行,但这只是在结果窗口中将 JSON 打印为文本。
如何修改以下代码,以便我可以personJson
返回 SQL,然后我可以对其执行命令,例如OPENJSON()
等。
任何帮助是极大的赞赏
SQL/Python
execute sp_execute_external_script @language = N'Python',
@script = N'
import json
x = {
"name": "John",
"age": 30,
"city": "New York"
}
personJson = json.dumps(x)
print(personJson)'
期望的结果
select *
from openjson(personJson) --Where personJson comes from the Python script
with
(
PersonName varchar(50) '$.name'
, PersonAge int '$.age'
, City varchar(50) '$.city'
)
人名 | 人士 | 城市 |
---|---|---|
约翰 | 30 | 纽约 |
附加信息
- SQL 服务器 2017
- Python 3.5.2
解决方案
推荐阅读
- laravel - 在 laravel 中,将更新的值从视图传递到控制器,而无需提交按钮
- codeigniter - 如何检查参数是否为空或在codeigniter中是否有值?
- elasticsearch - elasticdump 如何使用偏移量?
- magento - Magento 2 - 分层导航(价格导航)仅适用于默认商店视图
- javascript - 当我使用 tesseract 运行代码时出现此错误,该过程将停止检查
- node.js - 每 15 秒查询一次 DB2 导致 NodeJS 中的内存泄漏
- javascript - 为什么谷歌浏览器会为 ajax 向 ebay-api 端点提供错误未知 url 方案获取请求
- ios - Xcode 编译带有链接器错误的 react-native 应用程序
- java - 使用 Python 反序列化 Java org.apache.kafka.common.serialization 序列化对象
- r - 如何将 for 循环的结果打印为 0 而不是整数(0)