m0_37908418 2022-04-04 16:44 采纳率: 70.2%
浏览 181
已结题

python 执行oracle sql 报错 ORA-00900: invalid SQL statement

用python 连接oracle 正常,因为一段sql比较复杂 生成sql 格式文件 然后用python 执行sql 但是报错

sql=r'C:\Temp\frs.sql'

res=cur.execute(sql)
conn.commit()

报错:
res=cur.execute(sql)

DatabaseError: ORA-00900: invalid SQL statement
因为sql里有以下语句 不知是否这个原因

img

where
date = '20200502'
and datetime='20200502 11:50:00'

怎样解决

  • 写回答

5条回答 默认 最新

  • CSDN专家-showbo 2023-03-09 15:47
    关注

    来源:https://blog.csdn.net/weixin_39855998/article/details/129014190

    
    # _*_ coding:utf-8 _*_
    import os
    '''
    背景:plsql工具连接oracle数据库不支持批量导入sql脚本,用惯navicat的朋友不太习惯。
    操作:
    1.第一步登录PLSQL
    2.选择File>New>Command Windows(命令窗口)
    3.输入@符号,之后敲击回车键。从本地选择执行的SQL脚本。
    4.想批量执行sql脚本,可以新建一个文本,使用@拼接本地路径。
    5.本脚本执行后,直接执行:@E:\\plsql-python-sql\\finish_sql.txt即可
    时间:20230213
    '''
     
    class Oraclesql:
        def __init__(self, path):
            self.path = path
     
        def searchfile(self):
            # 检索目标目录文件
            list1 = []
            file = os.listdir(self.path)
            for i in file:
                if str(i.split(".")[-1]) == 'sql':
                    abs = os.path.join(self.path, i)
                    list1.append("@" + abs + ";")
            return list1
     
        def shuchu(self):
            # 输出为当前目录下的文件
            with open(os.path.join(self.path, "E:\\plsql-python-sql\\finish_sql.txt"), "w+", encoding="utf-8") as file1:
                for a in self.searchfile():
                    file1.write(a + '\n')
     
     
    if __name__ == "__main__":
        # sql脚本存放位置
        a = Oraclesql(r"E:\plsql-python-sql")
        a.shuchu()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 4月4日

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题