首页 > 解决方案 > 在 SQL Server 中从 JSON 创建一个 url

问题描述

我可以使用查询中的FOR JSON命令将我的 SQL 查询输出到 JSON。我需要做的是通过实时 URL 使 JSON 数据可用,我可以随时从 SQL Server 获取新数据集。

我的大部分研究向我展示了如何 A) 在 SSMS 中使用 JSON,或 B) 从 SSMS 输出 JSON。我需要的是一种获取 JSON 输出的方法,将其存储在我的 SQL 服务器外部的某个位置,并带有一个唯一的 URL,这将允许我在我的 Google 脚本中使用 fetchURL 命令从我的 SQL Server 更新我的 Google Sheet 中的数据。我已经知道如何将 JSON 数据解析为我的电子表格,并且我已经知道如何将我的 SQL 数据转换为 JSON 格式。缺少的链接正在为实时连接到我的 SQL Server 数据库的 JSON 数据创建一个 URL,该数据库在我每次获取它时都会刷新。下面是创建 JSON 对象的 SQL 代码(它是学生信息系统的 Aeries 演示数据库……查询返回高中所有学生的所有成绩……这是虚构数据)

--LIVE GRADES JSON

SELECT
    STU.ID as [Student.PermID],
    CONCAT(STU.LN,', ',STU.FN) AS [Student.LastFirst],
    STU.GR as [Student.Grade],
    GBK.PD as [Student.Period],
    TCH.TE as [Student.TeacherName],
    TCH.TN as [Student.TeacherNum],
    GBU.CSC as [Student.Percentage],
    LEFT(GBU.CMK,1) as [Student.Mark],
    STU.U3 as [Student.User3],
    STU.LF as [Student.LangFlu],
    STU.CU as [Student.CounselorNum],
    CAST(GBU.DTS as date) as [Student.LastUpdate]

FROM GBK
JOIN TCH ON (TCH.SC = GBK.SC AND TCH.TN = GBK.TN AND TCH.DEL = 0)
JOIN GBU ON (GBU.SC = GBK.SC AND GBU.GN = GBK.GN AND GBU.DEL = 0)
JOIN STU ON (STU.SC = GBU.SC AND STU.SN = GBU.SN AND STU.DEL = 0)

WHERE 
    GBK.DEL = 0 AND
    GBK.SC = 994 AND 
    STU.GR IN (9, 10, 11, 12) AND 
    GBU.TG != 'I' AND
    (GBK.TM = 'Spring' OR GBK.TM = '3' OR GBK.TM = '4' OR GBK.TM = 'Year') and
    GBK.PD < 8

ORDER BY STU.LN, STU.ID, GBK.PD

FOR JSON PATH, ROOT('Students')

我需要帮助创建 URL 和“存储”位置的方向,以便我可以随时从 Google 表格中的自定义脚本获取数据,而不必在 SSMS 中运行查询并将其复制粘贴到我的电子表格中. 我有 JSON,我知道如何将其解析为电子表格。我只是不知道如何创建和存储一个可以在需要时获取数据的 URL,并且它始终实时连接回我的 SQL Server 数据库。

标签: sqljsonsql-server

解决方案


推荐阅读