An exception occured in driver: SQLSTATE[HY000] [14] unable to open database file

Support intro

Nextcloud version (eg, 12.0.2): 14
Operating system and version (eg, Ubuntu 17.04): Raspbian Jessie
Apache or nginx version (eg, Apache 2.4.25): Apache/2.4.25 (Raspbian)
PHP version (eg, 7.1): 7.0.33-0+deb9u3

The issue you are facing:
After updating from NC 14 to 15 and rebooting the server I only get a white page when trying to access the web interface.
I’ve been trying to solve this for the past couple of days but can’t find anything. The server has been running well before updating.

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Update from NC 14 to 15
  2. Try to access web-interface

The output of your Nextcloud log in Admin > Logging:

Cannot access it because web-interface is not available

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'ocb3xl87wxis',
  'passwordsalt' => 'passwordSalt',
  'secret' => 'Secret',
  'trusted_domains' => 
  array (
    0 => 'internal.ip',
    1 => 'web-address',
  ),
  'datadirectory' => '/media/pi/myCloudDrive/data',
  'overwrite.cli.url' => 'http://internal.ip/nextcloud',
  'dbtype' => 'sqlite3',
  'version' => '14.0.8.2',
  'logtimezone' => 'UTC',
  'installed' => true,
  'htaccess.RewriteBase' => '/nextcloud',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => 'true',
  'redis' => 
  array (
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,
    'timeout' => 0.0,
  ),
  'logfile' => '/var/log/nextcloud.log',
  'loglevel' => 2,
  'maintenance' => false,
  'theme' => '',
  'updater.release.channel' => 'stable',
  'updater.secret' => '$2y$10$z48ahZcDq0Sxo4/GSK3G6.N8utXcz72cKM4F/Ql4mwuWmCksmOxRW',
);

The output of your Apache/nginx/system log in /var/log/apache2/error.log:

[Wed Mar 13 13:22:58.480428 2019] [autoindex:error] [pid 1431] [client 79.118.12.234:34324] AH01276: Cannot serve directory /var/www/html/nextcloud: No matching DirectoryIndex (none) found, and server-generated directory index forbidden by Options directive
[Wed Mar 13 13:22:58.543766 2019] [:error] [pid 1431] [client 79.118.12.234:34324] PHP Fatal error:  Uncaught Doctrine\\DBAL\\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [14] unable to open database file in /var/www/html/nextcloud/lib/private/DB/Connection.php:64\nStack trace:\n#0 /var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(992): OC\\DB\\Connection->connect()\n#1 /var/www/html/nextcloud/lib/private/DB/Connection.php(216): Doctrine\\DBAL\\Connection->executeUpdate('PRAGMA read_unc...', Array, Array)\n#2 /var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): OC\\DB\\Connection->executeUpdate('PRAGMA read_unc...')\n#3 /var/www/html/nextcloud/lib/private/DB/Connection.php(151): Doctrine\\DBAL\\Connection->setTransactionIsolation(2)\n#4 /var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\\DB\\Connection->__construct(Array, Object(Doctrine\\DBAL\\Driver\\PDOSqlite\\Driver), Object(Doctrine\\DBAL\\Configuration), Object(Doctrine\\Common\\EventManager))\n#5 /var/www/html/nextcloud/lib in /var/www/html/nextcloud/lib/private/DB/Connection.php on line 64
[Wed Mar 13 13:22:58.547369 2019] [:error] [pid 1431] [client 79.118.12.234:34324] PHP Fatal error:  Uncaught Doctrine\\DBAL\\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [14] unable to open database file in /var/www/html/nextcloud/lib/private/DB/Connection.php:64\nStack trace:\n#0 /var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(992): OC\\DB\\Connection->connect()\n#1 /var/www/html/nextcloud/lib/private/DB/Connection.php(216): Doctrine\\DBAL\\Connection->executeUpdate('PRAGMA read_unc...', Array, Array)\n#2 /var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): OC\\DB\\Connection->executeUpdate('PRAGMA read_unc...')\n#3 /var/www/html/nextcloud/lib/private/DB/Connection.php(151): Doctrine\\DBAL\\Connection->setTransactionIsolation(2)\n#4 /var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\\DB\\Connection->__construct(Array, Object(Doctrine\\DBAL\\Driver\\PDOSqlite\\Driver), Object(Doctrine\\DBAL\\Configuration), Object(Doctrine\\Common\\EventManager))\n#5 /var/www/html/nextcloud/lib in /var/www/html/nextcloud/lib/private/DB/Connection.php on line 64

1 Like

As written in similar posts in this forum, make sure that your SQlite database file can be accessed by the user (e.g. www-data?!) under which the web servers is running. By default the database file should be stored in the data directory (/media/pi/myCloudDrive/data) and named nextcloud.db.