3
看来当我使用callproc()时,psycopg2没有正确地将字符串转换为文本或字符。python + psycopg2 =未知类型?
例如:
values = [pid, 4, 4, 'bureau ama', 0, 130, row['report_dte'], row['report_dte'], 1, 1, 1, None, None, 'published', row['report_dte']]
cur.callproc('header', values)
收率:
psycopg2.ProgrammingError: function header(integer, integer, integer, unknown, integer, integer, unknown, unknown, integer, integer, integer, unknown, unknown, unknown, unknown) does not exist
LINE 1: SELECT * FROM header(509952,4...
首先, “局AMA” 是未知的,而不是文本/字符和行[ “report_dte”]都是未知的,其中它们是数据库中的日期类型,以及python中的datetime.date对象。
有什么想法?使用python 2.6.5。使用cur.mogrify(),查询看起来像:
SELECT header(509952,4,4,E'bureau ama',0,130,'2011-01-24','2011-01-24',1,1,1,NULL,NULL,E'published','2011-01-24')
不知道什么E'bureau pitcher ama'
手段...基于更新后的mogrify()
输出