如何在Python中使用SQLAcehmy连接OracleDB



我试图通过在python中使用SQLacehmy访问oracle DB,但它没有工作。

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)

你可以试试这个。使用函数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
)

最新更新