DOP: Impossibile creare database SQLite nella memoria
-
19-09-2019 - |
Domanda
Cercando di imparare un po 'DOP e sta attraversando questo tutorial . Essa ha il seguente frammento di codice:
<?php
try
{
$db = new PDO('sqlite::memory');
echo "SQLite created in memory.";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
Quando eseguo questo ottengo il seguente messaggio di eccezione:
SQLSTATE [HY000] [14] in grado di aprire file di database
Che cosa vuol dire? Come posso farlo funzionare? Sono in grado di connettersi a un database MySQL e anche un file di database SQLite regolare. Quindi so almeno qualcosa funziona ...
Sono su Windows 7 a 64-bit con Apache 2.2.11 e PHP 5.3.0 (ultima WampServer installazione). phpinfo()
dice che ho PDO_SQLITE con SQLite Biblioteca 3.6.15 abilitato.
Soluzione
Devi scrivere
$db = new PDO('sqlite::memory:');
il :
finale è mancante.
Il nome PDO_SQLITE Data Source (DSN) è composto dai seguenti elementi:
Il prefisso DSN è SQLite:.
Per accedere a un database sul disco, aggiungere il percorso assoluto al prefisso DSN.
Per creare un database in memoria, aggiungere : Memoria:. per il prefisso DSN
Altri suggerimenti
Non è sicuro @ permessi vincere, ma su * nix, esigenze SQLite scrivono il permesso al dir confinare file di database per i file temporanei.