zoukankan      html  css  js  c++  java
  • 使用 PHP 框架 Yii 访问 MS SQL 的尝试

    今天尝试在 Wamp 环境下访问 MS SQL 数据库,有以下心得。使用 PHP 5.3 + pdo_odbc + Yii 1.1 框架,以下两个代码段可以成功。

    1、直接使用 PDO 方式,可以获取数据。

    1 $sql = "SELECT TOP 10 [NAME],[STCD],[TM],[PA] FROM AT_PA";
    2 $cnx = new PDO("odbc:Driver={SQL Server};Server=10.5.1.47;Database=mydb;",'username','pass');
    3 var_dump($cnx);
    4 $rs = $cnx->query($sql);
    5 var_dump($rs);
    6 foreach ($rs as $b) {
    7 var_dump($b);
    8 }

    2、如果在配置文件中对 db 属性进行配置,可以使用 CDbCommand 类查询数据。

    //配置代码
    return array('components' => array(
        'db' => 
        array (
          'driverName'=>'mssql',
          'connectionString' => 'odbc:Driver={SQL Server};Server=127.0.0.1;Database=mydatabase;',
          'username' => 'username',
          'password' => 'pass',
        ),
    ));
    
    //查询代码
    $sql = "SELECT TOP 10 [NAME],[STCD],[TM],[PA] FROM AT_PA";
    $rs = Yii::app()->db->createCommand($sql)->queryAll();
    var_dump($rs);
    foreach ($rs as $b) {
      var_dump($b);
    }
    

    3、最激动人心的一步,使用 CActiveRecord,失败了。

    如果查询所有表的名称,

    $rs = Yii::app()->dbHuaiWater->schema->tableNames;

    可以得到所有的数据表的名称。但是 Gii 无法自动生成模型,总是提示指定的表不存在。即使人工编辑模型子类也无法执行数据查询。

  • 相关阅读:
    Tomcat基于MSM+Memcached实现Session共享
    Zabbix简介及安装
    redis简介
    Ansible详解(二)
    Ansible详解(一)
    WAMP3.1.10/Apache 设置站点根目录
    最长回文子串--轻松理解Manacher算法
    一篇文章彻底了解Java垃圾收集(GC)机制
    java内存模型详解
    Java中23种设计模式--超快速入门及举例代码
  • 原文地址:https://www.cnblogs.com/icepeach/p/4676686.html
Copyright © 2011-2022 走看看