sqlalchemy.exc.ResourceClosedError: Этот объект результата закрыт. при подключении к базе данных оракула. Во время подачи формы в колбу - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь получить доступ к базе данных, когда пользователь отправляет форму Я пытался установить соединение с базой данных в то время. Я новичок в sqlalchemy, поэтому я попытался таким образом, но не могу понять, почему возникает эта ошибка и как ее исправить, может кто-нибудь мне помочь.

def deptLogin():
    form = DeptLoginForm()
    if form.validate_on_submit():
        print('Before Error', file=sys.stderr)
        host='localhost'
        port=1521
        sid='sid'
        user='DBMS'
        password='Avinassh3'
        sid = cx_Oracle.makedsn(host, port, sid='xe')

        cstr = 'oracle://{user}:{password}@{sid}'.format(
            user=user,
            password=password,
            sid=sid
            )

        engine =  create_engine(
            cstr,
            convert_unicode=False,
            pool_recycle=10,
            pool_size=50,
            echo=True
        )
        eid=str(form.email.data) 
        with engine.connect() as connection:
            result = connection.execute('''select * from USERS where empid='''+eid)
            if(str(type(result.first()))!="<class 'NoneType'>"):
                op=result.first()
                result.close()
                if form.email.data == op[0] and form.password.data == op[1]:
                    flash('You have been logged in!', 'success')
                    return redirect(url_for('home'))
                else:
                    flash('Login Unsuccessful. INVALID PASSWORD', 'danger')
            else:
                flash('Login Unsuccessful. Please check username and password', 'danger')
    return render_template('deptLogin.html', title='Login', form=form)
...