Pandas 在没有连接字符串的情况下连接到 Oracle Db

Pandas connect to Oracle Db without connection string

我需要从 Oracle 数据库(使用 pandas)读取数据。 我正在使用 cx_oracle 库。本教程建议使用此指令创建连接:

connection = cx_Oracle.connect(username, password, connectString)

我没有连接字符串,只有主机、db_name、用户和密码。 如何创建连接或如何创建连接字符串?

编辑: 我有:

您需要以下变量(IP、端口、SID、用户名、密码)。创建游标后,您可以使用它来插入和查询数据库。

def dbquery(query_db, cred_db):
    """
    This function queries the Database
    """
    curs = cred_db.cursor()
    curs.execute(query_db)
    rows = curs.fetchall()
    curs.close()
    return rows

connectString= cx_Oracle.makedsn(IP, PORT, SID)
DB_CRED = cx_Oracle.connect(USERNAME, PASSWORD, connectString)
QUERY = "SELECT * FROM something WHERE blah blah"
RES = dbquery(QUERY, DB_CRED)

使用上面的代码,只需将您的查询分配给 QUERY 变量

试试 Oracle 的 Easy Connect 语法:

connection = cx_Oracle.connect(username, password, 'HOSTNAME:PORT/SERVICENAME')

参见 Oracle 文档 Understanding the Easy Connect Naming Method

或使用:

connectString = cx_Oracle.makedsn(IP, PORT, service_name=SERVICENAME)
connection = cx_Oracle.connect(username, password, connectString)