Salvar imagem em formato Base 64 no SQL SERVER com o Hibernate

De que tipo a coluna do SQL Server deve ser para armazenar uma imagem em base64? Varchar fica dando o erro “String or binary data would be truncated”.

Ideal seria guardar o binário (varbinary(max)) e não ficar convertendo em base64.

Mas se quer fazer do seu jeito, usa o tipo TEXT.

1 curtida

Pior que quando faço isso o Spring retorna esse erro:

2018-11-05 16:31:28.519 ERROR 2960 — [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Implicit conversion from data type nvarchar to varbinary(max) is not allowed. Use the CONVERT function to run this query.

Mas o que voce está jogando no campo varbinary? Deverá ser um byte[] e nao string em base64.

O campo estava string, agora mudei pra byte[] mas continua dando problema.

Implicit conversion from data type nvarchar to varbinary(max) is not allowed. Use the CONVERT function to run this query

Posta o código Java relacionado e script da tabela.

1 curtida

Consegui resolver, eram os campos que estavam trocados no sql server, destroquei e deixei como nvarchar(max), agora está recebendo a String normalmente da Api pelo Java.