我使用python中的hdbcli连接到hana db
SQL命令执行通过我的连接工作:
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,我可以通过以下方式执行此fo示例: 在操作系统级别创建文件:
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中的
;
),并从这些分隔符之间的字符串生成各个命令相关问题 更多 >
编程相关推荐