Welcome, Guest
Username: Password: Remember me

TOPIC: Erreur de base de données à l'activation d'un questionnaire

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93451

  • eedouard
  • eedouard's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 9
  • Karma: 0
Bonjour,

Lors de l'activation d'un questionnaire, j'ai une "erreur de base de données".

pour info j'ai créé des listes à choix multiples à l'aide de l'ajout rapide, il y a peux être un rapport.

Cdt
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93462

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 801
  • Karma: 241
Salut,

Sur du mySQL ?

Éventuellement un dépassement de la capacité de mySQL, si le questionnaire contient beaucoup de question/sous-questions cela peut arriver.

Active la mode debug (voir application/config/config.php) et retente une activation. Fait aussi un test du gestionnaire d'expression avant.

Denis
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93463

  • eedouard
  • eedouard's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 9
  • Karma: 0
J'ai ça en retour

implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/application/controllers/admin/surveyadmin.php(484)

472 $aViewUrls= "<br />\n<div class='messagebox ui-corner-all'>\n" .
473 "<div class='header ui-widget-header'>".$clang->gT("Activate Survey")." ($iSurveyID)</div>\n";
474 if ($aResult=='surveytablecreation')
475 {
476 $aViewUrls.="<div class='warningheader'>".$clang->gT("Survey table could not be created.")."</div>\n";
477 }
478 else
479 {
480 $aViewUrls.="<div class='warningheader'>".$clang->gT("Timings table could not be created.")."</div>\n";
481 }
482 $aViewUrls.="<p>" .
483 $clang->gT("Database error!!")."\n <font color='red'>" ."</font>\n" .
484 "<pre>".implode(' ', $aResult)."</pre>\n
485 <a href='".Yii::app()->getController()->createUrl("admin/survey/sa/view/surveyid/".$iSurveyID)."'>".$clang->gT("Main Admin Screen")."</a>\n</div>" ;
486 }
487 else
488 {
489 $aViewUrls= "<br />\n<div class='messagebox ui-corner-all'>\n"
490 ."<div class='header ui-widget-header'>".$clang->gT("Activate Survey")." ({$iSurveyID})</div>\n"
491 ."<div class='successheader'>".$clang->gT("Survey has been activated. Results table has been successfully created.")."</div><br /><br />\n";
492
493 if (isset($aResult))
494 {
495 $aViewUrls .= "<div class='warningheader'>"
496 .$clang->gT("The required directory for saving the uploaded files couldn't be created. Please check file premissions on the /upload/surveys directory.")
Stack Trace
#0 +
– /var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/application/controllers/admin/surveyadmin.php(484): implode(" ", "surveytablecreation")
479 {
480 $aViewUrls.="<div class='warningheader'>".$clang->gT("Timings table could not be created.")."</div>\n";
481 }
482 $aViewUrls.="<p>" .
483 $clang->gT("Database error!!")."\n <font color='red'>" ."</font>\n" .
484 "<pre>".implode(' ', $aResult)."</pre>\n
485 <a href='".Yii::app()->getController()->createUrl("admin/survey/sa/view/surveyid/".$iSurveyID)."'>".$clang->gT("Main Admin Screen")."</a>\n</div>" ;
486 }
487 else
488 {
489 $aViewUrls= "<br />\n<div class='messagebox ui-corner-all'>\n"

#1 unknown(0): SurveyAdmin->activate("875388")
#2 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/web/actions/CAction.php(107): ReflectionMethod->invokeArgs(SurveyAdmin, array("875388"))
102 else if($param->isDefaultValueAvailable())
103 $ps[]=$param->getDefaultValue();
104 else
105 return false;
106 }
107 $method->invokeArgs($object,$ps);
108 return true;
109 }
110 }

#3 +
– /var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/application/core/Survey_Common_Action.php(100): CAction->runWithParamsInternal(SurveyAdmin, ReflectionMethod, array("surveyid" => "875388", "sa" => "activate", "iSurveyId" => "875388", "iSurveyID" => "875388"))
095 $oMethod = new ReflectionMethod($this, $sDefault);
096 }
097
098 // We're all good to go, let's execute it
099 // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
100 return parent::runWithParamsInternal($this, $oMethod, $params);
101 }
102
103 /**
104 * Some functions have different parameters, which are just an alias of the
105 * usual parameters we're getting in the url. This function just populates

#4 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/web/CController.php(309): Survey_Common_Action->runWithParams(array("surveyid" => "875388", "sa" => "activate"))
304 {
305 $priorAction=$this->_action;
306 $this->_action=$action;
307 if($this->beforeAction($action))
308 {
309 if($action->runWithParams($this->getActionParams())===false)
310 $this->invalidActionParams($action);
311 else
312 $this->afterAction($action);
313 }
314 $this->_action=$priorAction;

#5 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/web/CController.php(287): CController->runAction(SurveyAdmin)
282 * @see runAction
283 */
284 public function runActionWithFilters($action,$filters)
285 {
286 if(empty($filters))
287 $this->runAction($action);
288 else
289 {
290 $priorAction=$this->_action;
291 $this->_action=$action;
292 CFilterChain::create($this,$action,$filters)->run();

#6 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/web/CController.php(266): CController->runActionWithFilters(SurveyAdmin, array())
261 {
262 if(($parent=$this->getModule())===null)
263 $parent=Yii::app();
264 if($parent->beforeControllerAction($this,$action))
265 {
266 $this->runActionWithFilters($action,$this->filters());
267 $parent->afterControllerAction($this,$action);
268 }
269 }
270 else
271 $this->missingAction($actionID);

#7 +
– /var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/application/controllers/AdminController.php(169): CController->run("survey")
164 $this->redirect($this->createUrl('/admin/authentication/sa/login'));
165 }
166
167 }
168
169 return parent::run($action);
170 }
171
172 /**
173 * Routes all the actions to their respective places
174 *

#8 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/web/CWebApplication.php(276): AdminController->run("survey")
271 {
272 list($controller,$actionID)=$ca;
273 $oldController=$this->_controller;
274 $this->_controller=$controller;
275 $controller->init();
276 $controller->run($actionID);
277 $this->_controller=$oldController;
278 }
279 else
280 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
281 array('{route}'=>$route===''?$this->defaultController:$route)));

#9 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/web/CWebApplication.php(135): CWebApplication->runController("admin/survey/sa/activate")
130 foreach(array_splice($this->catchAllRequest,1) as $name=>$value)
131 $_GET[$name]=$value;
132 }
133 else
134 $route=$this->getUrlManager()->parseUrl($this->getRequest());
135 $this->runController($route);
136 }
137
138 /**
139 * Registers the core application components.
140 * This method overrides the parent implementation by registering additional core components.

#10 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/framework/base/CApplication.php(162): CWebApplication->processRequest()
157 */
158 public function run()
159 {
160 if($this->hasEventHandler('onBeginRequest'))
161 $this->onBeginRequest(new CEvent($this));
162 $this->processRequest();
163 if($this->hasEventHandler('onEndRequest'))
164 $this->onEndRequest(new CEvent($this));
165 }
166
167 /**

#11 +

/var/www/vhosts/sarpindustries.info/subdomains/enquete/httpdocs/limesurvey/index.php(178): CApplication->run()
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93498

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 801
  • Karma: 241
Tiens, LS 2.0 à un bug que je vais devoir corriger sur le mode debug.

Bon, pour vérifier si c'est un dépassement capacité mySQL, pourrait tu m'envoyer le fichier lss ? Éventuellement via message privé.

Combien y a t'il approximativement de questions/sous questions dans la base de données ?

Denis
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93509

  • eedouard
  • eedouard's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 9
  • Karma: 0
Bonjour,

il y a environ 56 questions dans le questionnaire.







Cdt
Last Edit: 1 year 5 months ago by eedouard.
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93510

  • eedouard
  • eedouard's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 9
  • Karma: 0
Je n'arrive pas à joindre le fichier
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93511

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 801
  • Karma: 241
Envoi le moi par mail: denis <AT> sondages.pro :).

Denis
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93513

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 801
  • Karma: 241
eedouard wrote:
il y a environ 56 questions dans le questionnaire.
Ah, oui mais Sous-questions: 1229 .

Donc sans doute un dépassement de capacité mySQL.
Solution :
- Possibilité de séparer le questionnaire selon les cibles ?
- Revoir les types de questions pour remplacer certaines questions par des tableaux ou des cases à cocher ?
- Possibilité de séparer le questionnaire en plusieurs parties ?
- Passer à du postgreSQL et passer le "default block size" à 32K ?

Denis
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93517

  • eedouard
  • eedouard's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 9
  • Karma: 0
j'ai supprimé la moitié du questionnaire, mais je peux toujours pas l'activer.
The administrator has disabled public write access.

Erreur de base de données à l'activation d'un questionnaire 1 year 5 months ago #93528

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 801
  • Karma: 241
A tester en ajoutant groupe par groupe.

Mais je pense, en visualisant le contenu du questionnaire, qu'il serait préférable de séparer celui ci par cible de la première question.
En effet chaque question me semble filtrée en fonction de celle ci.

Si c'est sur invitation:
1er questionnaire:
- la sélection du choix
- Equation pour sélectionner le numéro de questionnaire correspondant
- En sortie, diriger vers un script manuel pour créer la ligne correspondante dans la table d'invitation du questionnaire correspondant (un simple insert OR update avec le même token)
- Rediriger par entête HTTP vers le lien avec le questionnaire.

Cdt
Denis
The administrator has disabled public write access.
Moderators: Nickko
Time to create page: 0.159 seconds
Donation Image