在python中调用notifyix过程时出现意外结果

时间:2019-06-26 10:26:44

标签: python-3.x informix

我创建了一个名为“ off_shift_timing”的过程。

当我从客户端执行以下查询时,它会给我预期的结果。

查询:-“执行过程off_shift_timing('13c236ed-ebcf-11e8-8549-f6bfe15867a6')”

但是,当我尝试使用ibm_db_dbi模块中名为callproc的函数执行相同的过程时,它将返回参数值,而不是预期的结果。

示例代码:-

连接类:

import ibm_db_dbi as db

class DatabaseInformix:

    Informix_DATABASE = data["Informix_DATABASE"]
    Informix_HOSTNAME = data["Informix_HOSTNAME"]
    Informix_UID = data["Informix_UID"]
    Informix_PWD = data["Informix_PWD"]
    Informix_PORT = data["Informix_PORT"]


    def __init__(self):
        try:
            self.connection = db.connect("DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;UID=%s;PWD=%s;" % (self.Informix_DATABASE, self.Informix_HOSTNAME, self.Informix_PORT, self.Informix_UID, self.Informix_PWD), "", "")
            self.cursor = self.connection.cursor()
        except db.Error as e:
            self.connection = ""
            logger.error('Informix Connection: %s', e._message)

    def query1(self, procname, param1):
        if(self.connection != ""):
            try:
                return self.cursor.callproc(procname, param1)
            except db.Error as e:
                logger.error('DB001 error in query : %s', e._message)

主类:-

obj1 = DatabaseInformix()

project_guid = '13c236ed-ebcf-11e8-8549-f6bfe15867a6'

results2 = obj1.query1('off_shift_timing', (project_guid,))

print(results2) 

输出:-

('13c236ed-ebcf-11e8-8549-f6bfe15867a6',)

但不是实际输出,它是元组形式的变量。

0 个答案:

没有答案