sql >> データベース >  >> Database Tools >> SSMS

SSMSおよびsp_OAMethod:VARCHAR(8000)より大きいデータ型はありますか?

    手をたたく。

    私は認めます、それは悪夢のような解決策ですが、それは物事を成し遂げます。解決策は次のように設定することでした:

    Declare @Response as table(Json_Table nvarchar(max))

    このようにして、nvarchar(max)を持つデータ型のテーブルを作成しました。 はい、65,535文字を保持できます 2GBまで データの。

    Declare @Object as Int;
    DECLARE @hr  int
    Declare @Response as table(Json_Table nvarchar(max))
    
    Exec @hr=sp_OACreate 'MSXML2.ServerXMLHTTP.6.0', @Object OUT;
    Exec @hr=sp_OAMethod @Object, 'open', NULL, 'get',
                     'http://overpass-api.de/api/interpreter?data=[out:json];area[name="Auckland"]->.a;(node(area.a)[amenity=cinema];way(area.a)[amenity=cinema];rel(area.a)[amenity=cinema];);out;', --Your Web Service Url (invoked)
                     'false'
    Exec @hr=sp_OAMethod @Object, 'send'
    Exec @hr=sp_OAMethod @Object, 'responseText', @Response OUTPUT
    
    INSERT into @Response (Json_Table) exec sp_OAGetProperty @Object, 'responseText'
    
    select * from @Response
    
    EXEC sp_OADestroy @Object
    

    より良い解決策を見つけたら投稿してください。よろしくお願いします。



    1. 日本語の文字を含むMySQL行を選択します

    2. mysqlの最小IDに基づいて重複するメールアドレスを削除する

    3. SSMSを介してdtsxを編集する

    4. MySQL-整数列のサイズ制限