熊猫无需连接字符串即可连接到Oracle Db

时间:2018-12-03 10:01:32

标签: python oracle pandas connection-string cx-oracle

我需要从Oracle数据库(带有熊猫)读取数据。 我正在使用cx_oracle库。本教程建议使用以下说明创建连接:

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

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

编辑: 我有:

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

尝试使用Oracle的Easy Connect语法:

[
  {
    file: 'image1.jpg',
    title: 'caption here',
  },
  {
    file: 'image1.jpg',
    title: 'caption here',
  },
]

请参阅Oracle文档Understanding the Easy Connect Naming Method

或使用:

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