Yii中没有ODBC数据库架构?

时间:2011-01-12 23:15:08

标签: php sql-server yii odbc

我正在查看Yii 1.1.5的源文件,但我没有看到ODBC的数据库架构。当我在配置文件中使用此连接字符串时:

'db'=>array(
  'connectionString' => 'odbc:rhinestone',
  'username' => 'user',
  'password' => 'pass',
),

我收到此错误:

"CDbConnection does not support reading schema for ODBC database."

但是,我可以在常规php中使用该连接字符串并连接正常:

$dbh= new PDO('odbc:rhinestone', 'user', 'pass');

所以我知道这不是我的驱动程序或PHP的问题。

为什么Yii不支持ODBC?这会改变吗?我正在尝试从Linux服务器连接到MSSQL,似乎pdo mssql和dblib驱动程序是实验性的或已弃用。

有没有人对如何做到这一点有任何建议?

更新:到目前为止,我收到了许多建议,都假设我在Windows上运行PHP。不是这种情况。我在Linux上运行它,我必须连接到一个项目的SQL Server数据库。

2 个答案:

答案 0 :(得分:1)

这个问题的答案是,在撰写本文时,Yii没有pdo_odbc的架构。据我所知,他们没有计划写一个。如果有人听到,请告诉我。

答案 1 :(得分:0)

我使用过easysoft的非开源驱动程序,它工作正常。

我还使用了另一种解决方法,即在Windows服务器计算机上安装yii堆栈,并且只使用Microsoft的MSSQL Php驱动程序,我上次看到它here。之后你可以使用

'db'=>array(
    'connectionString' => 'sqlsrv:server=(local)\SQLEXPRESS ; Database=mydb',
)