Forum Discussion
Problem with character set
I have a report linked using a MySQL database as a data source. As I refreshed the data today, the following error shows "An error happened while reading data from the provider: 'Character set 'utf8mb3' is not supported by .Net Framework.'"
This strikes me as odd since all the data is using ut8mb4 and had no issues refereshing the data yesterday. No changes were made to the database's nor the tables's structure between yesterday and today.
The root of the problem seems to be with MySQL 8.0.29. After downgrading to MySQL 5.7 everything works OK.
4 Replies
- reymartinsFrequent Visitor
Update - Solved when updated MySQL NET Connector to version 8.0.28. A tip : do not unistall your current connector version and install 8.0.28 directly from the .msi downloaded. Use "MySQL Installer - Community" instead to upgrade it. To test if the solution took effect, close PBI and launch it again - as per my experience the connector must be reloaded by PBI at launch. (btw, it did not worked with 8.0.29 in my case, but it could be the case that I did not relaunched PBI).
- v-luwang-msftCommunity Support
Hi wagahai ,
The report is built on a MySQL database.
If the MySQL database has been converted to MariaDB, this will result in a utf8mb3 error when establishing a connection. And the data source setting is changed from MySQL database to MariaDB, which causes the dataset to be treated as a completely new source. Check if your database is converted to MariaDB.similar error refer:
Did I answer your question? Mark my post as a solution!
Best RegardsLucien
- reymartinsFrequent Visitor
v-luwang-msft , I am facing the same problem, that started exactly in the same date wagahai reported. I have reloaded 2 MySql tables which had columns with utf8mb3 character set, changing the char set to utf8mb4. All columns now are utf8mb4, but I am still getting the same message complaining about utf8mb3. PBI stopped loading without happening any change in the MySQL database schema. It is possible to assure that the DB was not converted to MariaDB.
The character set of all columns in the tables from the DB that is loaded by PBI is now as below.
TABLE_NAME COLUMN_NAME CHARACTER_SET_NAME OVERALLS ID_OVERALL NULL OVERALLS RUN_TYPE utf8mb4 OVERALLS TEST_STATION utf8mb4 OVERALLS STATION_TYPE utf8mb4 OVERALLS LOCATION utf8mb4 OVERALLS DATE_TIME_START NULL OVERALLS DATE_TIME_END NULL OVERALLS DURATION NULL OVERALLS OV_KEY_PBI utf8mb4 RUN_RESULTS ID_RUN NULL RUN_RESULTS RUN_TYPE utf8mb4 RUN_RESULTS RR_KEY_PBI utf8mb4 RUN_RESULTS LOCATION utf8mb4 RUN_RESULTS RUN_STATUS utf8mb4 RUN_RESULTS MODEL utf8mb4 RUN_RESULTS SERIAL utf8mb4 RUN_RESULTS DATE_TIME_START NULL RUN_RESULTS DATE_TIME_END NULL RUN_RESULTS MODEL_FAMILY utf8mb4 RUN_RESULTS SENSOR utf8mb4 RUN_RESULTS DURATION NULL RUN_RESULTS ID_OVERALL NULL RUN_RESULTS TEST_STATION utf8mb4 RUN_RESULTS STATION_TYPE utf8mb4 RUN_RESULTS OV_KEY_PBI utf8mb4 TEST_RESULTS ID_RESULT NULL TEST_RESULTS TEST_NAME utf8mb4 TEST_RESULTS ID_RUN NULL TEST_RESULTS RUN_TYPE utf8mb4 TEST_RESULTS RR_KEY_PBI utf8mb4 TEST_RESULTS ITERATION utf8mb4 TEST_RESULTS TEST_STATUS utf8mb4 TEST_RESULTS DATE_TIME_START NULL TEST_RESULTS DATE_TIME_END NULL TEST_RESULTS DURATION NULL YIELD SERIAL utf8mb4 YIELD ID_JOB NULL YIELD DATE_TIME_START NULL YIELD DATE_TIME_END NULL YIELD DURATION NULL YIELD DATE_TIME_START_JOB NULL YIELD DATE_TIME_END_JOB NULL YIELD DURATION_JOB NULL YIELD MODEL utf8mb4 YIELD MODEL_FAMILY utf8mb4 YIELD SENSOR utf8mb4 YIELD_MODEL_DATE model utf8mb4 YIELD_MODEL_DATE DATE NULL YIELD_MODEL_DATE QTY NULL - wagahaiNew Member
The root of the problem seems to be with MySQL 8.0.29. After downgrading to MySQL 5.7 everything works OK.