Support Topics Documentation Slack YouTube Blog

Data Import Error - Truncation

I am getting a truncation (data too long for column) error when I import one of my data tables. It doesn’t make sense to me because my data is all within the acceptable range. A portion of the log file is below. Any thoughts? My prior file imported fine (and still does) and I only added 4 characters to some rows in one column. I’m well within the 500 character limit. Also, I can’t tell what lines the errors are pointing to, so I don’t know where to even start looking.

1 20:54:07 IMPORT_DATA Importing Started.
2 20:54:07 IMPORT_DATA Start import table: UIPricing
3 20:54:08 IMPORT_DATA Error inserting row to table UIPricing Exception:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘MSCode.39C0AA68-F692-E8FC-FFFF-6716034B9500’ at row 1
4
5 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3868)
6 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
7 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
8 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
9 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
10 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
11 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
12 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
13 com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
14 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
15 org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
16 com.backendless.management.impex.manager.ImportDataManager.insertValues(ImportDataManager.java:925)
17 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.lambda$run$0(CsvImportDataWorker.java:73)
18 com.backendless.util.TransactionUtil.execute(TransactionUtil.java:46)
19 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.run(CsvImportDataWorker.java:42)
20 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
21 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
22 java.lang.Thread.run(Thread.java:748)
23 20:54:08 IMPORT_DATA Error inserting row to table UIPricing Exception:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘MSCode.39C0AA68-F692-E8FC-FFFF-6716034B9500’ at row 1
24
25 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3868)
26 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
27 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
28 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
29 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
30 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
31 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
32 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
33 com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
34 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
35 org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
36 com.backendless.management.impex.manager.ImportDataManager.insertValues(ImportDataManager.java:925)
37 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.lambda$run$0(CsvImportDataWorker.java:73)
38 com.backendless.util.TransactionUtil.execute(TransactionUtil.java:46)
39 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.run(CsvImportDataWorker.java:42)
40 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
41 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
42 java.lang.Thread.run(Thread.java:748)
43 20:54:08 IMPORT_DATA Error inserting row to table UIPricing Exception:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘MSCode.39C0AA68-F692-E8FC-FFFF-6716034B9500’ at row 1
44
45 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3868)
46 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
47 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
48 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
49 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
50 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
51 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
52 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
53 com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
54 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
55 org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
56 com.backendless.management.impex.manager.ImportDataManager.insertValues(ImportDataManager.java:925)
57 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.lambda$run$0(CsvImportDataWorker.java:73)
58 com.backendless.util.TransactionUtil.execute(TransactionUtil.java:46)
59 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.run(CsvImportDataWorker.java:42)
60 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
61 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
62 java.lang.Thread.run(Thread.java:748)
63 20:54:08 IMPORT_DATA Error inserting row to table UIPricing Exception:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘MSCode.39C0AA68-F692-E8FC-FFFF-6716034B9500’ at row 1
64
65 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3868)
66 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
67 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
68 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
69 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
70 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
71 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
72 com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
73 com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
74 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
75 org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
76 com.backendless.management.impex.manager.ImportDataManager.insertValues(ImportDataManager.java:925)
77 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.lambda$run$0(CsvImportDataWorker.java:73)
78 com.backendless.util.TransactionUtil.execute(TransactionUtil.java:46)
79 com.backendless.management.impex.handler.concurrent.CsvImportDataWorker.run(CsvImportDataWorker.java:42)
80 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
81 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
82 java.lang.Thread.run(Thread.java:748)

Hi Louis

please send us the file you tried to import to support@backendless.com

Regards, Vlad

I just tried to import file you sent us and everything has been imported

19:32:00  IMPORT_DATA  Importing Started.
19:32:01  IMPORT_DATA  Start import table: UIPricing
19:32:07  IMPORT_DATA  Table 'UIPricing' was imported at 6 seconds
19:32:07  IMPORT_DATA  Finish import table: UIPricing
19:32:07  IMPORT_DATA  Importing Finished.

Very strange. The file I sent you is the exact file that wouldn’t import yesterday. In fact, I tried it like 5 times. Any idea why there was a problem?

Lou

Vlad,

Actually, the file that is on the server is the old file. In spite of telling you the file was imported, it was not. Search the file and the server for the entry “Clt” under the MSCode column and you’ll see what I mean. That’s the data I changed, by adding it to certain rows. None of those rows are in the file on the server. It definitely did not import. Did you delete the old table before trying to import the new one?

Lou

please send as a fresh file (which is not imported for you) and I will try.

I’ve checked it on Data screen, the table is there, and I can find rows with “Clt” value

@Louis_Apoldo, by looking at the screenshot you sent in the most recent direct email to support@ you’re using version 3 of Backendless, while Vlad was testing with the latest version. It is quite likely the problem is indeed in version 3 and is fixed in the latest version. We do not make any more bug fixes in version 3, it is supported strictly from the operational/uptime perspective.

Regards,
Mark

Mark,

Thank you for this information. We can take steps to migrate our App to version 4.0. Can you please confirm that our current App (version 3.0) will not be affected and will continue to operate during the migration. I appreciate it.

Lou

Hi Lou,

Confirmed. All applications running in 3.x are on a separate cluster and are not affected by/during migration.

Regards,
Mark