相关疑难解决方法(0)

对于Nvarchar(Max),我只在TSQL中获得4000个字符?

这是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)

sql t-sql sql-server nvarchar sql-server-2005

12
推荐指数
1
解决办法
3万
查看次数

我可以从 SQL Server 调用 Web API 吗?

我想GET每小时向 API发送一次 HTTP调用。我希望将此数据定向到我的 SQL Server 数据库(或 MySQL)。我是一名数据专家,而不是 Web 开发人员。

是否可以使用 SQL Server 进行此调用?如果是这样,如何?如果没有,最简单的解决方法是什么?

sql-server http

3
推荐指数
1
解决办法
2万
查看次数

SSMS 和 sp_OAMethod:是否存在大于 VARCHAR(8000) 的数据类型?

通过 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 调用响应:

在此处输入图片说明

当我尝试从 …

api rest ssms sqldatatypes varcharmax

2
推荐指数
1
解决办法
1554
查看次数

使用SP_OACreate,SP_OAMethod等有安全隐患吗?

我被告知在SQL Server 2000中使用SP_OACreate,SP_OAMethod存在安全风险.

我在程序集中使用强名称,并存储在SQL Server计算机上的GAC中.

有什么安全隐患/妥协?

t-sql sql-server

1
推荐指数
1
解决办法
2万
查看次数