Php Yii中没有ODBC数据库架构?

Php Yii中没有ODBC数据库架构?,php,sql-server,yii,odbc,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." 但是

我正在查看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数据库。

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

我还使用了另一种解决方法,即在windows server机器上安装yii堆栈,只需使用Microsoft的MSSQL Php驱动程序,我最后一次看到它。之后你可以使用

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

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

我还使用了另一种解决方法,即在windows server机器上安装yii堆栈,只需使用Microsoft的MSSQL Php驱动程序,我最后一次看到它。之后你可以使用

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

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

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

我在Linux环境中运行PHP,所以除非我遗漏了什么,否则我无法使用它。是的,我认为你可以通过这种方式找到解决方法:p,我不推荐dblib。。。因为我对活动记录的奇怪结果有问题。另一个想法是放弃yii中的模型,直接进行查询:p发布的“围绕您的工作”也在使用dbLib。如果您计划使用连接字符串,那么您现在使用的方法也适用于dblib。。没有提供对ODBC的支持,但您仍然可以在windows环境中使用它。我在Linux环境中运行PHP,所以我不能使用它,除非我遗漏了什么。是的,我认为您可以通过这种方式解决问题:p,我不推荐dblib。。。因为我对活动记录的奇怪结果有问题。另一个想法是放弃yii中的模型,直接进行查询:p发布的“围绕您的工作”也在使用dbLib。如果您计划使用连接字符串,那么您现在使用的方法也适用于dblib。。没有提供对ODBC的支持,但您仍然可以按照当前在windows环境中使用的方式使用它。