Команда работает отлично, когда я запускаю ее непосредственно в своей оболочке:
Код: Выделить всё
db2 'CALL GET_DBSIZE_INFO(?, ?, ?, 0);' | awk -F': *' '/Parameter Value/ { print $2 }'
Код: Выделить всё
2025-11-25-06.20.33.191132
3702824960
56861528064
Код: Выделить всё
import subprocess
con = "db2 connect to sample user **** using ****"
cmd = "db2 'CALL GET_DBSIZE_INFO(?, ?, ?, 0);' | awk -F': *' '/Parameter Value/ { print $2 }'"
res1 = subprocess.run(con, shell=True, capture_output=True, text=True)
res2 = subprocess.run(cmd, shell=True, capture_output=True, text=True)
print(res2.stdout)
print(res2.stderr)
- иногда стандартный вывод представляет собой пустую строку ""
- иногда я получаю эту ошибку:
Код: Выделить всё
SQL1024N A database connection does not exist. SQLSTATE=08003
Подробнее здесь: https://stackoverflow.com/questions/798 ... -sometimes
Мобильная версия