【问题标题】:Yii with sqlite 3Yii 与 sqlite 3
【发布时间】:2013-04-03 04:18:02
【问题描述】:

console.php 和 main.php 的配置文件夹中

我正在使用:

'db'=>array(
    'connectionString' => 'sqlite:protected/data/qdr.sqlite',
),

sqlite 数据库在数据文件夹中。

现在当我尝试创建模型用户时(有一个名为 users 的表)

用命令 yiic外壳 模型用户

它显示错误:

>> model users
exception 'CDbException' with message 'CDbConnection failed to open the DB conne
ction: SQLSTATE[HY000] [14] unable to open database file' in F:\wamp\www\qdr\fra
mework\db\CDbConnection.php:381
Stack trace:
#0 F:\wamp\www\qdr\framework\db\CDbConnection.php(330): CDbConnection->open()
#1 F:\wamp\www\qdr\framework\db\CDbConnection.php(308): CDbConnection->setActive
(true)
#2 F:\wamp\www\qdr\framework\base\CModule.php(387): CDbConnection->init()
#3 F:\wamp\www\qdr\framework\base\CApplication.php(438): CModule->getComponent('
db')
#4 F:\wamp\www\qdr\framework\cli\commands\shell\ModelCommand.php(259): CApplicat
ion->getDb()
#5 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(128): ModelCommand->r
un(Array)
#6 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(99): ShellCommand->ru
nShell()
#7 F:\wamp\www\qdr\framework\console\CConsoleCommandRunner.php(67): ShellCommand
->run(Array)
#8 F:\wamp\www\qdr\framework\console\CConsoleApplication.php(91): CConsoleComman
dRunner->run(Array)
#9 F:\wamp\www\qdr\framework\base\CApplication.php(169): CConsoleApplication->pr
ocessRequest()
#10 F:\wamp\www\qdr\framework\yiic.php(33): CApplication->run()
#11 F:\wamp\www\qdr\framework\yiic(14): require_once('F:\wamp\www\qdr...')
#12 {main}
>> model users
exception 'CDbException' with message 'CDbConnection failed to open the DB conne
ction: SQLSTATE[HY000] [14] unable to open database file' in F:\wamp\www\qdr\fra
mework\db\CDbConnection.php:381
Stack trace:
#0 F:\wamp\www\qdr\framework\db\CDbConnection.php(330): CDbConnection->open()
#1 F:\wamp\www\qdr\framework\db\CDbConnection.php(308): CDbConnection->setActive
(true)
#2 F:\wamp\www\qdr\framework\base\CModule.php(387): CDbConnection->init()
#3 F:\wamp\www\qdr\framework\base\CApplication.php(438): CModule->getComponent('
db')
#4 F:\wamp\www\qdr\framework\cli\commands\shell\ModelCommand.php(259): CApplicat
ion->getDb()
#5 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(128): ModelCommand->r
un(Array)
#6 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(99): ShellCommand->ru
nShell()
#7 F:\wamp\www\qdr\framework\console\CConsoleCommandRunner.php(67): ShellCommand
->run(Array)
#8 F:\wamp\www\qdr\framework\console\CConsoleApplication.php(91): CConsoleComman
dRunner->run(Array)
#9 F:\wamp\www\qdr\framework\base\CApplication.php(169): CConsoleApplication->pr
ocessRequest()
#10 F:\wamp\www\qdr\framework\yiic.php(33): CApplication->run()
#11 F:\wamp\www\qdr\framework\yiic(14): require_once('F:\wamp\www\qdr...')
#12 {main}
>> model users
exception 'CDbException' with message 'CDbConnection failed to open the DB conne
ction: SQLSTATE[HY000] [14] unable to open database file' in F:\wamp\www\qdr\fra
mework\db\CDbConnection.php:381
Stack trace:
#0 F:\wamp\www\qdr\framework\db\CDbConnection.php(330): CDbConnection->open()
#1 F:\wamp\www\qdr\framework\db\CDbConnection.php(308): CDbConnection->setActive
(true)
#2 F:\wamp\www\qdr\framework\base\CModule.php(387): CDbConnection->init()
#3 F:\wamp\www\qdr\framework\base\CApplication.php(438): CModule->getComponent('
db')
#4 F:\wamp\www\qdr\framework\cli\commands\shell\ModelCommand.php(259): CApplicat
ion->getDb()
#5 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(128): ModelCommand->r
un(Array)
#6 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(99): ShellCommand->ru
nShell()
#7 F:\wamp\www\qdr\framework\console\CConsoleCommandRunner.php(67): ShellCommand
->run(Array)
#8 F:\wamp\www\qdr\framework\console\CConsoleApplication.php(91): CConsoleComman
dRunner->run(Array)
#9 F:\wamp\www\qdr\framework\base\CApplication.php(169): CConsoleApplication->pr
ocessRequest()
#10 F:\wamp\www\qdr\framework\yiic.php(33): CApplication->run()
#11 F:\wamp\www\qdr\framework\yiic(14): require_once('F:\wamp\www\qdr...')
#12 {main}
>> model users > test.txt
exception 'CDbException' with message 'CDbConnection failed to open the DB conne
ction: SQLSTATE[HY000] [14] unable to open database file' in F:\wamp\www\qdr\fra
mework\db\CDbConnection.php:381
Stack trace:
#0 F:\wamp\www\qdr\framework\db\CDbConnection.php(330): CDbConnection->open()
#1 F:\wamp\www\qdr\framework\db\CDbConnection.php(308): CDbConnection->setActive
(true)
#2 F:\wamp\www\qdr\framework\base\CModule.php(387): CDbConnection->init()
#3 F:\wamp\www\qdr\framework\base\CApplication.php(438): CModule->getComponent('
db')
#4 F:\wamp\www\qdr\framework\cli\commands\shell\ModelCommand.php(259): CApplicat
ion->getDb()
#5 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(128): ModelCommand->r
un(Array)
#6 F:\wamp\www\qdr\framework\cli\commands\ShellCommand.php(99): ShellCommand->ru
nShell()
#7 F:\wamp\www\qdr\framework\console\CConsoleCommandRunner.php(67): ShellCommand
->run(Array)
#8 F:\wamp\www\qdr\framework\console\CConsoleApplication.php(91): CConsoleComman
dRunner->run(Array)
#9 F:\wamp\www\qdr\framework\base\CApplication.php(169): CConsoleApplication->pr
ocessRequest()
#10 F:\wamp\www\qdr\framework\yiic.php(33): CApplication->run()
#11 F:\wamp\www\qdr\framework\yiic(14): require_once('F:\wamp\www\qdr...')
#12 {main}

怎么办,这里有什么问题?

【问题讨论】:

  • 如何连接数据库qdr.sqlite?我在 yii 框架中的 sqlite 中连接数据库时遇到问题
  • 我认为 .sqlite 文件类型有问题,他们使用 .db 来表示 sqlite...!!!!?!?!
  • 你在 php 中安装了 sqlite 模块吗?检查来自phpinfo()
  • 感谢@Ahmmad Ismail 您的解决方案有效

标签: sql model yii


【解决方案1】:

只需在 main.php 中使用 'connectionString'=>'sqlite:f:\wamp\www\qdr\protected\data\testdrive.db' 就可以了 ....ta-da....... ...

【讨论】:

  • 对于任何在 yii2 中发现此问题的人,您仍然可以使用上述方法,但最好使用应用别名来使应用可移植:sqlite:@app/path/database.db
【解决方案2】:

我想通了。问题出在服务器上。我重新安装了它,一切都修复了。

【讨论】:

    【解决方案3】:

    Yii 有两个配置文件。控制台配置与网站配置不同。也许你还没有set the right values in configuration files

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-06
      • 2019-07-23
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多