Pregunta

Tratando de aprender un poco acerca de DOP y está pasando por este tutorial . Tiene el siguiente fragmento de código:

<?php

try
{
    $db = new PDO('sqlite::memory');
    echo "SQLite created in memory.";

}
catch(PDOException $e)
{
    echo $e->getMessage();
}

Al ejecutar este me sale el siguiente mensaje de excepción:

  

SQLSTATE [HY000] [14] no se puede abrir archivo de base

¿Qué significa eso? ¿Cómo puedo conseguir que funcione? Soy capaz de conectarse a una base de datos MySQL y también un archivo de base de datos SQLite regular. Así que sé al menos algo funciona ...

Estoy en Windows 7 de 64 bits con Apache 2.2.11 y PHP 5.3.0 (última WampServer instalar). phpinfo() informa que tengo pdo_sqlite con SQLite 3.6.15 Biblioteca habilitado.

¿Fue útil?

Solución

Tienes que escribir

$db = new PDO('sqlite::memory:');

: el arrastre no se encuentra.


  

El nombre de origen de datos pdo_sqlite (DSN) se compone de los siguientes elementos:

     

El prefijo DSN es sqlite:.

     
      
  • Para acceder a una base de datos en el disco, añadir la ruta absoluta al prefijo DSN.

  •   
  • Para crear una base de datos en la memoria, añadir : memoria:. al prefijo DSN

  •   

Documentación

Otros consejos

No está seguro @ permisos ganar, pero en * nix, necesidades SQLite permiso de escritura en el directorio de archivos de base de confinamiento para los archivos temporales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top