我们如何直接使用pyodbc将pandas数据帧写入Netezza数据库?

时间:2019-01-30 11:54:57

标签: python-3.x sqlalchemy pyodbc netezza

我在远程服务器上有Netezza数据库,我正尝试使用Pyodbc写入数据库。

从数据库中读取数据时,连接工作正常。但是尝试写入时,我无法写入Netezza数据库。它显示以下错误:

“错误:('HY000','[[HY000]错误:列4:字段不能包含空值(46)(SQLExecDirectW)')“

进一步检查第4列时,我发现指定的问题中没有Null值。

此外,我用来写入数据库的代码片段如下:

for row in Full_Text_All.itertuples():
     srows = str(row[1:]).strip("()")
     query2 = "insert into MERGED_SOURCES values('+srows+')"

在哪里, Full_Text_All是数据框的名称 表的名称是MERGED_SOURCES。

1 个答案:

答案 0 :(得分:1)

创建表时,第4列可能已定义为NOT NULL。 如果您可以访问表的DDL,则应该可以进行检查。

如果为列4指定了NOT NULL选项,建议您仔细检查要插入表中的数据:对于它们,与列4对应的值不应为null。