繁体   English   中英

无法从pyodbc运行db2命令

[英]Cannot run db2 commands from pyodbc

我需要通过pyodbc驱动程序通过python自动执行几个IBM DB 2命令。 我已经通过DB2 ODBC驱动程序成功连接到数据库,并且可以运行SELECT,INSERT,CREATE TABLE命令。 我需要运行诸如db2levellist node directory show detail等命令,这些命令显示异常如下:

pyodbc.ProgrammingError: ('42601', '[42601] [IBM][CLI Driver][DB2/LINUXX8664] SQL0104N  An unexpected token "END-OF-STATEMENT" was found following "db2level".  Expected tokens may include:  "JOIN <joined_table>".  SQLSTATE=42601\n (-104) (SQLExecDirectW)')

这是我的python pyodbc代码:

import pyodbc

cnx = pyodbc.connect(
    'Driver={DB2}; '
    'Hostname=192.168.0.185; '
    'Port=50005; '
    'Protocol=TCPIP; '
    'Database=ABC; '
    'CurrentSchema=db2inst8; '
    'UID=db2inst8; '
    'PWD=12345;'
    )
cursor = cnx.cursor()
cursor.execute("db2level")

“ db2level”是一个外部程序,它不是SQL,您无法通过pyodbc调用它。 您可以使用与调用任何外部命令相同的方式来调用命令db2level(只要它在同一主机名上)。

如果要使用SQL查找DB2服务器的DB2版本/修订包,则可以连接到数据库并为此使用db2提供的视图/功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM