mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-08 15:36:59 +00:00
fix(ingest/sql_server): switch to engine inspector instead of connection (#13104)
This commit is contained in:
parent
54db272c4d
commit
f3c8bf9cb4
@ -936,25 +936,25 @@ class SQLServerSource(SQLAlchemySource):
|
|||||||
url = self.config.get_sql_alchemy_url()
|
url = self.config.get_sql_alchemy_url()
|
||||||
logger.debug(f"sql_alchemy_url={url}")
|
logger.debug(f"sql_alchemy_url={url}")
|
||||||
engine = create_engine(url, **self.config.options)
|
engine = create_engine(url, **self.config.options)
|
||||||
with engine.connect() as conn:
|
|
||||||
if self.config.database and self.config.database != "":
|
if self.config.database and self.config.database != "":
|
||||||
inspector = inspect(conn)
|
inspector = inspect(engine)
|
||||||
yield inspector
|
yield inspector
|
||||||
else:
|
else:
|
||||||
|
with engine.begin() as conn:
|
||||||
databases = conn.execute(
|
databases = conn.execute(
|
||||||
"SELECT name FROM master.sys.databases WHERE name NOT IN \
|
"SELECT name FROM master.sys.databases WHERE name NOT IN \
|
||||||
('master', 'model', 'msdb', 'tempdb', 'Resource', \
|
('master', 'model', 'msdb', 'tempdb', 'Resource', \
|
||||||
'distribution' , 'reportserver', 'reportservertempdb'); "
|
'distribution' , 'reportserver', 'reportservertempdb'); "
|
||||||
)
|
).fetchall()
|
||||||
for db in databases:
|
|
||||||
if self.config.database_pattern.allowed(db["name"]):
|
for db in databases:
|
||||||
url = self.config.get_sql_alchemy_url(current_db=db["name"])
|
if self.config.database_pattern.allowed(db["name"]):
|
||||||
with create_engine(
|
url = self.config.get_sql_alchemy_url(current_db=db["name"])
|
||||||
url, **self.config.options
|
engine = create_engine(url, **self.config.options)
|
||||||
).connect() as conn:
|
inspector = inspect(engine)
|
||||||
inspector = inspect(conn)
|
self.current_database = db["name"]
|
||||||
self.current_database = db["name"]
|
yield inspector
|
||||||
yield inspector
|
|
||||||
|
|
||||||
def get_identifier(
|
def get_identifier(
|
||||||
self, *, schema: str, entity: str, inspector: Inspector, **kwargs: Any
|
self, *, schema: str, entity: str, inspector: Inspector, **kwargs: Any
|
||||||
|
Loading…
x
Reference in New Issue
Block a user