I got  "java.sql.SQLException: No database selected", but my database config
is right,who know what's wrong?

This is part of my source code:
=====

public class AnonymousRecommender implements Recommender{

private final Recommender recommender;

private final PlusAnonymousUserDataModel plusAnonymousModel;

 public AnonymousRecommender() throws TasteException, IOException {

 this(new PreferenceDataModel());

}


 public AnonymousRecommender(PreferenceDataModel dataModel)

 throws TasteException {

 ItemSimilarity itemSimilarity = new ItemSimilarityImpl();

 recommender = new
GenericItemBasedRecommender(newPlusAnonymousUserDataModel(dataModel),
itemSimilarity);

 plusAnonymousModel = (PlusAnonymousUserDataModel)recommender
.getDataModel();

}

 public synchronized List<RecommendedItem> recommend(PreferenceArray
anonymousUserPrefs, int howMany) throws TasteException {

 plusAnonymousModel.setTempPrefs(anonymousUserPrefs);

 List<RecommendedItem> recommendations =

 recommend(PlusAnonymousUserDataModel.TEMP_USER_ID, howMany, null);

 return recommendations;

}

 public List<RecommendedItem> recommend(String viewIDs, int howMany)
throwsTasteException {

 viewIDs = viewIDs.replace("[", "").replace("]", "");

 String[] viewIDsArray = viewIDs.split(",");

 System.out.println(viewIDsArray.getClass());

 PreferenceArray anonymousPrefs = newGenericUserPreferenceArray(viewIDsArray.
length);

 for (int i=0;i<viewIDsArray.length;i++){

 anonymousPrefs.setUserID(i,PlusAnonymousUserDataModel.TEMP_USER_ID);

 anonymousPrefs.setItemID(i, Integer.parseInt(viewIDsArray[i]));

 anonymousPrefs.setValue(i, 3.0f);

 }

 return recommend(anonymousPrefs, howMany);

}
=====

I got this exception:

=====

javax.servlet.ServletException:
org.apache.mahout.cf.taste.common.TasteException:
java.sql.SQLException: No database selected
        
net.gamestreamer.recommendation.servlet.AnonymousRecommenderServlet.doGet(AnonymousRecommenderServlet.java:108)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

*root cause*

org.apache.mahout.cf.taste.common.TasteException:
java.sql.SQLException: No database selected
        
org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel.doGetPreferencesForItem(AbstractJDBCDataModel.java:466)
        
org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel.getPreferencesForItem(AbstractJDBCDataModel.java:440)
        
org.apache.mahout.cf.taste.impl.model.PlusAnonymousUserDataModel.getPreferencesForItem(PlusAnonymousUserDataModel.java:124)
        
org.apache.mahout.cf.taste.impl.recommender.AbstractRecommender.getAllOtherItems(AbstractRecommender.java:107)
        
org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender.recommend(GenericItemBasedRecommender.java:98)
        
net.gamestreamer.recommendation.AnonymousRecommender.recommend(AnonymousRecommender.java:67)
        
net.gamestreamer.recommendation.AnonymousRecommender.recommend(AnonymousRecommender.java:39)
        
net.gamestreamer.recommendation.AnonymousRecommender.recommend(AnonymousRecommender.java:53)
        
net.gamestreamer.recommendation.servlet.AnonymousRecommenderServlet.doGet(AnonymousRecommenderServlet.java:97)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

*root cause*

java.sql.SQLException: No database selected
        com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
        com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
        com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
        com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1960)
        com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2114)
        com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2696)
        
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2105)
        
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2264)
        
org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel.doGetPreferencesForItem(AbstractJDBCDataModel.java:458)
        
org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel.getPreferencesForItem(AbstractJDBCDataModel.java:440)
        
org.apache.mahout.cf.taste.impl.model.PlusAnonymousUserDataModel.getPreferencesForItem(PlusAnonymousUserDataModel.java:124)
        
org.apache.mahout.cf.taste.impl.recommender.AbstractRecommender.getAllOtherItems(AbstractRecommender.java:107)
        
org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender.recommend(GenericItemBasedRecommender.java:98)
        
net.gamestreamer.recommendation.AnonymousRecommender.recommend(AnonymousRecommender.java:67)
        
net.gamestreamer.recommendation.AnonymousRecommender.recommend(AnonymousRecommender.java:39)
        
net.gamestreamer.recommendation.AnonymousRecommender.recommend(AnonymousRecommender.java:53)
        
net.gamestreamer.recommendation.servlet.AnonymousRecommenderServlet.doGet(AnonymousRecommenderServlet.java:97)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

=====


-- 
I'm samsam.

Reply via email to