使用 create_engine

时间:2021-07-21 19:48:21

标签: python oracle sqlalchemy cx-oracle

我正在尝试使用 create_engine 在 Python 中连接到 oracle 数据库。此数据库没有用户名或密码。

我看到这是现在的格式:

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

然而,如果这个连接没有用户名或密码,连接字符串会是什么样子?我试过 DMIT_connection = create_engine('oracle+cx_oracle://@....) 没有运气。当我使用 to_sql 将 Pandas df 写入数据库时​​,我收到以下错误,因为我无法正确连接,因为没有用户名或密码。

发生错误是因为这个数据库没有用户名(从本地机器上获取),也没有密码。

我得到的错误是: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)

1 个答案:

答案 0 :(得分:1)

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

How to use SqlAlchemy to connect Database similar to cx_oracle when we use external authorization like wallets with TNS(net service name)

相关问题