[英]How to execute SQL Script with hdbcli in python
我使用 python 中的 hdbcli 連接到 hana db。
SQL 命令執行通過 cursor 我的連接工作:
conn = dbapi.connect(
address=os.environ['HOST'],
port=dbconnectport,
user=dbusername,
password=dbpasswd,
databasename=dbconnectdbname
)
...
cursor=conn.cursor()
和執行看起來像:
cursor.execute("Select USER_NAME from \"SYS\".\"USERS\" WHERE USER_NAME=\'%s\'" % varcrdbust)
對於單個查詢,它工作正常。 但是如何執行一個包含很多特殊字符的 sql 腳本呢? 通過 bash shell 我可以這樣做,例如:在操作系統級別創建文件:
tee >> $PRIVFILE << EOF
WITH
/*
[NAME]
- HANA_Security_CopyPrivilegesAndRoles_CommandGenerator_2.00.000+
[DESCRIPTION]
- Generates SQL commands that can be used to grant roles and privileges assigned to one user to another user or role
SQL script text here.........
然后通過hdbsql with argument -I <pathname/filename>
執行此操作 python 中是否有任何替代項? 也許沒有在操作系統級別使用文件創建?
謝謝大衛
所有 SAP HANA 客戶端一次只允許執行一個命令。
您作為示例選擇的監控腳本實際上只是一個命令:一個較大的 SELECT 語句。
因此,對於您想要執行的每個命令,您需要發送一個單獨的.execute
。
如果要處理包含多個命令的較大“腳本”文件,則需要注意“命令分隔符”字符(如 HANA Studio 或 hdbsql 中的;
)並從這些分隔符之間的字符串構建各個命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.