Category Archives: Database

Database Access: visualizzare e modificare mdb senza Microsoft Access

Pubblicato da

mdb-viewer-plus-01

I database Access fanno un po’ parte del mio passato di programmatore quando scrivevo codice in Classic ASP.
Questi database sono ancora inclusi nel pacchetto Microsoft Office e vengono molto utilizzati in ambito aziendale (nel tempo sono stati scritti moltissimi applicativi in VBA per i più svariati fini).
Se ci troviamo di fronte ad un database Access, un file unico con estensione .mdb, possiamo darci un’occhiata all’interno e modificarlo con uno strumento potente, pratico e semplice come MDB Viewer Plus.

Tramite questo tool, che non ha bisogno di installazione, possiamo effettuare operazioni di lettura, modifica e cancellazione dei dati del file mdb.
Inoltre possiamo operare su filtri, campi e tabelle.

Link: MDB Viewer Plus

Gestione backup per MySQL con MySQLDumper

Pubblicato da

MySQLDumper è una completa utility che permette la gestione dei backup MySQL.

Questo programma è utilissimo anche nel caso in cui, per esempio, è necessario importare una gran mole di dati tramite file .sql .
Grazie a istruzioni javascript evita il timeout dello script e le limitazioni di grandezza (normalmente intorno ai 2MB) imposte da tool come phpMyAdmin al file da importare.

Con MySQLDumper è possibile importare file fino al limite massimo imposto dall’opzione upload_max_filesize di php.ini. Per file di dimensioni superiori è sempre possibile inviare via FTP il file nella cartella /work/backup/ , il programma leggerà la presenza del nuovo file di backup e lo renderà disponibile per l’importazione.

Altre caratteristiche interessanti sono la possibilità di

  • inviare i backup a tre differenti server via FTP
  • impostare cronjob (necessario supporto Perl)
  • inviare i backup via email
  • suddividere un grande backup in più parti (saranno sempre riconosciuti come un unico backup)
  • cancellare automaticamente vecchi backup

Di non secondaria importanza è la facilità d’installazione del programma. In pratica basta uploadarlo in una cartella del server e modificare il file di configurazione. Si può lavorare su un solo database o su tutti quelli presenti sul server. Il programma funziona anche da SQL-Browser. Per quest’ultima funzione si deve dire che non può essere un sostituto di phpMyAdmin ma, lavorandogli a fianco, permettono di avere il pieno controllo sul database MySQL e su tutte le operazioni di sicurezza necessarie.

Link: MySQLDumper

Alternativa a PhpMyAdmin

Pubblicato da

SQL Buddy è un’alernativa concreta a PhpMyAdmin.
Come PMA anche SQL Buddy è un gestore online di database MySQL, le differenze si riducono ad un’interfaccia più gradevole, ad un minor set di funzioni e, conseguentemente, ad un peso minore del pacchetto di file.
In più, SQL Buddy non ha installazione! Basta scompattare lo zip che si scarica dal sito ufficiale, metterlo sul server e, dopo un paio di doverose configurazioni via interfaccia, si può già lavorare.
L’unica nota stonata riguarda l’esportazione che può essere effettuata solo sotto forma di file txt.

NOTA BENE: a giudicare dal sito, SQL Buddy sembra un progetto abbandonato ma lo sviluppatore si è ripromesso di rilasciare solo una major release ogni anno. Siamo quindi in vista della 2.0

Link: SQL Buddy

Aggiornare PHP su CentOS

Pubblicato da

L’aggiornamento di WordPress alla versione 3.2.1 richiedeva un upgrade di PHP alla versione 5.2.4 o superiore del mio server con CentOS.
Così ho proceduto (dopo un adeguato backup dell’intero sistema) installando yum e aggiornando partendo dalle dipendenze (MySQL).

Installo yum

wget  http://www.atomicorp.com/installers/atomic.sh
sh atomic.sh

Aggiorno MySQL

yum update mysql
mv /etc/my.cnf.rpmnew /etc/my.cnf
service mysqld restart

Dopo questa operazione anche PHP è aggiornato alla versione più recente.
Tuttavia il servizio mysqld non ne voleva sapere di riavviarsi.
Dopo aver googlato un po’ ho capito che la dipendenza bdb non è più necessaria in /etc/my.cnf (il file di configurazione).
Per cui ho commentato la riga di comando che lo riguardava.


[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

#skip-bdb

set-variable = innodb_buffer_pool_size=2M
set-variable = innodb_additional_mem_pool_size=500K
set-variable = innodb_log_buffer_size=500K
set-variable = innodb_thread_concurrency=2
[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-bdb


set-variable = innodb_buffer_pool_size=2M
set-variable = innodb_additional_mem_pool_size=500K
set-variable = innodb_log_buffer_size=500K
set-variable = innodb_thread_concurrency=2

..ed ho potuto riavviare normalmente il demone MySQL.

Link: CentOS PHP MySQL

 

Un database editor semplice e pratico

Pubblicato da

DBEdit supporta i database Oracle, DB2, MySQL, SQLite, HSQLDB, H2 e Apache Derby.
Essendo un software scritto in Java (funziona con la versione 6 o superiore) si presta ad essere utilizzato su più piattaforme come Windows, Linux, Solaris e Mac OS X.
Tra le sue caratteristiche c’è l’evidenziazione della sintassi e la formattazione SQL.
Sono possibili tutte le operazioni base che si vorrebbero poter intraprendere contro un database: inserimento, modifica, cancellazione e duplicazione dei records.
Inoltre è possibile l’apertura, l’importazione e l’esportazione di BLOB e CLOB per operazioni di sincronizzazione.

Link: DBEdit

MySQL: contare le occorrenze tra i valori di un campo

Pubblicato da

Talvolta si fa un uso eccessivo di PHP anche quando basterebbero gli strumenti messi a disposizione dal linguaggio SQL.
Un esempio è quando si vogliono contare le occorrenze di un determinato valore all’interno delle diverse righe di un campo.
Con PHP siamo abituati a creare un contatore ed a stampare la variabile ma possiamo fare tutto con SQL.
Riprendo l’esempio che ho trovato sul web

person vote
obama yes
mccain no
obama yes
obama no
mccain yes
obama yes
obama yes
obama no
mccain no

Il codice SQL che compie il lavoro è

SELECT person,
SUM(IF(vote = "yes", 1,0)) AS `yes_votes`,
SUM(IF(vote = "no", 1,0)) AS `no_votes`,
COUNT(vote) AS `total`
FROM votes
GROUP BY person
ORDER BY yes_votes DESC

Il risultato è

person yes_votes no_votes total
obama 4 2 6
mccain 1 2 3

La parte comoda del codice SQL risiede in quel ..SUM(IF.. che ci evita di creare un loop in PHP a valle della query per il conteggio.

via Random Snippets

Connessione a database da remoto

Pubblicato da

Nei casi in cui l’amministratore di sistema lo permetta, è molto comodo connettersi ad un database da remoto per effettuarci operazioni.
I tool che girano su desktop hanno spesso un numero di opzioni  e scorciatoie maggiore rispetto agli script che girano sul server (come ad esempio phpMyAdmin).

Database Browser Portable è un software portatile che permette di connettersi col database ed eseguire query, inserire, modificare o stampare dati.
Funziona con Oracle, MS Sql Server, ODBC, MySql, PostgreSQL, Interbase, Firebird e Ole DB databases.
L’interfaccia  è pratica e intuitiva pur nella sua basicità.

Questa versione del software può funzionare in maniera a sé stante o all’interno della piattaforma di PortableApps.com

Link: Database Browser Portable

SQLike, un piccolo query engine

Pubblicato da

Talvolta può sorgere la necessità di compiere operazioni di tipo SQL come GROUP, SUM, SELECT DISTINCT ecc. su array di dati che sono il risultato di una query contro un db.
Voi direte: “ma io queste operazioni le posso fare già nella query contro il db”. Ed è vero ma immaginate di fare un’unica operazione di SELECT contro il database, magari estraendo tutto quello che c’è (parliamo di al massimo qualche migliaio di record per una decina di colonne) e poi di operare su questo array di array o array di oggetti.
Avremmo una sola operazione in cui è chiamato in causa il db (la SELECT), mentre tutte le  altre operazioni potrebbero essere svolte lato client da …qualcosa.

Quel qualcosa è una libreria javascript che si chiama SQLike.
Lo scopo della libreria (o motore o funzione q) è quello di utilizzare una sintassi simile a SQL per operare sui risultati della query.
Questa “query della query” viene poi presentata in una comoda forma tabellare.
A seconda del javascript engine che si utilizza (e quindi del browser) si hanno risultati sorprendenti.
SQLike è scritto in ActionScript2, ActionScript3 e Javascript.

Link: SQLikedemo

Velocizzare Firefox 3 con VACUUM

Pubblicato da

Logo Firefox

Chi usa quotidianamente Firefox 3 si sarà accorto che, a mano a mano che i giorni passano, il browser rallenta un po’.
Il principale imputato è il sistema di ricerca cronologia/bookmark che si basa sul database SQLite che, oltre a diventare di grosse dimensioni, frammenta le informazioni rendendo più lenta la fase di ricerca.
Una soluzione per eliminare gli spazi all’interno del database è il comando VACUUM.
Il tutto può essere fatto a mano e direttamente nel browser:

  • Strumenti ->Console degli errori
  • Incolla il codice seguente nella riga “Codice:” e premi su “Valuta”
  • Attenzione: il codice sovrastante va messo tutto su una sola riga e di seguito (l’ho spezzato per ragioni di formattazione)
  • Firefox si bloccherà per qualche istante in attesa del termine dell’operazione

O tramite un add-on che compie la stessa operazione ma con in più la possibilità di schedularla.

Gestione database da remoto con Database Browser

Pubblicato da

databasebrowser

PhpMyAdmin è il mio strumento preferito per lavorare con MySQL.
Capita talvolta che questa risorsa non sia nè presente nè sia possibile installarla. In questi casi conviene avere un programma che si connetta da remoto al database e permetta visualizzazioni e modifiche.

Un programma gratuito che può assolvere a queste funzioni è Database Browser.
Le sue caratteristiche:

  • Lavora direttamente con Oracle, MS Sql Server, ODBC, MySql, PostgreSQL, Interbase e Firebird
  • Supporta gli script di connessione ODBC
  • Nessun limite di connessioni contemporanee
  • Un click per passare da una connessione ad un’altra
  • Navigazione della tabella semplificata
  • Navigazione fra i dati
  • Esportazione in CSV, Excel, Html
  • Storico dei comandi
  • Sql Builder

Di questo tool ne esiste anche una comoda versione portatile

N.B. prima di scaricarlo e provarlo accertatevi che il vostro provider accetti le connessioni al db da remoto

Link: Database Browser