[Building Sakai] Latest 2.7.x throw UTF-8 DB Error

Anthony Whyte arwhyte at umich.edu
Fri Jun 4 07:59:02 PDT 2010


svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-2.7.0-rc01

cheers,

Anth



On Jun 4, 2010, at 10:52 AM, Warwick Chapman wrote:

> Ok, perhaps I should check out a release candidate instead.  I cannot find any tags on the website or blog for the current RC.  Any pointers?
> 
> -- Warwick Bruce Chapman | +27 83 7797 094 | http://warwickchapman.com
> 
> 
> On Fri, Jun 4, 2010 at 9:37 AM, Warwick Chapman <warwickchapman at gmail.com> wrote:
> Ok, Steve
> 
> I recreated the DB using UTF-8 and that error is now gone.
> 
> Now I am getting:
> 
> ERROR main org.sakaiproject.util.NoisierDefaultListableBeanFactory - Failed to preinstantiate the singleton named org.sakaiproject.poll.logic.ExternalLogic. Destroying all Spring beans.
> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.poll.logic.ExternalLogic' defined in file [/opt/tomcat/components/polls-pack/WEB-INF/components.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'emailService' of bean class [org.sakaiproject.poll.logic.impl.ExternalLogicImpl]: Bean property 'emailService' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
> 
> -- Warwick Bruce Chapman | +27 83 7797 094 | http://warwickchapman.com
> 
> 
> On Fri, Jun 4, 2010 at 9:33 AM, Steve Swinsburg <steve.swinsburg at gmail.com> wrote:
> 
> You need to create the database with the utf8 character set:
> 
> create database sakai default character set utf8;
> 
> Check the equivalent syntax when using mysqladmin.
> 
> I believe you can change the encoding after the fact, but AFAIK it's not trivial so best to create the db in the right format to start with.
> 
> And in your Tomcat connector you need the URIEncoding param:
> 
>   <Connector port="8081" maxHttpHeaderSize="8192"
>                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
>                enableLookups="false" redirectPort="8443" acceptCount="100"
>                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
> 
> It might just be a case of adding this to your Tomcat connector as your system might default to utf8 so teh database might be ok.
> 
> cheers,
> Steve
> 
> 
> On 04/06/2010, at 5:25 PM, Warwick Chapman wrote:
> 
>> Hey Steve
>> 
>> I created the DB with:
>> 
>> mysqladmin -p create sakai
>> 
>> The MySQL config in sakai.properties follows:
>> 
>> vendor at org.sakaiproject.db.api.SqlService=mysql
>> driverClassName at javax.sql.BaseDataSource=com.mysql.jdbc.Driver
>> hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
>> url at javax.sql.BaseDataSource=jdbc:mysql://dbserver:3306/sakai?useUnicode=true&characterEncoding=UTF-8
>> validationQuery at javax.sql.BaseDataSource=select 1 from DUAL
>> defaultTransactionIsolationString at javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
>> 
>> -- Warwick Bruce Chapman | +27 83 7797 094 | http://warwickchapman.com
>> 
>> 
>> On Fri, Jun 4, 2010 at 8:54 AM, Steve Swinsburg <steve.swinsburg at gmail.com> wrote:
>> Hi Warwick,
>> 
>> When you created your database, did you create it with the utf8 character set? Also, does your Tomcat connector have the URIEncoding="UTF-8" parameter added?
>> 
>> cheers,
>> Steve
>> 
>> 
>> On 04/06/2010, at 4:48 PM, Warwick Chapman wrote:
>> 
>>> Hi All
>>> 
>>> I'm back on the horse now and trying to install the latest 2.7.x branch (78257) but am getting the following in the catalina.out file:
>>> 
>>> <log>
>>> FATAL main org.sakaiproject.content.impl.DbContentService - Check on Database Failed
>>> java.sql.SQLException: Incorrect string value: '\xC2\x80\xC2\x81\xC2\x82...' for column 'XML' at row 1
>>> 
>>> ...
>>> 
>>> FATAL main org.sakaiproject.content.impl.DbContentService - WARNING
>>>   The connection from this instance of Sakai to the database
>>>   has been tested and found to corrupt UTF-8 Data.
>>>   In order for Sakai to operate correctly you must ensure that your
>>>   database setup is correct for UTF-8 data. This includes both the
>>>   JDBC connection to the database and the underlying storage in the
>>>   database.
>>>   The test that was performed on your database create a table
>>>   wrote some data to that table and read it back again. On reading
>>>   that data back it found some form of corruption, reported above.
>>> 
>>>  More information on database setup for sakai can be found at
>>>  http://bugs.sakaiproject.org/confluence/display/DOC/Install+Guide+-+DB+(2.4)
>>> 
>>>  Sakai Startup will continue but you might want to address this issue ASAP.
>>> </log>
>>> 
>>> MySQL is using the InnoDB engine as recommended by Anthony Whyte and I can confirm that the DB was successfully populated upon initial startup.
>>> 
>>> -- Warwick Bruce Chapman | +27 83 7797 094 | http://warwickchapman.com
>>> _______________________________________________
>>> sakai-dev mailing list
>>> sakai-dev at collab.sakaiproject.org
>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>> 
>>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
>> 
>> 
> 
> 
> 
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20100604/3e4917cd/attachment.html 


More information about the sakai-dev mailing list