You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1017 B

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2023/4/4 18:55
# @Author : old tom
# @File : dialect_connector.py
# @Project : futool-db
# @Desc :
from fudb.connectors.dialect.abs_connector import CommonConnector
class OracleConnector(CommonConnector):
"""
oracle 连接器,目前仅支持sever_name方式,SID方式待开发
"""
DSN = 'oracle+cx_oracle://{0}:{1}@{2}:{3}/?service_name={4}'
def __init__(self, user, password, host, port=1521, server_name='orcl'):
super().__init__(self.DSN.format(user, password, host, port, server_name))
def get_conn(self):
return self.engine.connect()
class PostgresqlConnector(CommonConnector):
"""
pg连接器
"""
PG_DIALECT = 'postgresql+psycopg2://{0}:{1}@{2}:{3}/{4}'
def __init__(self, user, password, host, port=5432, database='postgres'):
super().__init__(self.PG_DIALECT.format(user, password, host, port, database))
def get_conn(self):
return self.engine.connect()