为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:Linux
【CPU】:
【问题描述】:
File "/home/miniconda3/envs/dsas/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 146, in exit
raise exc_value.with_traceback(exc_tb)
│ │ └ <traceback object at 0x7fb250312c00>
│ └ <method 'with_traceback' of 'BaseException' objects>
└ TypeError("'database' is an invalid keyword argument for this function")
File "/home/miniconda3/envs/dsas/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 896, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
│ │ │ │ └ <sqlalchemy.pool.base._ConnectionRecord object at 0x7fb25017e4c0>
│ │ │ └ <function create_engine.<locals>.connect at 0x7fb2503938b0>
│ │ └ <sqlalchemy.pool.impl.QueuePool object at 0x7fb2502ed430>
│ └ <member 'dbapi_connection' of '_ConnectionRecord' objects>
└ <sqlalchemy.pool.base._ConnectionRecord object at 0x7fb25017e4c0>
File "/home/miniconda3/envs/dsas/lib/python3.9/site-packages/sqlalchemy/engine/create.py", line 646, in connect
return dialect.connect(cargs, cparams)
│ │ │ └ {'host': '10.1.1.1*', 'database': 'DMS', 'user': 'SYSDBA', 'password': '***@123', 'port': 5237, 'autoCommit': False, '...
│ │ └ []
│ └ <function DMDialect_dmPython.connect at 0x7fb2502d9c10>
└ <sqlalchemy_dm.dmPython.DMDialect_dmPython object at 0x7fb2503cedf0>
File "/home/miniconda3/envs/dsas/lib/python3.9/site-packages/sqlalchemy_dm-2.0.3-py3.9.egg/sqlalchemy_dm/dmPython.py", line 271, in connect
TypeError: 'database' is an invalid keyword argument for this function
url字符串:
dm+dmPython://{Config.database_username}:{parse.quote_plus(Config.database_password)}@{Config.database_host}:{Config.database_port}/{Config.database_schema}
url格式不对,模式名和前面的url之间用逗号分隔,正确写法参考如下:
url = f"dm+dmPython://{Config.database_username}:{parse.quote_plus(Config.database_password)}@{Config.database_host}:{Config.database_port}"
engine = create_engine(url, connect_args={'schema': Config.database_schema})