Mysql

[Mysql 5.5] ERROR 2006 (HY000) at line 2169: MySQL server has gone away

Questo errore mi è comparso nel momento in cui ho voluto importare un file da 64MB, all’interno della mia nuova instanza di mysql.

In giro le varie soluzione sono molto semplici, basta andare nella cartella di installazione di mysql:

C:\Program Files\MySQL\MySQL Server 5.5

E modificare il file my.cnf nella sezione

[mysqld]
.....
.....
max_allowed_packet = 64M

La voce max_allowed_packet di default è impostata 1M, che è il motivo per cui mysql non riesce ad importare grandi file sql.

Purtroppo con la versione 5.5, ci sono vari file file my-*.cnf per evitare di impazzire, molto semplicemente, è possibile utilizzare MySQL Workbench 5.2 CE nella sezione: Admin -> Configuration -> Option File, cercare la voce max_allowed_packet e modificarla a mano

 

Successivamente riavviare il servizio di mysql, è sarà finalmente possibile importare il file sql.

 

Annunci
Hibernate, Mysql, ROO, Spring, tc Server
Questa guida vuole essere un piccolo punto di riferimento per la costruzione di un DataSource all’interno dell’ambiente tc Server di Spring Tool Suite, nella fattispecie utilizzando Mysql 5 come DB e Hibernate come Framework per la persistenza.
La Guida è stata testa sia per STS 2.3.2 che per STS 2.3.3

Cambiamenti da effettuare all’interno di:

Server > [SpringSource tc Server v6.0-config | SpringSource tc Developer 2.0 ] (files che si trovano dentro il workspace, creati automaticamente da STS 2.3.2)

context.xml:
All’interno del tag <Context>

<Resource     name="${Nome data source}” 
                auth="Container" 
                type="javax.sql.DataSource" 
                  maxActive="10" 
                  maxIdle="10" 
                  maxWait="10000" 
                  username="root" 
                  password="root" 
                  driverClassName="com.mysql.jdbc.Driver" 
                url="jdbc:mysql://localhost:3306/${nome database utilizzato}"/>

server.xml
Dentro il tag <GlobalNamingResources>

<Resource     name="${Nome data source} 
                auth="Container" 
                type="javax.sql.DataSource" 
                  maxActive="10" 
                  maxIdle="10" 
                  maxWait="10000" 
                  username="root" 
                  password="root" 
                  driverClassName="com.mysql.jdbc.Driver" 
                url="jdbc:mysql://localhost:3306/${nome database utilizzato}"/>

web.xml
Subito dopo il tag <webapp>

    <description>MySQL Test App</description>
      <resource-ref>
          <description>DB Connection Mysql</description>
          <res-ref-name>${nome datasource}</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>

PS: il nome del datasource deve essere sempre lo stesso



Cambiamenti da effettuale all’interno del nostro progetto:

web.xml
Subito dopo il tag <webapp>

    <description>MySQL Test App</description>
      <resource-ref>
          <description>DB Connection Mysql</description>
          <res-ref-name>${nome datasource}</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>

PS: il nome del datasource deve essere sempre lo stesso


Nella cartella che contiene il server (es: /opt/springsource/tc server 6)

Inserire i driver JDBC connector nella cartella TOMCAT\lib (nel caso di Developer 2)

Inserire i driver JDBC connector nelle cartelle webapps-lib e lib (nel caso di Server v6.0)

Hibernate, Mysql

[Hibernate + mysql] Errore “Found longblob expected blob”

Se trovate l’errore segnalato in grassetto in cui hibernate va in errore visto che si aspetta di trovare nella tabella un campo LONGBLOB, mentre invece la classe entity definisce un BLOB.

GRAVE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘transactionManager’ defined in file [/opt/STS 2.3.2/tc-server-6.0.20.C/wtpwebapps/GestioneFIR/WEB-INF/classes/META-INF/spring/applicationContext.xml]
….
….
Caused by: org.hibernate.HibernateException: Wrong column type in gestione_fir.categoria for column regolamento_xml.
Found: longblob, expected: blob at org.hibernate.mapping.Table.validateColumns(Table.java:261)