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

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日

悬赏问题

  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题