Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, научился ли MSSQL Server самостоятельно получать JSON от ресурса? Если да, то где почитать. Суть вопроса: хочу попробовать исключительно средствами MS SQL Server работать со внешним ресурсом посредством JSON (http|https, авторизация либо в заголовке либо в теле запросов). Ну что бы в процедуре можно было отправлять json-запрос на внешний ресурс и ловить ответ ответ и обрабатывать его... Если кому-то удалось, напишите, пожалуйста, простенький пример. Тут 7485552 читал (но у поста на днях десятилетний юбилей), а это мне как-то не помогло :( Заранее спасибо! -------------------------- No ROM Basic... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2019, 15:35 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Освойте уже CLR. А еще лучше нормальную очередь поставьте. Откуда это неугомонное желание именно из процедуры?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2019, 16:01 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичОсвойте уже CLR. А еще лучше нормальную очередь поставьте. Откуда это неугомонное желание именно из процедуры?... Если JSOn уж четыре года "как прикрутили", может и механизм появился. А если механизм есть, то зачем изобретать велосипед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2019, 18:13 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_, А, типа, когда блобы в сервер добавляли, должны были и медиа-проигрыватель для видосиков вставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2019, 18:48 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_..Если JSOn уж четыре года "как прикрутили", может и механизм появился...Работа с форматом JSON и взаимодействие с внешними системами - это концептуально довольно разные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2019, 19:59 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Гавриленко Сергей АлексеевичОсвойте уже CLR. А еще лучше нормальную очередь поставьте. Откуда это неугомонное желание именно из процедуры?... Если JSOn уж четыре года "как прикрутили", может и механизм появился. А если механизм есть, то зачем изобретать велосипед?Хранение данных в формате money ещё раньше притулили, но курсы обмена из ЦБ сиквел получать не умеет. И карты из Гугла не умеет, хотя геоданные тоже добавили. Всё таки обработка JSON, и импорт данных из интернета - разные вещи. Как минимум, это может быть в сиквельном средстве ETL (то есть в SSIS), но уж точно не в T-SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2019, 00:13 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_, без авторизации - как-то так авторизация - отдельный глум, зависимый от источника данных Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2019, 05:54 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
andy stSIMPLicity_, без авторизации - как-то так авторизация - отдельный глум, зависимый от источника данных Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Спасибо большое! Похожее видел. "Взял на карандашик" как вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2019, 09:46 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичSIMPLicity_, А, типа, когда блобы в сервер добавляли, должны были и медиа-проигрыватель для видосиков вставить? Так ведь сделали. Ну, не в прямом смысле слова, но... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2019, 09:47 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичОсвойте уже CLR. А еще лучше нормальную очередь поставьте. Откуда это неугомонное желание именно из процедуры?... Длина ПЕРЕДАВАЕМОЙ в CLR строки - 8000 байт (8000 символов для varchar и 4000 для Nvarchar). CLR может возвращать в качестве результата (return) только int32 (код возврата). Это для C# и MSSQL2017E ... --------------------------------------- Итог: всё равно приходится фигачиться с таблицами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2019, 18:36 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_, В курсе, что через sp_OACreate можно винт отформатировать? Никогда не включайте на корпоративном сервере OLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 01:10 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_, авторCLR может возвращать в качестве результата (return) только int32 (код возврата) Вы это насочиняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 01:17 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Длина ПЕРЕДАВАЕМОЙ в CLR строки - 8000 байт (8000 символов для varchar и 4000 для Nvarchar). Об этом тоже насочиняли. Для функций CLR допустимы все типы данных, включая определяемые пользователем типы данных CLR, за исключением типов данных text, ntext, image, определяемых пользователем табличных типов и типов данных timestamp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 01:25 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовSIMPLicity_, авторCLR может возвращать в качестве результата ( return ) только int32 (код возврата) Вы это насочиняли. Где насочинял? C# : ... public static string GetFromSite(SqlString connectionString) { //string string_ = connectionString.ToString(); //connectionString = string_.ToString().Length.ToString() + " > " +connectionString.ToString().ToLower(); return connectionString; // string string_ = connectionString.ToString(); // return connectionString.ToString().Length * -1 ; } ... Компилирую для FW 4.0 Регистрирую assembly. Строю процедуру и получаю отлуп: Ошибка CREATE PROCEDURE: процедура среды CLR может определяться только для методов, возвращающих один из следующих типов: , SqlInt32, System.Int32, System.Nullable<System.Int32>, void. MSSQL2017 Express (последний). Насчёт функции,- да, там можно (вероятно) хоть что угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 01:50 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Была идея сделать нечто красивое, НО... Нашёл вот это: CLR для работы с контентом: HTTP Requests Using SQLCLR (by Eilert Hjelmeseth, 2018-10-11) . Не всё сразу, но работает вроде. Если кому интересно - могу попробовать как-нибудь накатать перевод и обзор. Перекомпилировать dll пока не стал,- возможно, со временем перековыряю кусок под себя. Если будут у кого-то существенные правки и замечания,- пишите, пожалуйста, сюда. На всякий случай - ClrHttpRequest.zip (ссылка на оригинал - на оригинальной странице). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 02:33 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовSIMPLicity_Длина ПЕРЕДАВАЕМОЙ в CLR строки - 8000 байт (8000 символов для varchar и 4000 для Nvarchar). Об этом тоже насочиняли. Для функций CLR допустимы все типы данных, включая определяемые пользователем типы данных CLR, за исключением типов данных text, ntext, image, определяемых пользователем табличных типов и типов данных timestamp. Ухты! Честно использовал SqlString. Больше 8000 байт передать в CLR не смог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 02:42 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Ухты! Честно использовал SqlString. Больше 8000 байт передать в CLR не смог. Вот, в доке написано: Handling Large Object (LOB) Parameters in the CLRUse SqlBytes and SqlChars to pass large object (LOB) binary type (varbinary(max)) and LOB character type (nvarchar(max)) parameters, respectively. These types allow streaming the LOB values from the database to the common language runtime (CLR) routine, instead of copying the entire value into managed space. SqlBinary and SqlString should be used only for small binary and character string values. Кроме того, SqlChars сиквел передаёт и возвращает быстрее, чем SqlString, поэтому лучше использовать его в любом случае, если только не предполагается сложной обработки строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 07:48 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_, А почему вы используете процедуры там, где лучше использовать функции? Например, можно легко организовать массовую обработку набора данных, используя выражение SELECT вместо цикла и результат этой обработки возвращать в таблицу. При этом режим безопасности будет SAFE, т.к. не придется выполнять подключение к серверу. Решений, при которых _нельзя_ использовать CLR функции не так уж и много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 12:06 |
|
||
|
Как получить JSON от ресурса средствами самого MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовSIMPLicity_, А почему вы используете процедуры там, где лучше использовать функции? Например, можно легко организовать массовую обработку набора данных, используя выражение SELECT вместо цикла и результат этой обработки возвращать в таблицу. При этом режим безопасности будет SAFE, т.к. не придется выполнять подключение к серверу. Решений, при которых _нельзя_ использовать CLR функции не так уж и много. Я образумился, господин судья! Больше так не буду! См. выше на три поста ,- пока буду пользоваться найденным решением. Потом допилю. Нагрузка пока небольшая,- будет работать неспешно и надёжно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 20:53 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39843752&tid=1687465]: |
0ms |
get settings: |
15ms |
get forum list: |
24ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
6ms |
| others: | 251ms |
| total: | 448ms |

| 0 / 0 |
