【问题标题】:Django Oracle cursor call external database viewDjango Oracle 游标调用外部数据库视图
【发布时间】:2020-03-27 15:41:32
【问题描述】:

我建立了从我的 Django 项目到外部 Oracle 数据库的连接,连接成功,我可以像这样正确调用存储过程或函数:

days = cursor.callfunc('VAC_DICT', cx_Oracle.NUMBER, (identification,))
result = cursor.callproc('PINS_VAC', [data.get('identification'),'true'])

问题是,我需要在那里调用一个名为“VAC_HIST”的数据库视图,但是当我这样尝试时:

periods = cursor.execute('VAC_HIST')

它让我“django.db.utils.DatabaseError: ORA-00900: invalid SQL statement”,明白了,我没有使用正确的语法是有道理的,但我搜索了很多找不到如何使用光标。调用视图的东西,例如“cursor.callview”或其他......

知道我缺少什么或缺少什么吗?提前致谢。

【问题讨论】:

    标签: django oracle database-cursor


    【解决方案1】:

    您需要在您的情况下使用 SQL 语句,如下所示

    您可以参考link

     periods = cursor.execute('SELECT periods FROM VAC_HIST WHERE 
     cond=%s',string1);
    

    【讨论】:

    • 我知道它很简单,就像一个魅力,谢谢!!
    • 或者,为了在 Oracle 数据库上获得更好的性能,您可以使用绑定变量:periods = cursor.execute( 'SELECT periods FROM VAC_HIST WHERE cond = :condition', ['aCondition'] )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多