python - cx_Oracle.NotSupportedError : Python value of type tuple not supported

标签 python oracle cx-oracle

我正在尝试将数据插入 Oracle 数据库,在此过程中我收到此错误 cx_Oracle.NotSupportedError:不支持类型元组的 Python 值。

我正在使用的脚本

curs.execute('insert into APP(APP_CODE,APP_NAME,PARENT_APP_CODE,INSERT_DTTM,INSERT_USER,UPDATE_DTTM,UPDATE_USER,IDFED_PROVIDER_ID,IDFED_SAML_GTWY_URL,TEMPLATE_FTL,USER_ACCTS_FLAG,XML_DATA_FLAG,CAPS_REQUIRED,SESSIONID_REQUIRED) VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14)'',row_data)

数据库架构

(APP_CODE VARCHAR2(50 BYTE) NOT NULL 
, APP_NAME VARCHAR2(80 BYTE) NOT NULL 
, PARENT_APP_CODE VARCHAR2(20 BYTE) 
, INSERT_DTTM TIMESTAMP(6) DEFAULT SYSDATE NOT NULL 
, INSERT_USER VARCHAR2(150 BYTE) DEFAULT USER NOT NULL 
, UPDATE_DTTM TIMESTAMP(6) DEFAULT SYSDATE NOT NULL 
, UPDATE_USER VARCHAR2(150 BYTE) DEFAULT USER NOT NULL 
, IDFED_PROVIDER_ID VARCHAR2(1000 BYTE) 
, IDFED_SAML_GTWY_URL VARCHAR2(2000 BYTE) 
, TEMPLATE_FTL CLOB 
, USER_ACCTS_FLAG VARCHAR2(30 BYTE) 
, XML_DATA_FLAG VARCHAR2(30 BYTE) 
, CAPS_REQUIRED VARCHAR2(1 BYTE) DEFAULT 'N' 
, SESSIONID_REQUIRED VARCHAR2(1 BYTE) DEFAULT 'N')

谁能帮帮我吗?

最佳答案

I am using currently:

row_data = [("appcode","appName","parent_app_code",datetime.datetime.now(),"insert",datetime.datetime.now(),"update_user","idfed_provider_id","idfed_SAML_gateway_URL","template","false","true","N","Y")]

row_data 是一个包含 14 个项目的元组的列表。 curs.execute 正在将列表的第一个元素分配给 :1;但是,第一个元素是导致抛出错误的元组。

正如@Matthias所述您应该删除 [] 列表或 () 元组:

row_data = ("appcode","appName","parent_app_code",datetime.datetime.now(),"insert",datetime.datetime.now(),"update_user","idfed_provider_id","idfed_SAML_gateway_URL","template","false","true","N","Y")

row_data = ["appcode","appName","parent_app_code",datetime.datetime.now(),"insert",datetime.datetime.now(),"update_user","idfed_provider_id","idfed_SAML_gateway_URL","template","false","true","N","Y"]

关于python - cx_Oracle.NotSupportedError : Python value of type tuple not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58909841/

相关文章:

python - Python 中使用 numpy 进行多元回归

python - MySQL Encoding 4 byte in 3 byte utf-8 - 不正确的字符串值

Python:使用index/find在HTML中搜索Unicode字符串返回错误的位置

oracle - 我可以跳过证书验证 oracle utl_http 吗?

python - 将python连接到oracle

python - 获取 pandas 数据框中总数的百分比

oracle - 使用 oracle decode 解码两个值

python - 使用 python 获取 Oracle 数据库的模式

python - cx_Oracle 和输出变量

sql - 按周分区 - Oracle 数据库