【问题标题】:How can I connect OracleDB in Python by using SQLAcehmy如何使用 SQLAcehmy 在 Python 中连接 OracleDB
【发布时间】:2021-12-11 13:24:34
【问题描述】:

我尝试在 python 中使用 SQLacehmy 访问 oracle 数据库,但没有成功。

from sqlalchemy
import create_engine
import cx_Oracle


DIALECT = 'oracle'
SQL_DRIVER = 'cx_oracle'
USERNAME = 'username'
PASSWORD = 'password'
HOST = '123.123.123.123'
PORT = 1521 
ENGINE_PATH_WIN_AUTH = DIALECT + '+' + SQL_DRIVER + '://' + USERNAME + ':' + PASSWORD + '@' + HOST + ':' + str(PORT) + '/

engine = create_engine(ENGINE_PATH_WIN_AUTH)

#test query
import pandas as pd
test_df = pd.read_sql_query('SELECT * FROM global_name', engine)

【问题讨论】:

    标签: python oracle11g sqlalchemy


    【解决方案1】:

    你可以试试这个。使用函数makedsn

    import cx_Oracle as ora
    import sqlalchemy
    
    def setup_db():
        user = "user_name"
        pwd = "password"
        dsn = ora.makedsn('some_ip', <some_port>, service_name="some_name")
        return sqlalchemy.create_engine(
            f"oracle+cx_oracle://{user}:{pwd}@{dsn}", 
            max_identifier_length=128, arraysize=5000
        )
    

    【讨论】:

    • 我没有服务名,只有sid,如何验证连接?
    • @pakwai122 如果您不知道服务名称,请不要使用该参数。让我们看看解析为默认值是否有效。
    • 没有错误,但是如何验证它正在连接数据库。
    • @pakwai122 尝试查询
    猜你喜欢
    • 1970-01-01
    • 2020-07-11
    • 2015-11-06
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 2022-06-13
    • 2015-11-05
    • 2022-08-09
    相关资源
    最近更新 更多