点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试使用Python调用d...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试使用Python调用d...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试使用Python调用dbcc procbuf()来查找缓存存储过程的表,这些表通过查找以下返回行来进行修改:
用于插入的锁定策略 db = 11 obj = 124002793锁=排他意图stat = 0x0
但是,在下面的Python程序中,dbcc procbuf命令没有返回任何结果(使用isql可以正常工作)。 任何可能知道原因的SAP Python专家? (例如,精美的消息处理程序选项?)
#!/opt/python-3.8/bin/python 导入系统 python_path_for_sybase = os.getenv(" SYBASE")+"/" + os.getenv(" SYBASE_OCS")+"/img/python/python34_64r/lib" sys.path.append(python_path_for_sybase) 导入sybpydb server =" MYSERVER" db =" mydb" 连接= sybpydb.connect( servername ='MYSERVER',user ='mylogin',password ='mypassword', dsn ='ChainXacts = false; ScriptName = mytest.py') cursor = connection.cursor() dbcc_procbuf_sql =""" dbcc traceon(3604) #参数是dbid,proc,... dbcc procbuf(16," myproc",1,1,1) "" cursor.execute(dbcc_procbuf_sql) return_rows = [] 尝试: return_rows = cursor.fetchall() 除了sybpydb.ProgrammingError作为myerror外: print("调用fetchall时出错。可能找不到行") if(len(return_rows)> 0): 对于return_rows中的return_row: print("返回的行=" + return_row) #这会返回"不可调用"错误 #用于connection.messages()中的消息: #print(" dbcc procbuf msg:" +消息) cursor.close() connection.close()
嗨,
问题是因为返回的消息是EED令牌/警告消息。
这不是结果集或返回的行。
消息/警告示例:
cur.execute(" dbcc traceon(3604)")
cur.execute(" dbcc procbuf(1,myproc,1,1,1)")
对于conn.messages中的混乱:
print("%s"%mess [1] [0])
https://help.sap.com/viewer/a1576559612d4e39886fc0ad4e093074/16.0.3.8/en-US/b075d06dbbf91014b330b5c8e55314f8.html?q=python%20messages
https://help.sap.com/doc/4c40a79c93f4485ca2a01c5ba806c3.8 /en-US/Adaptive_Server_Enterprise_Programmers_Guide_for_Python_en.pdf
致谢,
Ryan
一周热门 更多>