python - Pandas 连接到 Oracle Db 无需连接字符串

标签 python oracle pandas connection-string cx-oracle

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

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

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

编辑: 我有:

  • 主机名
  • 端口
  • 服务名称(不是 SID)
  • 用户和密码

最佳答案

您需要以下变量(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 变量即可

关于python - Pandas 连接到 Oracle Db 无需连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53591344/

相关文章:

python - PyQt5 项目结构和 PyInstaller ModuleNotFoundError

sql - 有没有一种方法可以不使用 FOR 循环来创建虚拟记录?

c# - 当我尝试向 Oracle 插入日期和时间时出现 ORA-01843

python - 使用非唯一索引在 Pandas DataFrame 中查找和更新行

python - 找不到我的算法有什么问题

python - 如何获取 CountVectorizer feature_names 以便设置它们,而不是按字母顺序排列?

python - Django 。您无权编辑任何内容

sql - 根据 Oracle 中不同的用户 ID 选择所有内容

python - 如何将管道分隔的字符串读入数据帧?

python - 如何查找 pandas 数据框中出现次数最多的行项目