Hallo zusammen,
ich bin am verzweifeln. Ich habe eine Store Procedure, die über einen MSXML2.ServerXMLHTTP Aufruf REST-API Daten ( JSON) File abholt. Wenn ich diese jetzt normal über SSMS aufrufe und starte funktiniert diese ohne Probleme. Der Aufruf holt sich die JSON Daten ab und stellt Sie in einer Tabelle zur Verfügung. Wenn ich nun die SP über ein Batchfile (wird auch von der Aufgaben planer aufgerufen) sqlcmd -S localhost -d DBname -E -Q "EXEC [dbo].[usp_get_API]" aufrufe. gibt es zwei zustände. Wenn der zurückgelieferte JSON String kleiner 2048 Byte ist ist alles OK. Wenn er größer ist schneidet er bei 2048 Bytes ab und dadurch der JSON String ungültig. Die Tabelle in der der AUfruf schreib ist als DECLARE @json AS TABLE(Json_Table NVARCHAR(MAX)); angelegt. Wie gesagt das Fehlerbild kommt nur wenn die SP über SQLCMD aufgerufen wird. Es wird natürlich der gleich e User benutzt.
[
EXEC @ret = sp_OAMethod @token, 'open', NULL, 'GET', @url1, 'false';
EXEC @ret = sp_OAMethod @token,'setRequestHeader', NULL, 'Content-type', @contentType ;
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Authorization', @bearer;
EXEC @ret = sp_OAMethod @token, 'send', null;
-- Handle the response
exec @ret = sp_OAGetProperty @token, 'status', @status out;
INSERT into @json (Json_Table) EXEC sp_OAGetProperty @token, 'responseText';
]
Rechte sind soweit alle gesetzt.
Vielleicht hat jemand eine Idee wo ich noch ansetzen könnte.
LG
Michael
ich bin am verzweifeln. Ich habe eine Store Procedure, die über einen MSXML2.ServerXMLHTTP Aufruf REST-API Daten ( JSON) File abholt. Wenn ich diese jetzt normal über SSMS aufrufe und starte funktiniert diese ohne Probleme. Der Aufruf holt sich die JSON Daten ab und stellt Sie in einer Tabelle zur Verfügung. Wenn ich nun die SP über ein Batchfile (wird auch von der Aufgaben planer aufgerufen) sqlcmd -S localhost -d DBname -E -Q "EXEC [dbo].[usp_get_API]" aufrufe. gibt es zwei zustände. Wenn der zurückgelieferte JSON String kleiner 2048 Byte ist ist alles OK. Wenn er größer ist schneidet er bei 2048 Bytes ab und dadurch der JSON String ungültig. Die Tabelle in der der AUfruf schreib ist als DECLARE @json AS TABLE(Json_Table NVARCHAR(MAX)); angelegt. Wie gesagt das Fehlerbild kommt nur wenn die SP über SQLCMD aufgerufen wird. Es wird natürlich der gleich e User benutzt.
[
EXEC @ret = sp_OAMethod @token, 'open', NULL, 'GET', @url1, 'false';
EXEC @ret = sp_OAMethod @token,'setRequestHeader', NULL, 'Content-type', @contentType ;
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Authorization', @bearer;
EXEC @ret = sp_OAMethod @token, 'send', null;
-- Handle the response
exec @ret = sp_OAGetProperty @token, 'status', @status out;
INSERT into @json (Json_Table) EXEC sp_OAGetProperty @token, 'responseText';
]
Rechte sind soweit alle gesetzt.
Vielleicht hat jemand eine Idee wo ich noch ansetzen könnte.
LG
Michael