Я новичок в Python и хочу использовать значения из SQL-запроса, а не передавать параметр в скрипт.Это значение находится в базе данных сервера SQL
. Я получил его, передав в качестве параметра EmployeeID
, поэтому я просто использовал динамический SQL для построения вызовов Python, сохранения и запуска в файле .bat.
Я хочу добавить 'Select EmployeeID from ciphr_staging where date_left is null'
в качестве входного запроса, чтобы указать значение в конце URL-адреса, и просмотреть все employeeID
, возвращаемые запросом.
import json
import pyodbc
import requests
import sys
user = sys.argv[1]
url = "https://someurl.com/api/PersonPhoto/{}".format(user)
headers = {
'Accept': "application/json",
'Authorization': "apikey ekereeerererereerrerererererereere",
'Content-Type': "application/json",
'cache-control': "no-cache"
}
response = requests.request("GET", url, headers=headers)
RTP = response.text
RTP = "{\"PersonPhoto\": [" + RTP + "]}"
data = json.loads(RTP)
ID,Photo,PhotoDate,PhotoType = [],[],[],[]
for device in data['PersonPhoto']:
ID.append(device[u'ID'])
Photo.append(device[u'Photo'])
PhotoDate.append(device[u'PhotoDate'])
PhotoType.append(device[u'PhotoType'])
connStr = pyodbc.connect(
"DRIVER={SQL Server};"
"SERVER=Testme;"
"Database=Intranet;"
"Trusted_Connection=yes;"
)
cursor = connStr.cursor()
sql = "INSERT INTO dbo.Employee_Photo2 ([EmployeeID],[PhotoBinary],[PhotoDate],[FileType]) VALUES (?,?,?,?)"
vals = [(int(device[u'ID']), device[u'Photo'], device[u'PhotoDate'], device[u'PhotoType']) \
for device in data['PersonPhoto']]
cursor.executemany(sql, vals)
connStr.commit()
cursor.close()
connStr.close()