# How to use SQLAlchemy 2.0 library with CData Python connector.

**URL:** <https://community.cdata.com/t/how-to-use-sqlalchemy-2-0-library-with-cdata-python-connector/488>\
**Category:** CData Drivers\
**Tags:** question, driver, python\
**Created:** [October 25, 2023, 6:48am UTC](https://community.cdata.com/t/how-to-use-sqlalchemy-2-0-library-with-cdata-python-connector/488 "2023-10-25T06:48:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Venu](https://avatars.discourse-cdn.com/v4/letter/v/9de0a6/32.png) [@Venu](https://community.cdata.com/u/Venu)\
**Post date:** [October 25, 2023, 6:48am UTC](https://community.cdata.com/t/how-to-use-sqlalchemy-2-0-library-with-cdata-python-connector/488/1 "2023-10-25T06:48:55Z")

</div>

When using the Python connector in conjunction with SQLAlchemy, we introduced a new dialect with the “\_2” suffix to accommodate SQLAlchemy 2.0. For instance, the QB Python connector features a dialect named “quickbooks\_2.”

Previously, we utilized automap\_base in the following manner:

`engine = create_engine("quickbooks:///?<connection string>")`

However, if the customer wishes to employ SQLAlchemy 2.0 and prevent potential errors when using automap\_base,&nbsp;the following code should be used:

`engine = create_engine("quickbooks_2:///?<connection string>")`

---

<div class="post-metadata">

**Author:** ![Ankit\_Singh](https://sea3.discourse-cdn.com/cdata/user_avatar/community.cdata.com/ankit_singh/32/1614_2.png) [@Ankit\_Singh](https://community.cdata.com/u/Ankit_Singh)\
**Post date:** [October 25, 2023, 3:48pm UTC](https://community.cdata.com/t/how-to-use-sqlalchemy-2-0-library-with-cdata-python-connector/488/2 "2023-10-25T15:48:38Z")

</div>

Thanks for sharing, @Venu !
