AttributeError: type object 'java.sql.Types' has no attribute '__javaclass__'

access_time 10 months ago visibility2082 comment 1

In my previous article Connect to SQL Server via JayDeBeApi in Python, I showed examples of using Python package jaydebeapi to connect to SQL Server via JDBC.

The code was working properly. However after I reinstall Python 3.8.2 x64 version on Windows, I'm getting a new error:

***\lib\site-packages\jaydebeapi\__init__.py", line 182, in _jdbc_connect_jpype
    for i in types.__javaclass__.getClassFields():
AttributeError: type object 'java.sql.Types' has no attribute '__javaclass__'

This error can happen when connecting to Oracle, Teradata, SQLite, SQL Server, Hive, MySQL and PostgreSQL via JDBC driver..

Resolution

The root cause of this issue is with JPype1 package  which JayDeBeApi package relies on.  My version is 0.7.2 (the latest as at 2020-04-10).

To fix it, I downgrade its version to 0.6.3 using the following command:

pip install --upgrade jpype1==0.6.3 --user

After downgrade the version, the code snippet in my previous article now works properly again.

There is one GitHub issue related to this: https://github.com/baztian/jaydebeapi/issues/131.

copyright This page is subject to Site terms.
Like this article?
Share on

Please log in or register to comment.

account_circle Log in person_add Register

Log in with external accounts

Follow Kontext

Get our latest updates on LinkedIn or Twitter.

Want to publish your article on Kontext?

Learn more

More from Kontext

visibility 10764
thumb_up 0
access_time 2 years ago

For SQL developers that are familiar with SCD and merge statements, you may wonder how to implement the same in big data platforms, considering database or storages in Hadoop are not designed/optimised for record level updates and inserts. In this post, I’m going to demonstrate how to implement ...

Pandas DataFrame Plot - Scatter and Hexbin Chart
visibility 295
thumb_up 0
access_time 10 months ago

 In this article I'm going to show you some examples about plotting scatter and hexbin chart with Pandas DataFrame. I'm using Jupyter Notebook as IDE/code execution environment.  Hexbin chart is a pcolor of a 2-D histogram with hexagonal cell and can be more informative compared ...

visibility 135
thumb_up 0
access_time 10 months ago

SQLite is one of the most commonly used embedded file databases. All the mainstream programming language/framework provides APIs to interact with SQLite database. In my previous article  SQLite in .NET Core with Entity Framework Core , code snippet is provided to interact with SQLite via ...