【问题标题】:No ODBC database schema in Yii?Yii 中没有 ODBC 数据库模式?
【发布时间】:2011-06-08 04:32:51
【问题描述】:

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

【问题讨论】:

    标签: php sql-server yii odbc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我用过easysoft的非开源驱动,效果不错。

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

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

      【讨论】:

      • 我在 Linux 环境中运行 PHP,所以除非我遗漏了什么,否则我无法使用它。
      • 是的,我认为您可以通过这种方式找到一种解决方法:p 我不推荐 dblib... 因为我遇到了来自活动记录的奇怪结果的问题。另一个想法是放弃 yii 的模型,直接查询:p
      • 您发布的工作也适用于 dbLib。如果您计划使用连接字符串,那么您现在使用的方式也可以使用 dblib.. 不提供支持 ODBC,但您仍然可以在 Windows 环境中以您现在使用的方式使用它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多