Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cx_Oracle.DatabaseError:ORA-01858:日期时间错误格式_Python_Sql_Oracle_Oracle Sqldeveloper_Cx Oracle - Fatal编程技术网

Python cx_Oracle.DatabaseError:ORA-01858:日期时间错误格式

Python cx_Oracle.DatabaseError:ORA-01858:日期时间错误格式,python,sql,oracle,oracle-sqldeveloper,cx-oracle,Python,Sql,Oracle,Oracle Sqldeveloper,Cx Oracle,当我解析一个日期/时间参数时,我试图了解我收到的错误消息,例如: '29-SEP-1999 14:00:00' 与之相反: '29-SEP-1999' 前者不插入到表中,后者插入到表中。我怀疑NLS设置有问题,但设置不太清楚允许使用什么格式的日期/时间,因此随后我需要在python代码中重新格式化日期/时间。SQL Developer上NLS的当前设置为: Date format: DD.MM.RR HH24:MI:SSXFF 这是我的密码: sql_insert = 'insert in

当我解析一个日期/时间参数时,我试图了解我收到的错误消息,例如:

'29-SEP-1999 14:00:00'
与之相反:

'29-SEP-1999'
前者不插入到表中,后者插入到表中。我怀疑NLS设置有问题,但设置不太清楚允许使用什么格式的日期/时间,因此随后我需要在python代码中重新格式化日期/时间。SQL Developer上NLS的当前设置为:

Date format: DD.MM.RR HH24:MI:SSXFF
这是我的密码:

sql_insert = 'insert into sms_temtplate_test (date_sms, result_sms, msgid, msgparts) values (:1, :2, :3, :4)'
smsreport_text_new = ('29-SEP-1989 14:00:00', 'success', '2D67A865FBHFA25A9261C75E8D2F0F2B ', 1)

cursor.execute(sql_insert, smsreport_text_new)
connection.commit()
cursor.close()
connection.close()
您应该使用以下选项:

截止日期('1999年9月29日14:00:00','dd-mon-yyyyyyh24:mi:ss')

如果确实要插入字符串而不指定格式,可以发出以下命令:

alter session set nls\u date\u format='dd mon yyyy hh24:mi:ss'


您还可以将该字符串转换为Python中的datetime.datetime实例,然后简单地将其绑定到SQL语句。

SQL开发人员的NLS设置将不起任何作用,您能否将实际代码发布到插入日期的位置。原始的post修订版,请参见上文,而不是
'29-SEP-1989 14:00:00'
尝试
更新日期('29-SEP-1989 14:00:00','dd-mon-yyyyyyyyyyyh24:mi:ss')
在我的脚本中,我将其修改为:smsreport_text_new=('to_DATE('29-SEP-1959 14:00:00','dd-mon-yyyyyyyyyyyyh24:mi:ss'),'success','2d557a865fbhfa25a9261c75e8d2f0f0f2b',仍然不起作用,您收到的确切错误消息是什么。