[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