这是SS 2005.
为什么我只有4000个字符而不是8000个?
它在4000处截断字符串@ SQL1.
ALTER PROCEDURE sp_AlloctionReport(
@where NVARCHAR(1000),
@alldate NVARCHAR(200),
@alldateprevweek NVARCHAR(200))
AS
DECLARE @SQL1 NVARCHAR(Max)
SET @SQL1 = 'SELECT DISTINCT VenueInfo.VenueID, VenueInfo.VenueName, VenuePanels.PanelID,
VenueInfo.CompanyName, VenuePanels.ProductCode, VenuePanels.MF, VenueInfo.Address1,
VenueInfo.Address2, '' As AllocationDate, '' As AbbreviationCode, VenueInfo.Suburb, VenueInfo.Route, VenueInfo.ContactFirstName,
VenueInfo.ContactLastName, VenueInfo.SuitableTime, VenueInfo.OldVenueName,
VenueCategories.Category, VenueInfo.Phone, VenuePanels.Location, VenuePanels.Comment,
[VenueCategories].[Category] + '' Allocations'' AS ReportHeader,
ljs.AbbreviationCode AS PrevWeekCampaign
FROM (((VenueInfo INNER JOIN VenuePanels ON VenueInfo.VenueID = VenuePanels.VenueID)
INNER JOIN VenueCategories ON VenueInfo.CategoryID = VenueCategories.CategoryID)
LEFT JOIN (SELECT CampaignProductions.AbbreviationCode, VenuePanels.PanelID, CampaignAllocations.AllocationDate
FROM (((VenueInfo …Run Code Online (Sandbox Code Playgroud) 我想GET每小时向 API发送一次 HTTP调用。我希望将此数据定向到我的 SQL Server 数据库(或 MySQL)。我是一名数据专家,而不是 Web 开发人员。
是否可以使用 SQL Server 进行此调用?如果是这样,如何?如果没有,最简单的解决方法是什么?
通过 SSMS 调用 REST 服务确实不是一个好主意。
顺便说一句,自从微软创建了存储过程 sp_OAMethod,甚至 Red Gate 的 Phil Factor向我们展示了如何使用它,我想试一试。
我想将 OpenStreetMap 中的一些数据直接导入 MSSQL,所以我从这里复制了一个很好的查询,并根据我的意愿进行了调整。
在这个例子中,我将返回纳尔逊的所有电影院:
DECLARE @obj AS INT
DECLARE @Uri AS NVARCHAR(4000)
DECLARE @Response AS VARCHAR(8000)
SET @Uri = 'http://overpass-api.de/api/interpreter?data=area[name="Nelson"]->.a;(node(area.a)[amenity=cinema];way(area.a)[amenity=cinema];rel(area.a)[amenity=cinema];);out;'
EXEC sp_OACreate 'MSXML2.ServerXMLHttp.3.0', @obj OUT
EXEC sp_OAMethod @obj, 'open', NULL, 'GET', @Uri, false
EXEC sp_OAMethod @obj, 'send'
EXEC sp_OAGetProperty @obj, 'ResponseText', @Response OUTPUT
SELECT @Response [response]
EXEC sp_OADestroy @obj
Run Code Online (Sandbox Code Playgroud)
很好很简单,我可以在 Postman 和 SSMS 中看到 REST 调用响应:
当我尝试从 …
我被告知在SQL Server 2000中使用SP_OACreate,SP_OAMethod存在安全风险.
我在程序集中使用强名称,并存储在SQL Server计算机上的GAC中.
有什么安全隐患/妥协?
sql-server ×3
t-sql ×2
api ×1
http ×1
nvarchar ×1
rest ×1
sql ×1
sqldatatypes ×1
ssms ×1
varcharmax ×1