3

在 console.php 和 main.php 的 config 文件夹中

我在用:

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

sqlite db 在数据文件夹中。

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

使用命令 yiic shell model users

它显示错误:

>> 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}

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

4

3 回答 3

2

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

于 2013-04-11T09:49:13.077 回答
1

我想到了。问题出在服务器上。我在所有固定的地方重新安装了它。

于 2013-04-11T11:23:01.617 回答
0

Yii 有两个配置文件。控制台配置与网站配置不同。也许您还没有在配置文件中设置正确的值

于 2013-04-11T17:13:34.663 回答