Я создал скрипт на python и увидел, что единственный способ, которым я могу попытаться запустить его в SQL-запросе, - это если я превратил его в файл .exe и попытался запустить в SQL-запросе.
Я пробовал следующее. Но не повезло, и я не могу найти хорошее пошаговое руководство о том, как этого добиться.
EXEC xp_cmdshell '"C:\Users\USER\Desktop\pythonexe\dist\dbtest.exe"'
Результат от ssms
1 Access is denied
2 NULL
Я сделал все необходимые настройки, необходимые для xp_cmdshell, и когда я запускаю exe-файл, просто дважды щелкнув по нему, он работает нормально.
Я подозреваю, что это как-то связано с пользователями и разрешениями. Но я не могу найти хорошее руководство о том, как это настроить.
То, что делает мой скрипт на Python, - это получение данных из запроса и их анализ в API шлюза обмена текстовыми сообщениями. Когда я запускаю это в Python, он работает нормально. Теперь мне нужно запустить этот прогон в студии управления сервером сиквела как часть хранимой процедуры. Это поможет автоматизировать процесс отправки текстовых сообщений из полученных данных. Это скрипт Python
cursor = conn.cursor ()
cursor.execute ('ВЫБЕРИТЕ верхний 1 телефон, сообщение с смс1 ГДЕ ЛЕН (телефон) = 13')
for row in cursor:
username = "sandbox"
apikey = "bf6c41a2be6"
africastalking.initialize(username, apikey)
sms = africastalking.SMS
number = [row[0]]
recipients = number
message = row[1]
print(number, message)
sender = "MegaLtd"
try:
response = sms.send(message, recipients, sender)
print(response)
except Exception as e:
print(f"Houston, we have a problem {e}")
Когда я пробую это в ssms, я получаю синтаксическую ошибку. Как я могу запустить вышеупомянутый скрипт Python в SQL. Я изучил процесс sp_execute_external_script и запускаю SSQL Server 2017 и установил python и r соответственно.