使用flask_sqlalchemy问题解决-2021.3.26

初次运行报错,遇到的问题是:

TypeError:'twophase' is an invalid keyword argumet for this function

解决问题参考博主:https://blog.csdn.net/DYyunzhongxian/article/details/102521288/

主要问题是版本问题,要升级一下cx_oracle、sqlalchemy

查看cx_oracle

升级了一下sqlalchemy

 

接着第二个问题报错:

sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-12505: TNS:listener does not currently know of SID given in connect descriptor

这个问题主要是没有搜索到监听

根据网上搜索的文章重新设置监听https://www.jb51.net/article/91184.htm

 

这个是配置完了的tnsnames.ora文件  可以看到我当时配置的ORCL服务名(文件位置D:\app\EDZ\product\11.2.0\dbhome_1\NETWORK\ADMIN)

但是不知道为什么,用cx_oracle的这种写法测试,仍然报错

conn = cx_Oracle.connect("testdb","123456",'192.168.31.72:1251/ORCL')

 但这种写法就可以了

# dsn=cx_Oracle.makedsn('192.168.31.72','1521','ORCL')

# conn = cx_Oracle.connect("testdb","123456",dsn,encoding='UTF-8'

SQLAlchemy  # 导入扩展类  里面是这个样子写的!!!

app.config['SQLALCHEMY_DATABASE_URI'] = 'oracle+cx_oracle://testdb:123456@localhost:1521/ORCL'

 

 


版权声明:本文为xiuxiuxiu666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。