用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5764|回复: 6
收起左侧

ci支持access数据库吗?

[复制链接]
发表于 2008-5-14 08:41:59 | 显示全部楼层 |阅读模式
ci支持access数据库吗?
$dsn="   Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxx.mdb;  Persist Security Info=False";
象这种的

[ 本帖最后由 yakczh 于 2008-5-14 08:44 编辑 ]
发表于 2008-5-14 08:56:59 | 显示全部楼层
不直接支持,需要 ODBC。
发表于 2008-5-14 10:35:28 | 显示全部楼层
我折腾了一下
大体上可以用
楼主需要跟我联系
本人网站就是ci+access
图便宜买不起支持mysql的
发表于 2008-5-21 09:10:47 | 显示全部楼层
基本上我是全部copy database/drivers下的odbc到access
但稍微做了一点改变access_driver.php中
配置了链接,不过是hard code进去的
晚上回家把整个database文件传上来,需要的对比下源码,具体改了啥忘记了
反正当时debug了整整两天才搞定
PHP复制代码
 
class CI_DB_access_driver extends CI_DB {
 
        /**
         * The syntax to count rows is slightly different across different
         * database engines, so this string appears in each driver and is
         * used for the count_all() and count_all_results() functions.
         */

        var $_count_string = "SELECT COUNT(*) AS ";
        var $_random_keyword;
       
        var $_insert_id;
 
 
        function CI_DB_access_driver()
        {
                //FIXME 不知道access随机数
                $this->_random_keyword = ' RND('.time().')'; // database specific random keyword
        }
 
        /**
         * Non-persistent database connection
         *
         * @access        private called by the base class
         * @return        resource
         */
       
        function db_connect()
        {
                $mdbPath = "php.mdb";
                $dao = new COM("ADODB.Connection");
                $dsn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".realpath($mdbPath);
                $dao->open($dsn);
                #echo "<br >------ accesssaccessaccess dao created -----<br>";
               #$rs = new COM("ADODB.RecordSet");
               #$rs->Open("select * from name",$dao,1,1);
               #while(! $rs->eof) {
               #$f = $rs->Fields("name");  
               #$f = $rs->Fields(0);  
               #echo $f->value.'<br>';    
               #$rs->MoveNext();
               #}
               #echo $dao;
               return $dao;
                #return @access_connect($this->hostname, $this->username, $this->password);
       }
       
        // --------------------------------------------------------------------
 
        /**
         * Persistent database connection
         *
         * @access        private called by the base class
         * @return        resource
         */
       
        function db_pconnect()
        {
                return db_connect();
                #return @access_pconnect($this->hostname, $this->username, $this->password);
       }
//omit....
}
 
复制代码

评分

参与人数 1威望 +5 收起 理由
Hex + 5 原创内容

查看全部评分

发表于 2008-5-21 19:54:44 | 显示全部楼层

access dirver for ci

改了一些代码,很多都是hard code进去的

database.zip

33.41 KB, 下载次数: 65

发表于 2008-5-22 07:41:31 | 显示全部楼层
好,支持,最好也能出个Kohana的,我需要。
发表于 2008-9-19 10:51:59 | 显示全部楼层
小试了一下,不支持查询的 ,没有返回结果。楼主搞定之后再回一声。

本版积分规则