【Python】——SQLAlchemy 连接 Oracle的两种方式:SID 和 SERVICE_NAME

更新日志:

  • [2020-02-26]
    SERVICE_NAME核心语句单独写出来,醒目
  • [2019-12-4]
    文章发布

说明:


1. SERVICE_NAME
  • 这种方式比较少见,不过我还是找到了
     大写部分替换成真实的 Oracle信息
    dsn = "oracle+cx_oracle://USER:PASSWD@HOST:PORT/?service_name=SERVICENAME"
    
    Demo:
    from sqlalchemy import Column, String, Integer, DateTime, create_engine
    from sqlalchemy.orm import sessionmaker, scoped_session
    from sqlalchemy.ext.declarative import declarative_base
    
    Base = declarative_base()
    
    
    class JobPlan(Base):
        """
        定义一张表
        """
        __tablename__ = cfg.table_plan
    
        id = Column(Integer, primary_key=True, nullable=False)
    	# ...
        row_stamp = Column(Integer, nullable=False, default=0)
    
    
    # 大写部分替换成真实的 Oracle信息
    dsn = "oracle+cx_oracle://USER:PASSWD@HOST:PORT/?service_name=SERVICENAME"
    engine = create_engine(dsn)
    # 创建一张表
    # 不会重新创建已经存在的表
    Base.metadata.create_all(engine)
    
  • SERVICE_NAME方式连接成功后的效果图
    在这里插入图片描述
    • 连接成功后创建的两张表
      在这里插入图片描述
2. SID
  • 这种方法比较常见
    dsn = "oracle+cx_Oracle://USER:PASSWD@HOST:PORT/SID"
    

The end.
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值