Strumenti Utente

Strumenti Sito


sviluppo:multidb

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
sviluppo:multidb [2017/12/04 10:14] l.pergolinisviluppo:multidb [2024/10/15 09:45] (versione attuale) – modifica esterna 127.0.0.1
Linea 14: Linea 14:
 </code> </code>
  
-TODO: completare caso per caso+====Connection.ini Postgres==== 
 +<code> 
 +[CITYWARE] 
 +dbms=pgsql 
 +host=[host] 
 +database=[database] 
 +realname=cityware 
 +user=[user] 
 +pwd=[pwd] 
 +fieldskeycase=UPPER 
 +drivertype=PDO 
 +charset=LATIN9 
 +stripspaces=true 
 +defaultString=blank 
 +searchSequenceField=naming 
 +</code>
  
 ===== MS SQL Server (da 2008 in avanti) ===== ===== MS SQL Server (da 2008 in avanti) =====
Linea 32: Linea 47:
 </code> </code>
  
 +====Connection.ini mssqlServer ====
 +<code>
 +[CITYWARE]
 +dbms=mssqlserver
 +host=[host\istanza] oppure [host:port]
 +database=[database]
 +realname=cityware
 +drivertype=PDO
 +user=[user]
 +pwd=[pwd]
 +dateFormat=YMD
 +stripspaces=true
 +defaultString=blank
 +searchSequenceField=naming
 +</code>
 +**ATTENZIONE**: Nel caso si utilizzi il driver pdo_sqlsrv per Windows il parametro host deve essere scritto nella seguente forma:
 +<code>
 +host=[host\istanza] oppure [host,porta] oppure [host] nel caso la porta sia quella di default 1433
 +</code>
 ===== Oracle ===== ===== Oracle =====
  
Linea 48: Linea 82:
 <code> <code>
 extension=php_pdo_oci.dll extension=php_pdo_oci.dll
 +</code>
 +
 +
 +
 +====Connection.ini Oracle====
 +<code>
 +[CITYWARE]
 +dbms=oracle
 +host=[nome tnsnames.ora]
 +sid=[SID]
 +database=[database]
 +realname=cityware
 +user=[user]
 +pwd =[pwd]
 +drivertype=PDO
 +dateFormat=YYYY-MM-DD
 +defaultString=blank
 +searchSequenceField=naming
 +</code>
 +
 +====Connection.ini Oracle FAILOVER:ON  ====
 +<code>
 +[CITYWARE]
 +dbms=oracle
 +host=X:1521 Y:1521 ;;host separate dello spazio 
 +hostProperties=FAILOVER:ON  ;;proprietà separate dallo spazio: value (es: LOAD_BALANCE:ON FAILOVER:ON)
 +servicename= CITYWARE_UNIONE
 +realname=cityware
 +user=cityware
 +pwd=cityware
 +drivertype=PDO
 +dateFormat=YYYY-MM-DD
 +stripspaces=1
 +defaultString=blank
 +searchSequenceField=naming
 </code> </code>
  
Linea 153: Linea 222:
   - Service: è possibile non fare la commit\rollback se viene impostato l'attributo '$startedTransaction'(o in fase di builder o impostando un "set")   - Service: è possibile non fare la commit\rollback se viene impostato l'attributo '$startedTransaction'(o in fase di builder o impostando un "set")
   - E' possibile gestire manualmente la transazione usando 'manual' in fase di addTransaction.   - E' possibile gestire manualmente la transazione usando 'manual' in fase di addTransaction.
-    Nel aprire manualmente una nuova sessione c'è il controllo delle transazioni aperte. In caso sia aperta lancia eccezione.+  - Nel aprire manualmente una nuova sessione c'è il controllo delle transazioni aperte. In caso sia aperta lancia eccezione.
   - Microsoft Mssql con driver installato su macchine linux non è permesso gestire le transazioni.   - Microsoft Mssql con driver installato su macchine linux non è permesso gestire le transazioni.
            
 La chiusura (commit\rollback) deve essere fatta esplicitamente con l'attributo 'manual' La chiusura (commit\rollback) deve essere fatta esplicitamente con l'attributo 'manual'
 Qualsiasi altro salvataggio\cancellazione\inserimento lanciato con attivo lo stato manual non interferisce con la transazione. Qualsiasi altro salvataggio\cancellazione\inserimento lanciato con attivo lo stato manual non interferisce con la transazione.
 +
 +===== Lettura e scrittura dei binari con il PDO =====
 +
 +Per leggere e scrivere correttamente un "blob" effettuare le seguenti operazioni:
 +  - Nella function che ritorna la stringa sql (esempio cwbLibDB_BGE function getSqlLeggiBgeAgidConfEfil) è obbligatorio specificare tutti i campi in maniera di selezione.
 +  - Sempre nella stessa function per i campi binari usare questa sintassi per formattare il campo binario in selezione '$this->getCitywareDB()->adapterBlob("NOMECAMPOBINARIO")'.Questo risolve il problema del fetch null con oracle su piattaforma linux. 
 +  - Sulla leggi effettiva (esempio cwbLibDB_BGE function leggiBgeAgidConfEfil..) passare un array con oggetto e metodo. E'la callback chiamata per il database mssql per caricare il binario sull'array principale.
 +  - Implementare questa callback seguendo l' esempio cwbLibDB_BGE leggiBgeAgidConfEfilBinary.
 +
 +===== Gestione degli ordinamenti con il PDO in fase di paginazione =====
 +In fase paginazione è obbligatorio per i database Mssql\Oracle arrivare a paginare i dati con un ordinamento impostato.
 +L'ordinamento può essere impostato:
 +  * Sul generator
 +  * Sulla "lib" che effettua la query controllando sempre il flag " $excludeOrderBy" per gestire l'ordinamento dalla datatable (intestazione colonne)
 +  * Nel caso che non venga passato nessun ordinamento di default viene utilizzare la chiave primaria del modello solo se 'noCrud' == false
 +{{counter}} visualizzazioni.
 +
sviluppo/multidb.1512382463.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)