[TYPO3-UG Italy] Typo3 ADOdb e MSSQL

Michael Tamburini barcarogf+typo3 at gmail.com
Fri Sep 18 12:21:22 CEST 2009


Ciao a tutti, nel caso in futuro serva a qualcun altro vi confermo che 
le impostazioni segnalate risolvono il problema. Resta il problema 
dell'IDENTITY_INSERT che va gestito in altro modo. Attualmente io faccio 
un controllo sulla query se è una insert e se si tratta di una tabella 
con campo identity con questo codice (rozzissimo):

if(strpos($sql,'INSERT') !== FALSE){
				$tabellaDaSbloccare = explode("\"",$sql);
				$tabellaDaSbloccare = $tabellaDaSbloccare[1];
				#die('Tabella da sbloccare: '.$tabellaDaSbloccare);
				$tabelleSbloccabili = array(
					"be_users",
					"pages",
					"sys_lockedrecords",
					"tt_content",
					"sys_template",
					"sys_template_uid"
						);
				if(in_array($tabellaDaSbloccare,$tabelleSbloccabili)){
					$rez = mssql_query('SET IDENTITY_INSERT '.$tabellaDaSbloccare.' 
ON',$this->_connectionID);
					if($rez === FALSE) echo mssql_get_last_message()." ".'SET 
IDENTITY_INSERT '.$tabellaDaSbloccare.' ON',$this->_connectionID;
				}	#echo(mssql_get_last_message()); # or die();
			}

Ho appena visto però che c'è una variabile:

var $identitySQL = 'select @@IDENTITY'; // 'select SCOPE_IDENTITY'; # 
for mssql 2000

che dovrebbe restituire il campo identity, giusto? Pensavo di fare in 
questo modo: se quella variabile è definita allora faccio la query per 
sbloccare l'IDENTITY_INSERT. Pensate che sia un approccio corretto?

Ciao,
Michael.

Michael Tamburini ha scritto:
> Salve a tutti, dopo lungo cercare in Google ho trovato questo post 
> http://tr.im/yQS4 in cui si suggerisce di fare questo sul DB:
> 
> 
>     6 - With MSSQL Enterprise Manager change properties of new database 
> "typo":
>     Set options to "Use quoted identifiers" and "ANSI NULL default"
> 
> 
> Ho chiesto a chi gestisce il server la possibilità di impostare queste 
> opzioni. Teoricamente dovrebbe essere l'ultimo passo e poi tutto 
> dovrebbe funzionare correttamente, no?
> 
> Purtroppo non dispongo di un server Windows con MSSQL Server per poter 
> fare le prove del caso ma appena varò tempo credo che mi creerò una 
> virtual machine con un server Windows standard per questo tipo di test, 
> per caso sapete se ci sono già VM "preconfezionate"?
> 
> Ciao,
> Michael.


More information about the TYPO3-UG-Italy mailing list