Как извлечь более 1 переменной из Python, запущенной в SQL -запросе к SQL -таблице - PullRequest
0 голосов
/ 03 февраля 2020

Не могли бы вы подсказать, как извлечь в SQL более 1 переменной, что означает из сценария Python, написанного в SQL (например, tn -variable. Собственно, я хочу извлечь 6 переменных). Приведенный ниже запрос прекрасно извлекает значение переменной 1 - dataset_with_pred2.

Я пытался перечислить переменные через запятую, но столкнулся с ошибкой: сообщение 39012, уровень 16, состояние 1, строка 92

Невозможно связаться со средой выполнения для сценария 'Python'. Пожалуйста, проверьте требования времени выполнения * Python. Пользователь отменил запрос.

Большое спасибо.

INSERT INTO [dbo].[table_name]
           ([col1]
           ,[col2]
           ,[...]
           ,[coln])
exec sp_execute_external_script  
   @language =N'Python',    
   @script=N'

#python script here 
...
tn = 5
dataset_with_pred2 = dataframe
'
,
   @input_data_1=N'

select col1
      ,col2
 from dbo.table_name
 '
   ,@input_data_1_name = N'df'
,@output_data_1_name =  N'dataset_with_pred2'

1 Ответ

0 голосов
/ 07 февраля 2020

Из сценария Python можно вывести только 1 значение переменной. И тип переменной всегда должен быть pandas Dataframe. Это означает, что если вы хотите извлечь из сценария Python что-то, кроме таблицы (например, строки), вам придется поместить ее в таблицу, а затем извлечь ее из таблицы.

К сожалению, я нашел только документация на русском языке. Надеюсь, в вашей стране ссылка перенаправит вас в Engli sh версия: MS документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...