首页 > 解决方案 > 使用 create_engine 的 Python 中的 Oracle 连接

问题描述

我正在尝试使用create_engine. 此数据库没有用户名或密码。

我看到这是现在的格式:

oracle_db = sqlalchemy.create_engine('oracle://user:pass@server').

但是,如果此连接没有用户名或密码,那么连接字符串的外观如何?我试过DMIT_connection = create_engine('oracle+cx_oracle://@....)没有运气。当我使用将 pandas df 写入数据库to_sql时​​,出现以下错误,因为我无法正确连接,因为没有用户名或密码。

发生错误是因为该数据库没有用户名(从 localhost 机器获取)并且没有密码。

我得到的错误是这样的:DatabaseError: (cx_Oracle.DatabaseError) ORA-12545: Connect failed because target host or object does not exist (Background on this error at: http://sqlalche.me/e/14/4xp6)

标签: pythonoraclesqlalchemycx-oracle

解决方案


让我知道使用的身份验证类型。如果它的外部身份验证,从钱包中选择凭据,您可以尝试这里提到的示例代码

当我们使用带有TNS(网络服务名称)的钱包等外部授权时,如何使用SqlAlchemy连接类似于cx_oracle的数据库


推荐阅读