View Issue Details

This bug affects 1 person(s).
 2
IDProjectCategoryView StatusLast Update
13644Bug reportsSurvey takingpublic2018-06-27 15:29
ReporterDanielB Assigned Toc_schmitz  
PrioritynoneSeverityblock 
Status closedResolutionfixed 
Summary13644: CDbException when switching to database sessions in config.php
Description

When switching to database sessions, the users can not start the surveys anymore. Instead an error page (see attachment) appears. This has been tested with existing surveys and also with new surveys created after the switch to database sessions. After switching back (commenting the database session part out in config.php) everything else seems to work normally again.

Steps To Reproduce

Switch to database sessions, try to start a survey by calling the link of the survey.

Additional Information

As a test, I upgraded the system to the 3.x-branch, hoping this would fix the problem. It didn't.

If possible, please fix this for the 2.7 branch, too. Upgrading all templates and surveys for the new template system of 3.x would be a nightmare for me. :)

TagsNo tags attached.
Attached Files
CDbException.htm (24,708 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CDbException</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
</head>

<body>
<div class="container">
	<h1>CDbException</h1>

	<p class="message">
		CDbCommand konnte das SQL-Statement nicht ausführen: SQLSTATE[42000]: 
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Die implizite 
Konvertierung vom nvarchar(max)-Datentyp in varbinary(max) ist nicht 
zulässig. Verwenden Sie die CONVERT-Funktion, um diese Abfrage 
auszuführen.. The SQL statement executed was: INSERT INTO 
[lime_sessions] ([id], [expire], [data]) VALUES (:id, :expire, :data)	</p>

	<div class="source">
		<p class="file">D:\htdocs\limesurvey\framework\db\CDbCommand.php(358)</p>
		<div class="code"><pre><span class="ln">346</span>         {
<span class="ln">347</span>             if($this-&gt;_connection-&gt;enableProfiling)
<span class="ln">348</span>                 Yii::endProfile('system.db.CDbCommand.execute('.$this-&gt;getText().$par.')','system.db.CDbCommand.execute');
<span class="ln">349</span> 
<span class="ln">350</span>             $errorInfo=$e instanceof PDOException ? $e-&gt;errorInfo : null;
<span class="ln">351</span>             $message=$e-&gt;getMessage();
<span class="ln">352</span>             Yii::log(Yii::t('yii','CDbCommand::execute() failed: {error}. The SQL statement executed was: {sql}.',
<span class="ln">353</span>                 array('{error}'=&gt;$message, '{sql}'=&gt;$this-&gt;getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand');
<span class="ln">354</span> 
<span class="ln">355</span>             if(YII_DEBUG)
<span class="ln">356</span>                 $message.='. The SQL statement executed was: '.$this-&gt;getText().$par;
<span class="ln">357</span> 
<span class="error"><span class="ln error-ln">358</span>             throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
</span><span class="ln">359</span>                 array('{error}'=&gt;$message)),(int)$e-&gt;getCode(),$errorInfo);
<span class="ln">360</span>         }
<span class="ln">361</span>     }
<span class="ln">362</span> 
<span class="ln">363</span>     /**
<span class="ln">364</span>      * Executes the SQL statement and returns query result.
<span class="ln">365</span>      * This method is for executing an SQL query that returns result set.
<span class="ln">366</span>      * @param array $params input parameters (name=&gt;value) for the SQL execution. This is an alternative
<span class="ln">367</span>      * to {@link bindParam} and {@link bindValue}. If you have multiple input parameters, passing
<span class="ln">368</span>      * them in this way can improve the performance. Note that if you pass parameters in this way,
<span class="ln">369</span>      * you cannot bind parameters or values using {@link bindParam} or {@link bindValue}, and vice versa.
<span class="ln">370</span>      * Please also note that all values are treated as strings in this case, if you need them to be handled as
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace core expanded">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\db\CDbCommand.php(1278): <strong>CDbCommand</strong>-&gt;<strong>execute</strong>(array(":id" =&gt; "i3catnijkeoiarnr9mk4iobeb1", ":expire" =&gt; 1525255495, ":data" =&gt; ""))				</div>

				<div class="code"><pre><span class="ln">1273</span>             }
<span class="ln">1274</span>         }
<span class="ln">1275</span>         $sql='INSERT INTO ' . $this-&gt;_connection-&gt;quoteTableName($table)
<span class="ln">1276</span>             . ' (' . implode(', ',$names) . ') VALUES ('
<span class="ln">1277</span>             . implode(', ', $placeholders) . ')';
<span class="error"><span class="ln error-ln">1278</span>         return $this-&gt;setText($sql)-&gt;execute($params);
</span><span class="ln">1279</span>     }
<span class="ln">1280</span> 
<span class="ln">1281</span>     /**
<span class="ln">1282</span>      * Creates and executes an UPDATE SQL statement.
<span class="ln">1283</span>      * The method will properly escape the column names and bind the values to be updated.
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\CDbHttpSession.php(130): <strong>CDbCommand</strong>-&gt;<strong>insert</strong>("{{sessions}}", array("id" =&gt; "i3catnijkeoiarnr9mk4iobeb1", "expire" =&gt; 1525255495, "data" =&gt; ""))				</div>

				<div class="code"><pre><span class="ln">125</span>             // shouldn't reach here normally
<span class="ln">126</span>             $db-&gt;createCommand()-&gt;insert($this-&gt;sessionTableName, array(
<span class="ln">127</span>                 'id'=&gt;$newID,
<span class="ln">128</span>                 'expire'=&gt;time()+$this-&gt;getTimeout(),
<span class="ln">129</span>                 'data'=&gt;'',
<span class="error"><span class="ln error-ln">130</span>             ));
</span><span class="ln">131</span>         }
<span class="ln">132</span>     }
<span class="ln">133</span> 
<span class="ln">134</span>     /**
<span class="ln">135</span>      * Creates the session DB table.
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\application\helpers\frontend_helper.php(1660): <strong>CDbHttpSession</strong>-&gt;<strong>regenerateID</strong>(true)				</div>

				<div class="code"><pre><span class="ln">1655</span>  * @param int $surveyid
<span class="ln">1656</span>  * @return void
<span class="ln">1657</span>  */
<span class="ln">1658</span> function resetAllSessionVariables($surveyid)
<span class="ln">1659</span> {
<span class="error"><span class="ln error-ln">1660</span>     Yii:app()-&gt;session-&gt;regenerateID(true);
</span><span class="ln">1661</span>     unset($_SESSION['survey_'.$surveyid]['grouplist']);
<span class="ln">1662</span>     unset($_SESSION['survey_'.$surveyid]['fieldarray']);
<span class="ln">1663</span>     unset($_SESSION['survey_'.$surveyid]['insertarray']);
<span class="ln">1664</span>     unset($_SESSION['survey_'.$surveyid]['fieldnamesInfo']);
<span class="ln">1665</span>     unset($_SESSION['survey_'.$surveyid]['fieldmap-' . $surveyid . '-randMaster']);
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\application\helpers\frontend_helper.php(1040): <strong>resetAllSessionVariables</strong>("157138")				</div>

				<div class="code"><pre><span class="ln">1035</span>     $renderWay = getRenderWay($renderToken, $renderCaptcha);
<span class="ln">1036</span>     $redata = compact(array_keys(get_defined_vars()));
<span class="ln">1037</span>     renderRenderWayForm($renderWay, $redata, $scenarios, $sTemplateViewPath, $aEnterTokenData, $surveyid);
<span class="ln">1038</span> 
<span class="ln">1039</span>     // Reset all the session variables and start again
<span class="error"><span class="ln error-ln">1040</span>     resetAllSessionVariables($surveyid);
</span><span class="ln">1041</span> 
<span class="ln">1042</span>     // Multi lingual support order : by REQUEST, if not by Token-&gt;language else by survey default language
<span class="ln">1043</span>     if (returnGlobal('lang',true))
<span class="ln">1044</span>     {
<span class="ln">1045</span>         $language_to_set=returnGlobal('lang',true);
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\application\helpers\SurveyRuntimeHelper.php(467): <strong>buildsurveysession</strong>("157138")				</div>

				<div class="code"><pre><span class="ln">462</span>         else
<span class="ln">463</span>         {
<span class="ln">464</span>             //RUN THIS IF THIS IS THE FIRST TIME , OR THE FIRST PAGE ########################################
<span class="ln">465</span>             if (!isset($_SESSION[$LEMsessid]['step']))
<span class="ln">466</span>             {
<span class="error"><span class="ln error-ln">467</span>                 buildsurveysession($surveyid);
</span><span class="ln">468</span> 
<span class="ln">469</span> 
<span class="ln">470</span>                 if($surveyid != LimeExpressionManager::getLEMsurveyId())
<span class="ln">471</span>                     LimeExpressionManager::SetDirtyFlag();
<span class="ln">472</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\application\controllers\survey\index.php(615): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>run</strong>("157138",
 array("surveyid" =&gt; "157138", "thissurvey" =&gt; array("template" 
=&gt; "default", "language" =&gt; "de", "sid" =&gt; "157138", "owner_id"
 =&gt; "1", ...), "thisstep" =&gt; null, "tokensexist" =&gt; 0, ...))			
	</div>

				<div class="code"><pre><span class="ln">610</span>         //Send local variables to the appropriate survey type
<span class="ln">611</span>         unset($redata);
<span class="ln">612</span>         $redata = compact(array_keys(get_defined_vars()));
<span class="ln">613</span>         Yii::import('application.helpers.SurveyRuntimeHelper');
<span class="ln">614</span>         $tmp = new SurveyRuntimeHelper();
<span class="error"><span class="ln error-ln">615</span>         $tmp-&gt;run($surveyid,$redata);
</span><span class="ln">616</span> 
<span class="ln">617</span>         if (App()-&gt;request-&gt;getPost('saveall') || isset($flashmessage))
<span class="ln">618</span>         {
<span class="ln">619</span>             App()-&gt;clientScript-&gt;registerScript("saveflashmessage","alert('".gT("Your responses were successfully saved.","js")."');",CClientScript::POS_READY);
<span class="ln">620</span>         }
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\application\controllers\survey\index.php(70): <strong>index</strong>-&gt;<strong>action</strong>()				</div>

				<div class="code"><pre><span class="ln">65</span>             App()-&gt;getClientScript()-&gt;reset();
<span class="ln">66</span>             return $buffer;
<span class="ln">67</span>         });
<span class="ln">68</span> 
<span class="ln">69</span>         ob_implicit_flush(false);
<span class="error"><span class="ln error-ln">70</span>         $this-&gt;action();
</span><span class="ln">71</span>         ob_flush();
<span class="ln">72</span>     }
<span class="ln">73</span> 
<span class="ln">74</span>     function action()
<span class="ln">75</span>     {
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\actions\CAction.php(76): <strong>index</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">71</span>     {
<span class="ln">72</span>         $method=new ReflectionMethod($this, 'run');
<span class="ln">73</span>         if($method-&gt;getNumberOfParameters()&gt;0)
<span class="ln">74</span>             return $this-&gt;runWithParamsInternal($this, $method, $params);
<span class="ln">75</span> 
<span class="error"><span class="ln error-ln">76</span>         $this-&gt;run();
</span><span class="ln">77</span>         return true;
<span class="ln">78</span>     }
<span class="ln">79</span> 
<span class="ln">80</span>     /**
<span class="ln">81</span>      * Executes a method of an object with the supplied named parameters.
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\CController.php(308): <strong>CAction</strong>-&gt;<strong>runWithParams</strong>(array("lang" =&gt; "de", "sid" =&gt; "157138"))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(index)				</div>

				<div class="code"><pre><span class="ln">281</span>      * @see runAction
<span class="ln">282</span>      */
<span class="ln">283</span>     public function runActionWithFilters($action,$filters)
<span class="ln">284</span>     {
<span class="ln">285</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">286</span>             $this-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(index, array())				</div>

				<div class="code"><pre><span class="ln">260</span>         {
<span class="ln">261</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">267</span>             }
<span class="ln">268</span>         }
<span class="ln">269</span>         else
<span class="ln">270</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\CWebApplication.php(282): <strong>CController</strong>-&gt;<strong>run</strong>("index")				</div>

				<div class="code"><pre><span class="ln">277</span>         {
<span class="ln">278</span>             list($controller,$actionID)=$ca;
<span class="ln">279</span>             $oldController=$this-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\web\CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("survey/index/sid/157138")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\framework\base\CApplication.php(185): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">180</span>     public function run()
<span class="ln">181</span>     {
<span class="ln">182</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">187</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">188</span>     }
<span class="ln">189</span> 
<span class="ln">190</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;D:\htdocs\limesurvey\index.php(214): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">209</span>         die (sprintf('%s should be writable by the webserver (766 or 776).', $sDefaultRuntimePath));
<span class="ln">210</span>     }
<span class="ln">211</span> }
<span class="ln">212</span> 
<span class="ln">213</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">214</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">215</span> 
<span class="ln">216</span> /* End of file index.php */
<span class="ln">217</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2018-05-02 12:04:35 Apache/2.4.32 (Win32) OpenSSL/1.0.2n PHP/5.6.34 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.18	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>



</body></html>
CDbException.htm (24,708 bytes)   
Bug heat2
Complete LimeSurvey version number (& build)Version 2.73.1+171220
I will donate to the project if issue is resolvedYes
BrowserFirefox 59.0.2
Database type & versionMicrosoft SQL Server Standard (64-bit) Version 12.0.5579.0 (SQL Server 2014 SP2 CU11)
Server OS (if known)Windows Server 2012 R2
Webserver software & version (if known)Apache 2.4.32 (32 Bit)
PHP VersionPHP 5.6.34

Users monitoring this issue

There are no users monitoring this issue.

Activities

c_schmitz

c_schmitz

2018-06-26 18:51

administrator   ~48304

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=27542

c_schmitz

c_schmitz

2018-06-26 18:53

administrator   ~48305

@DanielB: Sorry that it took such a long time to fix this issue - there is no donation required, ofc.
Please update to the latest version and you should be able to use database sessions on MSSQL properly.

c_schmitz

c_schmitz

2018-06-26 19:14

administrator   ~48307

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=27543

c_schmitz

c_schmitz

2018-06-27 15:29

administrator   ~48328

Version 3.12.3+180627 released

Related Changesets

LimeSurvey: master e40c9efe

2018-06-26 18:50:25

c_schmitz

Details Diff
Fixed issue 13644: Error when activating database sessions and using MSSQL Affected Issues
13644
mod - application/config/version.php Diff File
mod - application/core/db/MssqlSchema.php Diff File
mod - application/helpers/update/updatedb_helper.php Diff File

LimeSurvey: master 040c89a3

2018-06-26 19:14:05

c_schmitz

Details Diff
Fixed issue 13644: Error when activating database sessions and using MSSQL Affected Issues
13644
mod - application/helpers/update/updatedb_helper.php Diff File

Issue History

Date Modified Username Field Change
2018-05-02 12:17 DanielB New Issue
2018-05-02 12:17 DanielB File Added: CDbException.htm
2018-06-26 13:54 LouisGac Assigned To => c_schmitz
2018-06-26 13:54 LouisGac Status new => assigned
2018-06-26 18:51 c_schmitz Changeset attached => LimeSurvey master e40c9efe
2018-06-26 18:51 c_schmitz Note Added: 48304
2018-06-26 18:51 c_schmitz Resolution open => fixed
2018-06-26 18:53 c_schmitz Status assigned => resolved
2018-06-26 18:53 c_schmitz Note Added: 48305
2018-06-26 19:14 c_schmitz Changeset attached => LimeSurvey master 040c89a3
2018-06-26 19:14 c_schmitz Note Added: 48307
2018-06-27 15:29 c_schmitz Note Added: 48328
2018-06-27 15:29 c_schmitz Status resolved => closed